2010-09-14 2 views
3

Чтобы понять суть этой проблемы, почему первая команда работает, а вторая - нет. Они производят файлы немного разного размера с различным содержанием:Can not Stream Ogg Из ffmpeg Через stdout

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 для программы, которую я пишу, и я пытаюсь передать stdout из ffmpeg в мою программу. Помещение результатов в файл-посредник будет убивать производительность, поскольку транскодирование должно выполняться по требованию.

ответ

4

OGG может потребоваться для поиска. От 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), требуют выходной протокол, который будет доступен для поиска, поэтому они будут терпеть неудачу с протоколом вывода трубы.

 Смежные вопросы

  • Нет связанных вопросов^_^