Я не совсем уверен, что знаю, в чем проблема или с чего начать устранение неполадок. На моем CentOS 7 я установил 4.0.1-static https://johnvansickle.com/ffmpeg/ и я пытаюсь перекодировать MKV-файлы в MP4, чтобы я мог использовать Bento4 для фрагментации и Dash/HLS-файлы для воспроизведения. По какой-то причине, когда я перекодирую файл MKV, он не будет воспроизводиться через Dash JS, но у меня нет проблем с перекодировкой файлов MP4. Что странно, когда я конвертирую работающий MP4 в MKV, это работает.

Я не был уверен, что проблема в FFMPEG, поэтому, чтобы выделить его, у меня есть еще одна коробка, на которой установлена Ubuntu с FFMPEG 3.4, и я могу без проблем перекодировать MKV. Поэтому я использовал ту же команду FFMPEG, чтобы перекодировать MKV в MP4 и использовать Bento4, и она работала просто отлично. Таким образом, кажется, что есть проблема с перекодировкой MKV в MP4 с версией 4 ... но не уверен. Я пробовал несколько разных MKV, и каждый дает вопрос.

Вот моя информация FFMPEG:

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}...

Некоторые из вещей, которые я попробовал, пошли в FFMPEG Wiki и установили другую версию через руководство по установке, и получили тот же результат. Когда я загружаю выходной файл напрямую, а не через Dash Player, все работает, но это не тот результат, который я ищу.

Если это поможет, вот ошибка, которую я получаю в браузере:

ERROR DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.

Любые идеи о том, что может вызвать это? Если я не предоставляю правильную информацию, арендуйте, дайте мне знать, и я предоставлю больше.

РЕДАКТИРОВАТЬ

Я удалил FFMPEG 4 и установил последнюю версию RPM ffmpeg version 2.6.8 и все работает нормально. Я хотел бы использовать последние и лучшие, но я думаю, мне придется подождать.

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

${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

0