<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Linux流媒體播放器系統(tǒng)軟硬件解決方案

          基于嵌入式Linux流媒體播放器系統(tǒng)軟硬件解決方案

          作者: 時間:2012-06-15 來源:網(wǎng)絡(luò) 收藏


          3.2.2 TS 流解析實現(xiàn)

          本文引用地址:http://www.ex-cimer.com/article/148904.htm

            在MPEG-2 中根據(jù)傳輸媒體的質(zhì)量不同定義了兩種復(fù)合信息流:傳送流(TS:Transport Stream)和節(jié)目流(PS:Program Stream)。TS 流與PS 流的區(qū)別在于TS 流的包結(jié)構(gòu)是固定長度的,而PS 流的包結(jié)構(gòu)是可變長度的。PS 包TS 包在結(jié)構(gòu)上的這種差異,致使TS 流比PS 流對傳輸誤碼的抵抗能力更強,因此在本設(shè)計中的網(wǎng)絡(luò)多媒體數(shù)據(jù)采用了TS 的封裝格式。TS 包的結(jié)構(gòu)如圖3 所示,由包頭和包數(shù)據(jù)兩部分組成,包頭長度占4B,自適應(yīng)區(qū)和包數(shù)據(jù)共占184B,整個TS 包長度相當(dāng)于4 個ATM 包長。

            圖3 TS 包的結(jié)構(gòu)

            圖3 TS 包的結(jié)構(gòu)

            因為在TS 流里可以填入很多東西,所以制定TS流標(biāo)準(zhǔn)的機構(gòu)就規(guī)定了PSI (Program SpecificInformation)表,其作用是從一個攜帶多個節(jié)目的某一個TS 流中正確找到特定的節(jié)目。

            PSI 表包括以下四個表:

           ?。?)PAT 表(Program Association Table)即節(jié)目關(guān)聯(lián)表,它的主要作用是指出該傳輸流ID,以及該路傳輸流中所對應(yīng)的幾路節(jié)目流的MAP 表和網(wǎng)絡(luò)信息表的PID.

            (2)PMT 表(Program Map Table)即節(jié)目映射表,該表的PID 由PAT 提供,通過該表可以得到一路節(jié)目中包含的信息。

            (3)CAT 表(Conditional Access Table)即條件訪問表,PID 是0x01.CAT 攜帶的是服務(wù)器的私有信息(CA 就需要使用該表格實現(xiàn)節(jié)目的解密)。

           ?。?)NIT 表(Network Information Table) 即網(wǎng)絡(luò)信息表,該表包括數(shù)字電視網(wǎng)中所有的傳輸流的物理傳輸網(wǎng)信息,包含節(jié)目的頻道調(diào)諧參數(shù)、頻率、符號率等,這些信息使得接收機可以按照用戶的選擇以很少的延時或無延時地改變頻道、調(diào)諧參數(shù),正確地解碼出TS。

            所以TS 流解析流程如圖4所示:先接收一個負載里為PAT 的數(shù)據(jù)包,在整個數(shù)據(jù)包里找到一個PMT 包的ID.然后再接收一個含有PMT 的數(shù)據(jù)包,在這個數(shù)據(jù)包里找到有關(guān)填入數(shù)據(jù)類型的ID.之后就在接收到的TS 包里找到含有這個ID 的負載內(nèi)容就是填入的信息。根據(jù)填入的數(shù)據(jù)類型的ID 的不同,在TS 流復(fù)合多種信息,解有這些信息的傳輸包即可解出音視頻的PES 包,最終解出音頻流和視頻流。

            圖4 TS 流解析流程

            圖4 TS 流解析流程

            由于時間和資源有限,本設(shè)計中移植成熟的QT/Embedded 庫到機頂盒的,作為其圖形界面類庫。Qt/Embedded 采用frame buffer (幀緩沖)作為底層圖形接口。同時,將外部輸入設(shè)備抽象為keyboard 和mouse 輸入事件。Qt/Embedded 的應(yīng)用程序可以直接寫內(nèi)核緩沖幀,這避免開發(fā)者使用繁瑣的XLIB/Server 系統(tǒng)。界面程序流程圖如圖5 所示。

            圖5 界面程序流程圖

            圖5 界面程序流程圖

            4 結(jié)語

            本系統(tǒng)利用TQ2440 硬件平臺的優(yōu)勢,將2.6.14 內(nèi)核移植到開發(fā)板中,設(shè)計實現(xiàn)了一款 的機頂盒流,完成了其與網(wǎng)絡(luò)接口的實現(xiàn),通過TS 流的解析實現(xiàn),提供了對主流的MPEG-2、MPEG-4、H.264 等格式文件的支持。該系統(tǒng)具有良好的可移植性和可擴展性,能夠滿足市場需求的不斷變化。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();