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