3

Предположим, у меня есть пятнадцать байтов, которые по сути идут от карты захвата. По сути, это НЕ ФАЙЛ НА ДИСКЕ.

Данные в этом fifo являются многопрограммным MPEG-TS. Существует три программы, каждая из которых содержит видеопоток и один или несколько аудиопотоков.

Когда я запускаю FFmpeg по трубопроводу в fifo, он отображает программы и потоки внутри него. Однако иногда Программа 1 содержит потоки 0:1 и 0:3, а иногда она может содержать 0:4 и 0:2. Несмотря на то, что PID всегда остаются одинаковыми, FFmpeg имеет тенденцию давать им случайную нумерацию.

Мой вопрос: есть ли способ выбрать соответствующие потоки - я в порядке с выбором по PID - с помощью FFmpeg? (Я использую CLI, кстати)

Имейте в виду, что опция map в FFmpeg не будет работать, потому что номера потоков "рандомизируются" каждый раз, когда я запускаю команду ffmpeg.

1 ответ1

5

Скажем, вы снимаете, используя v4l2 из /dev /video0, тогда вы можете отобразить, используя идентификатор программы, например:

ffmpeg -i /dev/video0 -acodec copy -vcodec copy -map 0:p:keep_pid -map -0:p:first_remove_pid -map -0:p:second_remove_pid output.m2ts

Оформить заказ: http://ffmpeg.org/ffmpeg.html#Stream-specifiers-1 и http://ffmpeg.org/ffmpeg.html#Advanced-options

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .