2017-03-01 146 views
2

我正在开发Android应用程序,并且使用ffmpeg来转换文件。
我希望我的二进制文件尽可能的苗条,因为我没有很多输入格式和输出格式,而且我的操作非常基础。当然,不要臃肿APK。FFmpeg - 我需要什么muxer来保存AAC音频流

在我的程序ffmpeg收到一个文件,并复制音频流(-acodec copy),音频流将始终是aac(mp4a)。我需要的是将流保存到文件。
我的命令如下所示:ffmpeg -i {Input} -vn -acodec copy output.aac

我需要什么muxer muxing aac文件?我已经尝试flv,mp3,mov,但我总是得到
Unable to find a suitable output format for 'output.aac',所以这些选项是错误的。
我不需要流拷贝btw的编码器。

注意:这个命令在完全安装ffmpeg时完美地工作,但我不知道它使用哪个muxer。如果有一种方法输出它在常规ffmpeg运行中使用的复用器,它也可以工作。

+2

这很奇怪。 .aac只是带有adts头的原始aac帧。 Ffmpeg应该能够处理它。尝试-f raw或-r adts。 – szatmary

+4

你需要adts muxer:'-f adts' – Mulvya

+1

工作,请添加一个答案,我会接受它。 –

回答

0

AAC的常见文件格式是BMFF/MOV/MP4/M4A。如果您指定m4a文件扩展名,则FFmpeg将为您处理它。

ffmpeg -i {input} -vn -acodec copy output.m4a 

如果你只是想生AAC,您可以使用ADTS作为排序的一个轻量级的容器,如Mulvya建议。

ffmpeg -i {input} -vn -acodec copy -f adts output.aac