新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于AU 1 200的TS流處理設(shè)計(jì)

基于AU 1 200的TS流處理設(shè)計(jì)

作者: 時(shí)間:2009-08-17 來源:網(wǎng)絡(luò) 收藏

以Linux系統(tǒng)為平臺(tái),利用其多線程的優(yōu)勢(shì),結(jié)合1200硬件組成的數(shù)字電視播放系統(tǒng)可以方便地實(shí)現(xiàn)數(shù)字電視流的播放。數(shù)字電視播放系統(tǒng)結(jié)構(gòu)如圖2所示。

本文引用地址:http://m.butianyuan.cn/article/166898.htm

3 數(shù)字電視播放軟件的
播放軟件采用模塊化,多線程并行。各模塊并通過MAI(Media Application Interface)Engine完成相互問的數(shù)據(jù)傳遞和同步。軟件要求在保持流暢播放MPEG(1,2,4),DivX,WMV和XviD等格式多媒體文件的同時(shí)增加播放數(shù)字電視的功能。
3.1 已有播放軟件結(jié)構(gòu)
已有的媒體播放軟件結(jié)構(gòu):播放軟件內(nèi)各模塊通過MAI Engine將相應(yīng)模塊組裝起來,完成特定格式的媒體文件的播放或格式轉(zhuǎn)換。
模塊類型分為:File Reader模塊、Demux模塊、De-coder模塊、Render模塊和File Writer模塊。模塊是否需要載人、如何進(jìn)行鏈接由MAI Engine根據(jù)播放的媒體格式而定。模塊裝載后以線程的形式獨(dú)立運(yùn)行,模塊間通過數(shù)據(jù)緩沖區(qū)進(jìn)行數(shù)據(jù)交換,并由MAI Engine負(fù)責(zé)協(xié)調(diào),以確保模塊運(yùn)行正常。
3.2 播放軟件內(nèi)的
在播放軟件內(nèi)實(shí)現(xiàn)數(shù)字電視流的播放,需要在原有的播放系統(tǒng)上增加TS流的Reader、Demux和Decoder模塊。由于數(shù)字電視的音視頻編碼格式都是公開且確定的,因此需要相應(yīng)的Decoder模塊進(jìn)行處理。MAE的TS流處理模塊結(jié)構(gòu)如圖3所示。

(1)TS-Reader模塊
TS-Reader模塊是讀取TS流的模塊。它從硬件設(shè)備獲取TS流數(shù)據(jù),按照TS-Demux的數(shù)據(jù)緩沖區(qū)大小要求寫入該緩沖區(qū)。主要實(shí)現(xiàn)打開TS流數(shù)據(jù)接口、關(guān)閉接口和讀取TS流數(shù)據(jù)3個(gè)功能,分別對(duì)應(yīng)3個(gè)主要函數(shù)一TSstreamopen()、_TSstreamclose()和 _TSstreamread()。由于數(shù)字電視不支持回放,因此不具備定位搜索(即Seek)的功能。
(2)TS-Demux模塊
TS-Demux模塊是進(jìn)行TS流解析的模塊,它是處理數(shù)字電視TS流的關(guān)鍵。TS-Demux從緩沖區(qū)中取到數(shù)據(jù)后,需要對(duì)TS流進(jìn)行解析,然后返回 MAI當(dāng)前TS流的節(jié)目信息,供應(yīng)用程序選擇。在確定節(jié)目流PID后,TS-Demux將根據(jù)音視頻PID分檢TS流,獲取Video和Audio數(shù)據(jù),供相應(yīng)的Decoder解碼。



關(guān)鍵詞: 設(shè)計(jì) 處理 TS AU 基于

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉