无法通过stdout从ffmpeg流式传输Ogg

时间:2010-09-14 21:43:27

标签: ffmpeg transcoding vorbis

为了得到它的关键,为什么第一个命令工作,但第二个命令不工作。它们生成具有不同内容的略有不同大小的文件:

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传输到我的程序中。将结果放入中间文件会导致性能下降,因为转码应该按需发生。

1 个答案:

答案 0 :(得分:4)

OGG可能需要寻求帮助。来自ffmpeg docs

使用ffmpeg写入stdout:

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

......这与......相同。

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

请注意,某些格式(通常是MOV)要求输出协议是可搜索的,因此它们将使用管道输出协议失败。