999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Linux系統(tǒng)的H.264標準的實時視頻壓縮及傳輸系統(tǒng)設(shè)計

2015-12-02 21:01:24劉溶劍王趙璽
現(xiàn)代電子技術(shù) 2015年22期
關(guān)鍵詞:系統(tǒng)設(shè)計

劉溶劍+王趙璽

摘 要: 隨著計算機網(wǎng)絡(luò)媒體的迅猛發(fā)展,研究時視頻壓縮及傳輸技術(shù)具有十分重要的意義。首先建立基于Ubuntu Linux操作系統(tǒng)的H.264實時視頻壓縮及傳輸系統(tǒng),并詳細介紹該系統(tǒng)相關(guān)軟、硬件實現(xiàn)方法和系統(tǒng)結(jié)構(gòu)的設(shè)計思想。然后通過實時視頻的采集和編碼模塊設(shè)計系統(tǒng),并采用系統(tǒng)的實現(xiàn)代碼具體實現(xiàn)系統(tǒng)的各個模塊。結(jié)果表明,使用該設(shè)計系統(tǒng)進行傳輸,可以獲得較好的圖像質(zhì)量以及較低傳輸?shù)难訒r,能滿足實時性應(yīng)用的需求。

關(guān)鍵詞: H.264; 視頻壓縮; 傳輸系統(tǒng); Ubuntu Linux

中圖分類號: TN919?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2015)22?0078?02

近年來,視頻壓縮技術(shù)和網(wǎng)絡(luò)傳輸技術(shù)發(fā)展迅速,實時視頻通信技術(shù)已漸漸進入人們的生活。H.264視頻壓縮標準的日趨成熟,RTP 協(xié)議的出現(xiàn)進一步推動了視頻通信的發(fā)展,視頻壓縮技術(shù)和視頻通信技術(shù)一直是人們所關(guān)心的重要問題,對原始的視頻數(shù)合理有效的壓縮和網(wǎng)絡(luò)傳輸中的擁塞控制始終是研究的熱點[1]。筆者通過對大量文獻資料的學(xué)習(xí)[2],對H.264視頻壓縮標準,實時傳輸協(xié)議RTP/RTCP等相關(guān)知識梳理和研究,建立了一種基于Ubuntu Linux系統(tǒng)的H.264實時視頻壓縮及傳輸系統(tǒng)。

1 系統(tǒng)的的軟硬件環(huán)境及整體結(jié)構(gòu)

1.1 系統(tǒng)的軟、硬件環(huán)境

整個系統(tǒng)的設(shè)計目標是完成通過經(jīng)路由器建立的局域網(wǎng),在兩臺加入相同多播組的計算機間,進行實時視頻的壓縮及傳輸。在編解碼模塊使用的是基于開放源代碼的RTP庫——libccrtp設(shè)計的一種軟件。硬件方面,需要現(xiàn)在廣泛使用的PC機及一般的USB接口數(shù)碼攝像頭一個,網(wǎng)絡(luò)連接方案如前所述,通過經(jīng)路由器建立的局域網(wǎng)。

選用的操作系統(tǒng)是Ubuntu 10.10。視頻的獲取通過Video4Linux2(簡稱V4L2),是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動。視頻編解碼部分使用的是VLC或Mplayer及Mencoder,VLC多媒體播放器(最初命名為VideoLAN客戶端)是VideoLAN計劃的多媒體播放器。視頻的傳輸部分使用的是開放源代碼的RTP庫——libccrtp,以及基于libccrtp而編寫的實時流媒體傳輸軟件。

1.2 系統(tǒng)的整體結(jié)構(gòu)

系統(tǒng)采用了客戶機/服務(wù)器設(shè)計模式,服務(wù)器端(發(fā)送端)采集發(fā)送視頻,客戶端(接收端)接收回放視頻,系統(tǒng)可分為5個功能模塊:視頻采集模塊、視頻編碼模塊、包處理模塊、網(wǎng)絡(luò)傳輸模塊和視頻解碼模塊,總體結(jié)構(gòu)如圖1所示。

2 系統(tǒng)各個模塊的具體實現(xiàn)

2.1 系統(tǒng)實時視頻采集及編碼模塊的設(shè)計

2.1.1 編碼器的選擇

與其他視頻壓縮技術(shù)相比,H.264的壓縮碼率能降低一半以下,但這種高效率的壓縮性能是以運算復(fù)雜度為代價的,對機器的處理能力有很高要求[3]。因此需要根據(jù)實際需要選擇一個好的H.264編碼器,目前H.264的開源編碼器主要有三個:JM,X264,T264。通過比較:T264(fast mode)、T264(high quality mode)的編碼性能和X264性能相比有一定劣勢; X264的編碼速度也相當(dāng)快,完全可以達到實用的要求。本設(shè)計選用X264編碼器。

2.1.2 基于VLC的實時視頻采集及編碼

VLC是一款功能強大的視頻編碼及播放軟件,使用它對視頻流編碼的一般格式如下:

vlc input_stream ??sout

"#module1{option1=parameter1{parameter?option1},option2=parameter2}:module2{option1=...,option2=...}:..."

其中module表示各個模塊,本系統(tǒng)所使用的兩個模塊為transcode(編碼)模塊和std(標準)模塊,將在下文中進行介紹。

在Ubuntu系統(tǒng)下安裝了VLC并連接了攝像頭后在終端中運行以下命令即可完成實時視頻的獲取及壓縮編碼:

vlc ?vvv v4l2:// :v4l2?vdev="/dev/video0" :v4l2?adev="/dev/dsp " :v4l2?norm=3 :v4l2?frequency=?1 ??run?time 600 ??sout

′#transcode{vcodec=h264,vb=300,scale=1,acodec=mpga,ab=128,channels=2}:std{access=file,mux=ts,dst=pipe}′

2.1.3 基于mencoder的實時視頻采集及編碼

整體代碼如下,功能依然是通過V4L2視頻設(shè)備內(nèi)核驅(qū)動,對設(shè)備文件/dev/video0及/dev/dsp進行設(shè)置,進而完成實時視頻的采集和編碼:

tv:// ?tv driver=v4l2:width=320:height=240:device=/dev/video0:forceaudio:adevice=/dev/dsp ?ovc x264 ?x264encopts bitrate=300 ?oac mp3lame ?lameopts cbr:br=64:mode=3 ?o pipe

2.2 系統(tǒng)網(wǎng)絡(luò)傳輸模塊的設(shè)計

2.2.1 RTP封裝及傳輸前的準備

在經(jīng)過編碼的實時視頻流進行RTP封裝并進入網(wǎng)絡(luò)傳輸之前,還有幾件事情需要完成。

首先,要更改工作目錄,以便后續(xù)命令的編寫和執(zhí)行。更改工作目錄只需一條簡單Ubuntu的命令即可實現(xiàn),代碼如下:

cd myworks/trunk/build/Debug/bin;

其次,由于本系統(tǒng)采用組播技術(shù)作為IP網(wǎng)絡(luò)數(shù)據(jù)傳輸方式,故要將多播地址添加到傳輸方及接收方計算機的IP路由表當(dāng)中;

最后,還要先利用Mplayer測試編碼后的視頻流,然后方能調(diào)用相關(guān)程序進行封裝及傳輸。如果經(jīng)過以上三步均未出現(xiàn)問題,那么就可以進入視頻流的封裝及網(wǎng)絡(luò)傳輸階段。

2.2.2 網(wǎng)絡(luò)傳輸模塊軟件libccrtp核心思想

本系統(tǒng)的傳輸模塊所用到的libccrtp軟件,是基于開放源代碼的RTP庫——libccrtp設(shè)計的,它的核心思想是在發(fā)送端完成編碼后實時視頻流的RTP封裝及接收端原始視頻流的恢復(fù),即在發(fā)送端軟件先對媒體類型進行檢查,根據(jù)不同的媒體類型確定RTP數(shù)據(jù)包的負載類型以及RTP時間戳增量[4]。封裝好RTP數(shù)據(jù)分組后將數(shù)據(jù)進行UDP發(fā)送[5];接收端在接收到RTP包后分析RTP包頭,判斷其版本、長度和負載類型等信息的有效性,然后按照RTP時間戳和包序列號等進行同步,整理RTP包順序,重構(gòu)視頻幀[6]。

2.2.3 系統(tǒng)發(fā)送端及接收端的軟件實現(xiàn)

發(fā)送端所要實現(xiàn)的目標是通過libccrtp軟件實現(xiàn)已編碼實時視頻流的應(yīng)用層RTP封裝然后進行UDP發(fā)送,實現(xiàn)代碼為:cat pipe|./rtpcat 224.0.1.2 5004。接收端根據(jù)RTP包頭信息重構(gòu)視頻幀,最后恢復(fù)出視頻流,代碼如下:

./rtprecv 224.0.1.2 5004 | mplayer ?cache 1024 ?

2.3 整個系統(tǒng)的實現(xiàn)代碼

整個系統(tǒng)使用Ubuntu Linux下的bash進行編寫,編碼模塊以VLC為例,代碼如下:

sender:

$ cd myworks/trunk/build/Debug/bin

$ mkfifo pipe

$ sudo route add ?net 224.0.0.0 netmask 240.0.0.0 dev eth0

$ vlc ?vvv v4l2:// :v4l2?vdev="/dev/video0" :v4l2?adev="/dev/dsp " :v4l2?norm=3 :v4l2?frequency=?1 ??run?time 600 ??sout ′#transcode{vcodec=h264,vb=300,scale=1,acodec=mpga,ab=128,channels=2}:std{access=file,mux=ts,dst=pipe}′

$ mplayer ?cache 1024 pipe

$ cat pipe | ./rtpcat 224.0.1.2 5004

receiver:

$ cd myworks/trunk/build/Debug/bin

$ sudo route add ?net 224.0.0.0 netmask 240.0.0.0 dev eth0

$./rtprecv 224.0.1.2 5004 | mplayer ?cache 1024 ?

3 結(jié) 語

實驗結(jié)果表明,使用本設(shè)計系統(tǒng)進行傳輸,不僅能夠獲得較好的圖像質(zhì)量以及較低傳輸?shù)难訒r,同時也能夠滿足實時性應(yīng)用的需求。本系統(tǒng)具有硬件條件需求低,通用性強等優(yōu)點,但還存在不足之處之處:由于傳輸模塊設(shè)計目標僅為完成基本實時傳輸功能,故在系統(tǒng)傳輸?shù)膿砣?、差錯控制方面沒有考慮的太多;本系統(tǒng)采用端到端的設(shè)計,并沒有把多用戶的情況考慮進去。因此,擁塞控制機制以增強接收端解碼視頻的質(zhì)量和多點傳輸?shù)目紤]及網(wǎng)絡(luò)拓撲的支持將是進一步的研究方向。

參考文獻

[1] Joint Video Team (JVT). H.264/MPEG?4 AVC reference software manual [R]. London: ISO/IEC, 2005.

[2] WIEGAND T. Overview of the H.264/AVC video coding standard [J]. IEEE Transactions on Circuits and System for Video Technology, 2003, 13(7): 560?576.

[3] 畢厚杰,王健.新一代視頻壓縮標準:H.264/AVC[M].北京:人民郵電出版社,2009.

[4] 樓劍,虞露.新一代的視頻編解碼標準:H.264[J].當(dāng)代通信,2003(5):27?31.

[5] 姜蓉蓉,周建江.基于TMS320DM355的MAV機載視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電光與控制,2013,20(1):56?60.

[6] 胡鵬.嵌入式的網(wǎng)絡(luò)視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2010(22):6321?6323.

猜你喜歡
系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過?!律O(shè)計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 亚洲一级无毛片无码在线免费视频| 中文字幕人妻无码系列第三区| 97超碰精品成人国产| 在线欧美日韩国产| 国产97公开成人免费视频| 久久网欧美| 国产91丝袜在线播放动漫| 爆乳熟妇一区二区三区| 久久国产V一级毛多内射| 99re在线视频观看| 蜜桃视频一区二区| 免费国产在线精品一区 | 日本黄色a视频| 国产女人在线| 都市激情亚洲综合久久| 精品视频一区在线观看| 91在线精品麻豆欧美在线| 久久综合九色综合97婷婷| 成人一级免费视频| 亚洲日韩AV无码精品| 亚洲中文字幕无码爆乳| 国产免费羞羞视频| 全部免费毛片免费播放 | 中文国产成人久久精品小说| 久久香蕉国产线| 国产jizzjizz视频| 天天色天天综合| 伦伦影院精品一区| 全色黄大色大片免费久久老太| 久久精品国产免费观看频道| 日韩美毛片| 国产精品自拍合集| 9丨情侣偷在线精品国产| 欧美成人精品高清在线下载| 久久无码av一区二区三区| 久久久久久高潮白浆| 亚洲成人www| 亚洲成人一区在线| 亚洲黄色成人| 性喷潮久久久久久久久| 91精品综合| 精品91视频| 久久国语对白| 在线观看亚洲精品福利片| 国产美女主播一级成人毛片| 国内精品久久久久久久久久影视| 欧美在线精品一区二区三区| 色AV色 综合网站| 亚洲男人天堂网址| 国产精品人莉莉成在线播放| 亚洲天堂免费| 国产女人在线视频| 亚洲男人的天堂网| 有专无码视频| 手机成人午夜在线视频| 亚洲美女操| 最新国产你懂的在线网址| 永久天堂网Av| 欧美精品在线观看视频| 日韩在线网址| 国产精品成人一区二区不卡 | 亚洲床戏一区| 久久久久免费精品国产| 午夜在线不卡| 性欧美久久| 免费人成网站在线高清| 日本不卡在线视频| 波多野结衣一区二区三区88| 亚洲天天更新| 尤物视频一区| 青青热久免费精品视频6| 国产主播福利在线观看| 国内精品视频| 影音先锋丝袜制服| 亚洲精品第一页不卡| 久久一日本道色综合久久| 国产青青操| 亚洲无码91视频| 欧美啪啪精品| 99伊人精品| 成人噜噜噜视频在线观看| 夜夜操狠狠操|