基于AU 1 200的TS流處理設計
(3)Audio-Decoder模塊
在MAI開始鏈接各模塊時已確定了音視頻的解碼格式,因此音視頻的解碼模塊在鏈接時已確定下來。此時的音頻解碼Audio-Decoder模塊就是處理音頻解碼的模塊,依據不同的數字電視格式,該音頻解碼格式可能是mp3或ac3等。音頻解碼后,音頻數據送往Audio-Render模塊驅動硬件發出聲音。
(4)Video-Decoder模塊
視頻解碼Video-Decoder模塊也是進行確定編碼格式的解碼工作。對于MPEG2的編碼格式,Video-Decoder將數據交給MAE的前端處理,由MAE送到顯示屏上顯示。對于其他不能使用MAE前端進行處理的視頻格式(如H264等),必須由軟件進行解碼,形成YUV數據,然后將YUV數據輸入到MAE的后端處理。
3.3 數字電視播放效果
需要對搭建起的數字電視播放系統進行測試。通過測試,數字電視設備接口的數據緩沖區需要設置為256KB,如果存儲容量允許采用512 KB到1 MB更好。在數字電視模塊采用USB接口進行播放時,播放流暢,音視頻同步,數字電視的實際播放達到了預期的效果。
3.4 增加對其他媒體格式的支持
對于其他常見的媒體文件格式,如flv和rmvb等,也可以通過增加該格式的 Demux和Decoder實現播放。由于視頻Decoder解碼后得到的是YUV數據,因此直接將該數據交給MAE-BE端處理。音視頻同步方面,需要在提交YUV數據給MAE-BE端處理時,將當前幀的時間戳一并提交給MAE,即可由MAE內部實現音視頻同步。當然也可以自己在程序中進行音視頻同步,這需要在提交YUV前從MAE取得音頻播放的時間戳,然后與當前視頻幀的時間戳比較,進行必要的延時操作。本文引用地址:http://www.j9360.com/article/166898.htm
結 語
本文詳細介紹了數字電視播放系統的建立過程。該系統基于AU1200芯片,結合軟硬件優勢,實現了數字電視TS流的播放功能。通過對媒體播放程的擴展,還可以實現如flv和rmvb等多種媒體格式的解碼播放。
評論