我在转码和MKV文件时使用Dash JS收到以下浏览器错误(在所有浏览器上):
ERROR DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
和...
dash.all.min.js:26 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
奇怪的是,当我转码MP4文件时,我没有任何问题。我正在使用FFMPEG与Bento4一起为我的视频播放器构建MPEG DASH和HLS文件。
我所做的单挑FFMPEG是为了在我的本地机器上运行我的测试服务器上的错误转码(可行)并在该文件上启动Bento4进程。这样做,我没有任何问题,一切都很好。
我删除了FFMPEG并重新安装了多次,我总是得到相同的结果。我确定我在服务器上搞砸了一些东西,但对于我的生活,我似乎无法弄清楚从哪里开始解决这个问题。
FFMPEG版本
ffmpeg version N-91321-ge85c608 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
configuration:
--prefix=/root/ffmpeg_build
--pkg-config-flags=--static
--extra-cflags=-I/root/ffmpeg_build/include
--extra-ldflags=-L/root/ffmpeg_build/lib
--extra-libs=-lpthread
--extra-libs=-lm
--bindir=/root/bin
--enable-gpl
--enable-libfdk_aac
--enable-libfreetype
--enable-libmp3lame
--enable-libopus
--enable-libvorbis
--enable-libtheora
--enable-libx264
--enable-nonfree
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 20.102 / 58. 20.102
libavformat 58. 17.100 / 58. 17.100
libavdevice 58. 4.101 / 58. 4.101
libavfilter 7. 25.100 / 7. 25.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
FFMPEG命令
ffmpeg
-i ${DIRECTORY}/${INPUT_FILE}
-progress ${DIRECTORY}/transcode.log
-s 1920x1080
-c:v libx264
-b:v 3000k
-c:a aac
-b:a 32k
-minrate 3000k
-maxrate 3000k
-bufsize 6000k
-g 96
-keyint_min 96
-sc_threshold 0
-profile:v high
-flags +cgop
-movflags faststart
-preset ultrafast
-pix_fmt yuv420p
${DIRECTORY}/ffmpeg_1920_1080_3000.mp4 &> ${DIRECTORY}/ffmpeg.log
另外,我没有错误,如果我直接访问输出文件,它们就可以正常播放。
我确定我没有提供解决此问题所需的所有信息,因此,如果有更好的信息,请告诉我。
什么会导致FFMPEG转码MP4而不是MKV?
修改 最后一件事,我将MKV转换为MP4,然后使用上面的命令,它工作。就像MP4到MP4一样好,但MKV到MP4都破了。