I'm not entirely sure I know what the issue is or where to begin troubleshooting. On my CentOS 7 box I have 4.0.1-static https://johnvansickle.com/ffmpeg/ installed and I'm trying to transcode MKV files to MP4 so I can use Bento4 to fragment and Dash/HLS the files for playback. For some reason when I transcode an MKV file it will not play back via Dash JS, but transcoding MP4 files I have no issue. What's weird is when I convert a working MP4 to MKV it works.
I wasn't confident FFMPEG was the issue, so to single it out, I have another box which has Ubuntu installed with FFMPEG 3.4 and I can transcode MKV with no issues. So I used my same FFMPEG command to transcode the MKV to MP4 and use Bento4 and it worked just fine. So it seems like there is an issue with transcoding MKV to MP4 with version 4... but not sure. I have tried several different MKV's and everyone gives the issue.
Here is my FFMPEG info:
ffmpeg version 4.0.1-static https://johnvansickle.com/ffmpeg/
Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration:
--enable-gpl
--enable-version3
--enable-static
--disable-debug
--disable-ffplay
--disable-indev=sndio
--disable-outdev=sndio
--cc=gcc-6
--enable-fontconfig
--enable-frei0r
--enable-gnutls
--enable-gray
--enable-libaom
--enable-libfribidi
--enable-libass
--enable-libvmaf
--enable-libfreetype
--enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb
--enable-libopenjpeg
--enable-librubberband
--enable-libsoxr
--enable-libspeex
--enable-libvorbis
--enable-libopus
--enable-libtheora
--enable-libvidstab
--enable-libvo-amrwbenc
--enable-libvpx
--enable-libwebp
--enable-libx264
--enable-libx265
--enable-libxml2
--enable-libxvid
--enable-libzimg
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Some of the things I've tried is went to the FFMPEG Wiki and installed a different version via the installation guide, and got the same result. When I load the output file directly and not through the Dash Player, everything works, but that not the desired result I'm looking for.
If it helps, here is the error I get in the browser:
ERROR DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
Any ideas on what could cause this? If I'm not providing the correct info, lease let me know and I'll provide more.
EDIT
I removed FFMPEG 4 and installed the latest in RPM ffmpeg version 2.6.8 and everything works fine. I would like to use the latest and greatest, but I guess I'll have to wait.
FFMPEG COMMAND
ffmpeg
-i ${DIRECTORY}/temp/master.mkv
-progress ${DIRECTORY}/logs/transcode.log
-s 320x240
-c:v libx264
-b:v 235k
-minrate 235k
-maxrate 235k
-bufsize 470k
-g 120
-keyint_min 120
-sc_threshold 0
-profile:v high
-flags +cgop
-movflags faststart
-preset veryfast
-pix_fmt yuv420p
${DIRECTORY}/temp/ffmpeg_320_240_235.mp4 &> ${DIRECTORY}/logs/ffmpeg.log
Bento4 Fragment Command
${BENTO4}/mp4fragment
${DIRECTORY}/temp/ffmpeg_320_240_235.mp4
${DIRECTORY}/temp/fragment.mp4 &> ${DIRECTORY}/logs/fragment.log
Bento4 Dashing
${BENTO4}/mp4dash
--verbose
--debug
-o ${DIRECTORY} -f
--mpd-name=episode.mpd
--profiles=on-demand
--rename-media
--media-prefix=media
--exec-dir=${BENTO4}
--hls
--hls-master-playlist-name=episode.m3u8
${DIRECTORY}/temp/fragment.mp4 &> ${DIRECTORY}/segment.log