Подтвердить что ты не робот

Ffmpeg: какие форматы файлов поддерживают использование stdin?

Я знаю, что ffmpeg может читать данные из stdin, а не читать с диска с помощью ffmpeg -i -. Поддерживается ли это для всех форматов файлов? Если это не так, есть ли список поддерживаемых форматов файлов?

4b9b3361

Ответ 1

Вам нужно запустить ffmpeg -protocols, чтобы определить, поддерживается ли протокол pipe (чтение и запись из stdin и stdout) в вашей версии ffmpeg, а затем ffmpeg -formats, чтобы просмотреть список поддерживаемых форматов. В выдержке ниже вы увидите примечание о выходной трубке, которое должно быть доступно для некоторых протоколов. Для входных протоколов он не имеет такого ограничения.

От man ffmpeg-protocols:

ПРОТОКОЛЫ

Протоколы - это настроенные элементы в FFmpeg, которые позволяют получить доступ ресурсы, требующие использования определенного протокола.

Когда вы настраиваете сборку FFmpeg, все поддерживаемые протоколы включен по умолчанию. Вы можете перечислить все доступные с помощью configure --list-protocols.

Вы можете отключить все протоколы, используя опцию configure --disable-protocols и выборочно включить протокол, используя вариант --enable-protocol=PROTOCOL, или вы можете отключить конкретную протокол, используя опцию --disable-protocol=PROTOCOL.

Опция -protocols инструментов ff * отобразит список поддерживаемых протоколов.

Ниже приводится описание доступных в настоящее время протоколов.... труба
Протокол доступа к протоколу UNIX.

Разрешить чтение и запись из труб UNIX.

Принятый синтаксис:

       pipe:[<number>]

number - номер, соответствующий файловому дескриптору (например, 0 для stdin, 1 для stdout, 2 для stderr). Если номер не указанный, по умолчанию дескриптор файла stdout будет использоваться для запись, stdin для чтения.

Обратите внимание, что некоторые форматы (обычно MOV) требуют протокола вывода чтобы их можно было искать, поэтому они будут терпеть неудачу с протоколом вывода трубы.