Я пытаюсь чередовать сегменты MPEG-TS, но не удается. Один набор сегментов был фактически захвачен встроенной камерой ноутбука, а затем закодирован с помощью FFMPEG с помощью следующей команды:
ffmpeg -er 4 -y -f video4linux2 -s 640x480 -r 30 -i %s -isync -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -fflags +genpts -b 386k -coder 0 -me_range 16 -keyint_min 25 -i_qfactor 0.71 -bt 386k -maxrate 386k -bufsize 386k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -aspect 640:480
А другой - это avi-файл, который был закодирован с помощью следующей команды:
fmpeg -er 4 -y -f avi -s 640x480 -r 30 -i ./DSCF2021.AVI -vbsf dump_extra -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -fflags +genpts -b 386k -coder 0 -me_range 16 -keyint_min 25 -i_qfactor 0.71 -bt 386k -maxrate 386k -bufsize 386k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -aspect 640:480
Затем выходные данные сегментируются на сегменты ts с использованием сегментатора с открытым исходным кодом.
Если оба исходят из одного источника (оба из камеры), они работают нормально. Однако в этом случае второй набор сегментов зависает. Время идет, но видео не двигается ..
Так что я думаю, что это проблема кодирования. Поэтому мой вопрос: как мне изменить команду ffmpeg, чтобы это работало?
Под чередованием я подразумеваю наличие списка воспроизведения с первым набором сегментов и другого списка воспроизведения с другим набором сегментов и наличие вызова клиентом одного, а затем другого (HTTP Live Streaming)
Вывод ffprobe одного из первого набора сегментов:
Input #0, mpegts, from 'live1.ts':
Duration: 00:00:09.76, start: 1.400000, bitrate: 281 kb/s
Program 1 Service01
Metadata:
name : Service01
provider_name : FFmpeg
Stream #0.0[0x100]: Video: h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 29.92 fps, 29.92 tbr, 90k tbn, 59.83 tbc
Stream #0.1[0x101]: Audio: aac, 48000 Hz, stereo, s16, 111 kb/s
Вывод ffprobe одного из второго набора сегментов:
Input #0, mpegts, from 'ad1.ts':
Duration: 00:00:09.64, start: 1.400000, bitrate: 578 kb/s
Program 1 Service01
Metadata:
name : Service01
provider_name : FFmpeg
Stream #0.0[0x100]: Video: h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x101]: Audio: aac, 48000 Hz, stereo, s16, 22 kb/s
Спасибо,