2010年5月5日 星期三

AAC in QuickTime 7.6.6 error 2041 2048

!從7.6.5 換成 7.6.6之後
好像之前用 mp4muxer mux 的聲音+影像檔無法撥放
出現 error 2041: an invalid sample description was found in the movie

目前還不清楚哪裡出錯
試過各種mux參數還是無法成功

下面這個網站說要用
-aac-profile=4
http://bahut.alma.ch/2010/02/quicktime-error-2041-invalid-sample.html

還在試驗中
(VLC撥放ok)

libfaac
在libfaac 的 gui 版本中 只能選擇 Low Complexity 其它的被mark 掉了
但是實際上又沒設好這個值 所以 config->aacObjectType 為0

/* AAC object types */

#define MAIN 1
#define LOW 2
#define SSR 3
#define LTP 4
 
if (config->aacObjectType == SSR) /* Set to LTP */

config->aacObjectType = LTP;
 
(解決了,把 config->aacObjectType = LOW 然後再mux,ok)

後來又遇到開檔錯誤 2048, 無法分辨其格式
經過實驗後 發現 libfaac MPEG version 要用 MPEG2 才能播 MPEG4 不行

最後結論

QuickTime 似乎
1.  只支援 AAC LC.
2. AAC 播放的話 只能播放 MPEG-2 Profile 的 AAC
3. 要Mux 成MP4的話,要使用 MPEG-4 的AAC 及勾選 MPEG-4 Profile。

1 則留言:

psychesnet 提到...

這位大大您好,我目前也在進行AAC聲音的部份,是有遇到和您相同的問題,但是我使用的AAC lib是vo-aacenc,用我所找到的資料,目前能知道的是Quicktime只能吃AAC LC,但是看起來vo-aacenc沒有相關的設定可以使用,想請問的是,因為我是用使用libffmpeg來產生mp4檔案(H264 or MPEG4+AAC),是否在ffmpeg中可以設定相關的資訊,來解決相關的問題,麻煩您了,謝謝....