Can';从ffmpeg到stdout的t流Ogg

Can';从ffmpeg到stdout的t流Ogg,ffmpeg,transcoding,vorbis,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将正常播放,没有问题。T.B.OGG在源音频的中间开始,在音频中有停顿和间隙。它也不报告轨迹的长度 我想为我正在编写的程序将源文件转换成o

要了解问题的关键,为什么第一个命令有效,而第二个命令无效。它们生成的文件大小略有不同,内容也有所不同:

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将正常播放,没有问题。T.B.OGG在源音频的中间开始,在音频中有停顿和间隙。它也不报告轨迹的长度


我想为我正在编写的程序将源文件转换成ogg,并尝试将ffmpeg中的标准输出通过管道传输到我的程序中。将结果放入中间文件将降低性能,因为转码应该按需进行。

OGG可能需要可查找。发件人:

对于使用ffmpeg写入标准输出:

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

ffmpeg -i test.wav -f avi pipe: | cat > test.avi
请注意,某些格式(通常为MOV)要求输出协议是可查找的,因此它们将因管道输出协议而失败