ffmpeg音频复制失败与管道

时间:2012-08-29 05:14:08

标签: audio ffmpeg pipe

在命令行中,如果我运行:

ffmpeg -i inputVideo.mp4 -vn -f mp4 -acodec copy outputAudio.aac

一切都很好。 但是,如果我做同样的事情,除了标准输出而不是输出文件(“管道:1”而不是“outputAudio.aac”),然后我得到这个错误: “无法为输出文件#0写入标头(编解码器参数不正确?)”

非常感谢任何有ffmpeg经验的人的帮助

由于

1 个答案:

答案 0 :(得分:1)

问题是你要的是一个文件名为outputAudio.aac的mp4文件。因此,如果你检查outputAudio.aac它实际上是一个mp4文件。要编写mp4文件,ffmpeg将需要一个可搜索的文件描述符,stdout不是。 [这是因为mp4 moov atom写在文件开头的末尾。
  如果你想将aac转储到stdout,你应该要求一个adts文件

ffmpeg -i input.mp4 -acodec copy -vn -f adts -strict -2 -

如果你需要它在mp4 .. mux它之后进入文件

mp4不是一种流媒体格式:请参阅此处Fix 3GP file after streaming from Android Media Recorder,了解我对其他问题的回答。