Невозможно передать Ogg из ffmpeg через стандартный вывод - PullRequest
3 голосов
/ 15 сентября 2010

Чтобы понять суть, почему первая команда работает, а вторая - нет. Они создают файлы разного размера с различным содержанием:

ffmpeg -i test.wav -f ogg -acodec libvorbis test.a.ogg

ffmpeg -i test.wav -f ogg -acodec libvorbis - > test.b.ogg

test.a.ogg будет играть правильно и не будет проблем. test.b.ogg начинается в середине исходного аудио и имеет остановки и пропуски в аудио. Также не указывается длина трека.

Я хочу на лету перекодировать исходные файлы в ogg для программы, которую я пишу, и пытаюсь передать стандартный вывод из ffmpeg в мою программу. Помещение результатов в промежуточный файл снижает производительность, поскольку перекодировка должна выполняться по требованию.

1 Ответ

4 голосов
/ 16 января 2012

OGG может потребоваться для поиска.From ffmpeg docs :

Для записи на стандартный вывод с помощью ffmpeg:

ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi

... это то же самое, что и ...

ffmpeg -i test.wav -f avi pipe: | cat > test.avi

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

...