嵌入式Linux的網(wǎng)絡(luò)視頻流模塊設(shè)計(jì)
1 Linux中流數(shù)據(jù)的操作
本文引用地址:http://m.butianyuan.cn/article/148221.htm在本設(shè)計(jì)中,數(shù)據(jù)在整個(gè)系統(tǒng)中是以流數(shù)據(jù)的形式存在的,Linux內(nèi)核為流數(shù)據(jù)提供了一個(gè)標(biāo)準(zhǔn)的編程接口,這種接口為數(shù)據(jù)從外部設(shè)備經(jīng)內(nèi)核到達(dá)用戶進(jìn)程提供了一個(gè)全雙工通道。
在這個(gè)通道中,數(shù)據(jù)的處理模塊是作為可選的中間件由用戶動(dòng)態(tài)加載的,上面設(shè)計(jì)的視頻壓縮模塊就是這樣的一個(gè)中間件。
2 ASF流式文件格式
本系統(tǒng)主要是用于實(shí)時(shí)視頻應(yīng)用,所以需要系統(tǒng)提供對(duì)流式文件格式的支持,這樣在接收方利用標(biāo)準(zhǔn)的流視頻播放軟件,如MMedia Player就可以觀看實(shí)時(shí)傳輸?shù)囊曨l.在本系統(tǒng)中采用了開放的ASF流格式.壓縮后的視頻數(shù)據(jù)在傳輸前需要對(duì)其進(jìn)行ASF編碼.ASF文件的基本組織單元為ASF對(duì)象,每個(gè)對(duì)象由三個(gè)域組成:對(duì)象標(biāo)識(shí)符域、對(duì)象大小域和對(duì)象數(shù)據(jù)域。ASF文件的高層邏輯結(jié)構(gòu)也包含三部分:頭對(duì)象、數(shù)據(jù)對(duì)象和索引對(duì)象。其中,頭對(duì)象包含了許多全局信息,數(shù)據(jù)對(duì)象則包含了所有待播放的數(shù)據(jù),頭對(duì)象必須在數(shù)據(jù)對(duì)象之間被接收方接收并解釋。
3 流視頻協(xié)議
流視頻協(xié)議是為了在客戶機(jī)和視頻服務(wù)器之間進(jìn)行通信而設(shè)計(jì)和標(biāo)準(zhǔn)化的。根據(jù)它們的功能,與網(wǎng)絡(luò)上流視頻相關(guān)的協(xié)議分為三類。
*網(wǎng)絡(luò)層協(xié)議:網(wǎng)絡(luò)層協(xié)議提供了基本的網(wǎng)絡(luò)服務(wù)支持。IP就是網(wǎng)絡(luò)上流視頻使用的網(wǎng)絡(luò)協(xié)議。
*傳輸協(xié)議:傳輸協(xié)議為流服務(wù)提供端對(duì)端的網(wǎng)絡(luò)傳輸功能。TCP、UDP、RTP和RTCP就是網(wǎng)絡(luò)上流視頻使用的傳輸協(xié)議。
*話路控制協(xié)議:話路控制協(xié)議定義消息和程序。RTSP就是一種話路控制協(xié)議。
為流視頻設(shè)計(jì)的協(xié)議棧如圖4所示。在發(fā)送方的數(shù)據(jù)面,壓縮且經(jīng)過ASF編碼的視頻數(shù)據(jù)被讀出并在RTP/RTCP/RTSP層上打包,以提供定時(shí)和同步信息以及包的序列號(hào)。然后把這些打包的RTP數(shù)據(jù)流發(fā)送到UDP/TCP層和IP層,得到的IP包在網(wǎng)絡(luò)上傳輸。在接收方則按照相反的方向處理。在控制面,RTCP包和RTSP包在UDP/TCP層上復(fù)用,并且被送到IP層,以便通過網(wǎng)絡(luò)傳輸。
小結(jié)
本文提出了一種基于Intel PXA255嵌入式微處理器和嵌入式Linux網(wǎng)絡(luò)攝像機(jī)的設(shè)計(jì)方案,系統(tǒng)采用先進(jìn)的MPEG-4編碼標(biāo)準(zhǔn),得到了較高的壓縮比。經(jīng)測(cè)試、在50Kbps~100Kbps的帶寬下,對(duì)CIF(352×288,30fps)格式的視頻有較好的表現(xiàn)能力。滿足了在目前寬帶環(huán)境中的網(wǎng)絡(luò)視頻會(huì)議以及視頻監(jiān)控的要求,其應(yīng)用十分廣泛。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論