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
主站蜘蛛池模板: 99re热精品视频中文字幕不卡| 三级欧美在线| 亚洲av日韩综合一区尤物| 欧美一级片在线| 亚洲aaa视频| 国产另类视频| 中文字幕亚洲无线码一区女同| 青草91视频免费观看| 亚洲国产91人成在线| 亚洲AV无码乱码在线观看代蜜桃| 制服丝袜在线视频香蕉| 亚洲日本中文字幕天堂网| 婷婷亚洲天堂| 亚洲无码视频图片| 國產尤物AV尤物在線觀看| 亚洲无码视频图片| 国产大片喷水在线在线视频| 一级看片免费视频| 亚洲国产中文在线二区三区免| 在线精品欧美日韩| 欧美日本视频在线观看| 国产h视频在线观看视频| 亚洲国产在一区二区三区| 重口调教一区二区视频| 亚洲欧洲国产成人综合不卡| 日韩二区三区无| 免费女人18毛片a级毛片视频| 一级香蕉视频在线观看| 国产麻豆aⅴ精品无码| 青青国产视频| 国产91透明丝袜美腿在线| 欧美特黄一免在线观看| 精品亚洲欧美中文字幕在线看| 精品国产成人a在线观看| 国产微拍一区| 欧美成人国产| 97色伦色在线综合视频| 国产区成人精品视频| 国产成人久久综合一区| 国产乱码精品一区二区三区中文 | 最新无码专区超级碰碰碰| 免费看一级毛片波多结衣| 婷婷综合亚洲| 精品乱码久久久久久久| 国产最爽的乱婬视频国语对白| 在线观看国产网址你懂的| 亚洲三级成人| 在线观看精品国产入口| 欧美国产成人在线| 午夜日本永久乱码免费播放片| 国产成人无码久久久久毛片| 国内精品九九久久久精品| 亚洲中字无码AV电影在线观看| 亚洲高清无码久久久| 成人福利免费在线观看| 亚洲精品天堂在线观看| 激情爆乳一区二区| 国产精品女人呻吟在线观看| 午夜视频免费一区二区在线看| 亚洲欧美成人在线视频| 成年女人18毛片毛片免费| 久久国产精品国产自线拍| 91人人妻人人做人人爽男同| 毛片网站免费在线观看| 五月婷婷综合色| 亚洲精品在线91| 日韩精品免费一线在线观看 | 人妻精品全国免费视频| 国产成人精品免费av| 88av在线播放| 亚洲欧洲AV一区二区三区| 国产免费久久精品44| 国产情侣一区二区三区| 国产美女一级毛片| 久久精品66| 一级看片免费视频| 999精品免费视频| 亚洲国产精品久久久久秋霞影院| 黄色网在线免费观看| 久久久久88色偷偷| 久久精品娱乐亚洲领先| 国产女人在线|