2017-03-01 147 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