我想轉換一個MP3音頻文件與FFMPEG AAC文件,並且我需要將音頻包裹在MPEG-2容器中。 所得AAC文件需要AAC-LC(低複雜性),1通道,CBR模式,44100採樣率,和48KB/s的比特率,所以使用此命令:轉換MP3到AAC與MPEG-2容器(FFMPEG)
ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -acodec libfdk_aac -ac 1 output.aac
但是,當我檢查ADTS標題,音頻文件總是被封裝在MPEG-4容器中。我已經嘗試了這裏列出的所有編解碼器,但我仍然以一個纏繞音頻的mpeg-4容器結束:http://trac.ffmpeg.org/wiki/AACEncodingGuide。
下面是檢查AAC輸出文件時,我得到了標題:
mpeg_type: 'MPEG4', 簡介:2, PROFILE_NAME: 'AAC LC', sample_freq:44100, channel_config:1, 渠道:1, 幀_:139, buffer_fullness:157, number_of_frames:1, frames_per_sec:43.06640625
任何想法,爲什麼ffmpeg的環繞音頻MP4容器?我能以某種方式解決這個問題嗎?除了FFMPEG之外,還有其他編碼器可以試試嗎?我給了FAAC編碼器一個鏡頭,它給了我適當的編碼和ADTS頭,但是它不支持MP3,只支持WAV。
你能解釋一下在ADTS頭第二個值指的是?查看ADTS標題的描述: http://wiki.multimedia.cx/index.php?title=ADTS 什麼是MPEG版本?我需要我的頭文件有MPEG-2版本,而且我實際上可以通過閱讀這裏的建議來達到此目的: http://stackoverflow.com/questions/15133393/ffmpegs-aac-libfaac-codec-options 我不得不下載ffmpeg源代碼並編輯libfaac.c文件以將默認配置從MPEG4更改爲MPEG2。然後在使用與之前相同的選項的libfaac編解碼器後工作。 – jsurf
至於mpeg2流,我需要一個傳輸流,因爲我將使用這個音頻直播,這似乎是更好的選擇。 – jsurf
將您的輸出文件名設置爲output.ts,並將ADTS值保持爲mpeg4。這將在MPEG2傳輸流中放入MPEG4基本流。 – szatmary