我正在开发Android应用程序,并且IM使用FFMPEG进行文件转换。
我希望我的二进制文件尽可能苗条,因为我没有很多输入格式和输出格式,而且我的操作是基本的。当然不要膨胀apk。
在我的程序中,ffmpeg接收一个文件,并编写音频流(-acodec copy
),音频流将始终为AAC(mp4a
)。我需要的是保存流到文件。
我的命令看起来像这样: ffmpeg -i {Input} -vn -acodec copy output.aac
。
我需要什么muxer才能提交AAC?我尝试过flv,mp3,mov
,但我总是得到
Unable to find a suitable output format for 'output.aac'
,所以这些选项是错误的。
我不需要copy copy btw的编码器。
旁注:此命令在FFMPEG的完整安装上完美地工作,但我不知道它使用了哪个Muxer。如果有一种方法可以输出其从常规FFMPEG运行中使用的Muxer,则它也可以使用。
AAC的常见文件格式是BMFF/MOV/MP4/M4A。如果您指定m4a
文件扩展名,则FFMPEG将为您处理。
ffmpeg -i {input} -vn -acodec copy output.m4a
如果您只想要RAW AAC,则可以将ADT用作Mulvya建议的轻巧容器。
。ffmpeg -i {input} -vn -acodec copy -f adts output.aac
我必须添加-f供我工作(在FFMPEG 3.22上):ffmpeg -i {input} -VN -Acodec副本-f adts output.m4a
配置FFMPEG时,必须将adts
添加到--enable-muxer
,例如。./configure --disable-everything (...) --enable-muxer=adts
。那么您将能够保存到.aac
文件