У меня есть 3 видеофайла со следующей информацией:
Input #0, mpegts, from '01.ts':
Duration: 00:00:06.08, start: 0.000000, bitrate: 931 kb/s
Program 1
Stream #0:0[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 65 kb/s
Stream #0:1[0x102]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 852x480 [SAR 640:639 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Input #0, mpegts, from '02.ts':
Duration: 00:00:06.06, start: 6.016000, bitrate: 872 kb/s
Stream #0:0[0x102]: Video: h264 (High), yuv420p(progressive), 852x480 [SAR 640:639 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC), 48000 Hz, stereo, fltp, 66 kb/s
Input #0, mpegts, from '03.ts':
Duration: 00:00:06.07, start: 12.010667, bitrate: 822 kb/s
Stream #0:0[0x102]: Video: h264 (High), yuv420p(progressive), 852x480 [SAR 640:639 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC), 48000 Hz, stereo, fltp, 69 kb/s
Большинство из них одинаковы, но каким-то образом 01.ts имеет другой порядок потоков с двумя другими.У меня вопрос, как их согласовать?Я попытался поместить их в текстовый файл и конкатать:
-f concat -safe 0 -i video_file.txt -c copy -bsf:a aac_adtstoasc output.mp4
Но это не работает.Сообщение об ошибке:
Error parsing ADTS frame header!
Error applying bitstream filters to an output packet for stream #0:1.
А что если у меня есть сотни видеофайлов, которые могут иметь порядок различных потоков, как этот?
EDIT
ответ aergistal правильный, но у меня есть другая проблема: в другой коллекции видео идентификаторы потоков отличаются, как показано ниже:
Input #0, mpegts, from 'another1.ts':
Duration: 00:00:08.04, start: 17.401333, bitrate: 284 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p(progressive), 352x288 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 124 kb/s
Input #0, mpegts, from 'another2.ts':
Duration: 00:00:08.04, start: 33.401333, bitrate: 300 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p(progressive), 352x288 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 145 kb/s
Есть ли способ установить exact_stream_id
автоматически вместо проверки каждый раз?