美章網 資料文庫 無線視頻傳輸系統的設計范文

無線視頻傳輸系統的設計范文

本站小編為你精心準備了無線視頻傳輸系統的設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

無線視頻傳輸系統的設計

無線通信技術雜志》2014年第二期

1視頻數據的采集和編碼

1.1基于V4L2的視頻數據采集設計V4L2(VideoforLinuxTwo)是V4L的改進版,V4L2改進了V4L中的不足,具有更好的擴展性和靈活性,并且支持的硬件設備更多。利用V4L2接口函數獲取視頻幀數據有3種方式:read、write方式,用戶指針方式,內存映射mmap方式。本系統通過內存映射方式采集,采用這種方法不僅讀取方便,而且省去了大量的內存拷貝,效率較高[8]。視頻采集過程如圖3。(1)打開視頻設備文件。fd=open(Device-name,mode);第一個參數是注冊在/dev/目錄下的設備名,打開模式可分為阻塞和非阻塞模式。(2)獲取設備屬性。調用函數ioctl(fd,VIDIOC_QUERYCAP,&cp)獲取打開設備文件的相關參數并存放到cap結構中。(3)設置視頻的制式和幀格式。調用函數ioctl(fd,VIDIOCS_FMT,&fmt)設置捕獲圖像的存儲格式、寬帶、高度、像素大小等。(4)申請幀緩沖區,并進行內存映射。調用函數ioctl(fd,VIDIOC_REQBUFS,&req)向內核申請req.count個幀緩存。通過VIDIOC_QUERBUF獲取緩存幀在內核空間的地址,通過mmap方式將內核空間中的內存映射到用戶空間。(5)采集視頻數據。調用函數ioctl(fd,VIDIOC_STREAMON,&type)將數據存放到緩存中。(6)處理采集的數據。當應用程序將最先采到的一幀數據取走時,幀緩沖重新放入隊列尾,從而循環采集數據。(7)關閉視頻設備。調用close(fp)實現設備的關閉。

1.2基于MFC的H.264編碼設計本系統利用S3C6410提供的MFC硬件編解碼器實現了H.264標準的視頻壓縮。硬編碼具有不占用CPU資源,運算速度快等優點,從而滿足視頻數據實時性的要求。H.264編碼器要求輸入數據為YUV420格式,而V4L2輸出的視頻數據是YUV422格式,因此在完成編碼工作之前,要利用函數DoConvert()將YUV422格式轉換為YUV420格式。編碼的過程如圖4。(1)創建H.264編碼器。調用函數Ssb-SipH264EncodeInit(width,height,frame_rate,bitrate,gop_num)實現。(2)設置編碼器參數,初始化H.264編碼器,分別調用函數SsbSipH264EncodeSetConfig(handle,type,value)和函數SsbSipH264EncodeExe(handle)來實現。(3)獲取要編碼的視頻數據的輸入緩沖區地址,調用SsbSipH264EncodeGetInBuf(handle,0)來實現,該函數返回視頻數據的輸入地址。(4)讀取要編碼的視頻數據,調用函數memcpy(p_inbuf,in_addr,frame_size)將需要編碼的視頻數據復制到上一步驟的輸入緩沖區中。(5)編碼視頻數據,調用函數Ssb-SipH264EncodeExe(handle)實現H.264編碼。(6)輸出已編碼的視頻數據,調用函數Ssb-SipH264EncodeGetOutBuf(handle,size)獲取編碼后數據的輸出緩沖區和編碼數據大小。(7)關閉設備,調用函數Ssb-SipH264EncodeDeInit(handle)釋放編碼器資源,并且關閉MFC設備。圖4H.264編碼流程圖

2視頻數據的傳輸

2.1基于RTP/RTCP的流媒體實時傳輸設計為滿足視頻監控實時性的要求,需要RTCP(實時傳輸控制協議)和RTP(實時傳輸協議)協同使用,以有效的反饋和最小的開銷使傳輸效果達到最好。RTP負責實時性傳輸,但它本身不提供QoS,需要RTCP提供視頻質量控制的手段和方法。而控制RTP包的發送則通過RTSP協議完成。

2.1.1live555簡介本系統利用開源Live555庫實現了基于RTP、RTCP的實時傳輸。Live555庫是一種為流媒體傳輸提供解決方案的跨平臺C++開源項目,在嵌入式環境中運行穩定,性能較好,支持RTP/RTCP/RTSP/SDP等協議,支持多種音視頻編碼格式(如H.264、MPEG4、JPEG、DV等)的音視頻數據的發送、接收和處理。Live555包含四個基本的庫分別是BasicUsageEnvironment&TaskScheduler、UsageEnvir-onment、GroupSock和LiveMedia。LiveMedia模塊是最重要的模塊,基類是Medium,其它所有類都派生自該類[9]。

2.1.2基于Live555的流媒體服務器的設計針對Live555開源項目不支持H.264實時視頻流的接收,我們繼承FramedSource類寫一個Camer-aH264StreamFramer類,這個類負責實時的采集視頻圖像,使用MFC進行H.264硬編碼,然后覆蓋成員函數doGetNextFrame()。H.264編碼的每一幀交給VideoServerMediaSubsession處理。另外,還需要繼成OnDemandServerMediaSubses-sion類,寫一個H264LiveVideoServerMediaSubsession類,這個類負責管理Source和Sink,指示輸入和輸出。函數createNewStreamSource返回了實例化的CameraH264StreamFramer;函數createNewRTPSink返回了實例化的H264VideoRTPSink,其父類為RTP-Sink,這個類的作用是把原始的H264流封裝成RTP數據包[10-12]。類結構圖如圖5:

2.1.3流媒體主程序設計流媒體主程序步驟如下:(1)構造應用程序環境類:包括任務調度器TaskScheduler,構造UsageEnviRonment對象的時候需要TaskScheduler作參數。(2)構造RTSPServer對象,代表整個流媒體VideoServer,配置監聽端口,這里設置為8554,可以選擇是否使用用戶名密碼方式訪問。(3)構造MediaSession對象和MediaSubsession對象,表示具體的輸入視頻流和輸出流。MediaSub-session就是我們構造的H264LiveVideoServerMediaSubsession。(4)把MediaSession加入到RTSPServer,調用RTSPServer的doEventLoop進入消息循環,開始監聽用戶請求接入,處理消息請求。圖5類結構圖圖6視頻監控效果圖

2.23G模塊聯網3G模塊與ARM是通過USB相連的。3G網絡的連接是通過點對點(PPP)協議來完成的,PPP是在串行連接的數據鏈路實現IP以及其它網絡協議的一種機制[13]。在Linux內核中已經添加了3G模塊的驅動和PPP協議的支持,還需要移植相應的撥號軟件實現撥號上網。本文選擇撥號軟件pppd,下載ppp-2.

2.4源碼包,進行交叉編譯生成撥號所需的應用程序pppd和chat,將這兩個應用程序拷貝到開發板/usr/sbin文件夾下,更改其屬性為可執行文件。配置好撥號的腳本文件后,通過pppdcall命令即可實現WCDMA無線網絡的接入。通過AT指令對視頻數據進行UDP打包,最終將視頻數據包發送到3G網絡上。

3終端設備

在Window平臺下,用VLC播放器可以接收傳輸過來的視頻流。如果終端設備IP:221.6.52.114,在VLC的地址欄輸入rtsp://221.6.52.114:8554/live就可以播放流媒體視頻。運行效果如圖6。

4結束語

經測試,本系統采集分辨率為320*240的圖像,經H.264硬編碼后,每幀圖像大小只有5KB左右,幀率可達25f/s。對于WCDMA無線網絡的傳輸率一般在2Mbit/s左右,因此,該無線網絡能夠滿足實時視頻傳輸的需求。本文設計的視頻傳輸系統結合了嵌入式技術﹑視頻壓縮編碼技術﹑流媒體實時傳輸技術、無線通信技術等多項技術,系統具有實時性好、穩定性高、低成本、低功耗等優點,有很高的應用價值和較為廣闊的市場前景。

作者:陳嵐 鮑可進單位:江蘇大學計算機科學與通信工程學院

主站蜘蛛池模板: 欧美性猛交xxxx乱大交3| 黑色毛衣在线播放| 快播电影网日韩新片| 久久最近最新中文字幕大全| 91精品国产亚洲爽啪在线观看| 欧美一区二区久久精品| 人妻中文字幕乱人伦在线| 美女被免费网站在线视| 国产全黄三级三级| 99热在线精品播放| 性做久久久久久蜜桃花| 久久久一本精品99久久精品66| 波多野结衣免费在线观看| 国产成人精品一区二区秒拍| 三色堂明星合成论坛| 日本大片免a费观看视频| 五月婷婷婷婷婷| 欧美成人一区二区三区在线观看 | 草草影院第一页| 成av免费大片黄在线观看| 久久久久亚洲av无码专区喷水 | 美女露隐私全部免费直播| 国产免费丝袜调教视频| 91秦先生在线| 好男人在线神马影视www在线观看 好男人在线神马影视在线观看www | 喝丰满女医生奶水电影| 里番acg※里番acg本子全彩| 国产日韩一区二区三区在线观看| 一本色道久久综合网| 欧美xxxx做受欧美| 亚洲欧洲自拍拍偷午夜色无码| 特黄特色大片免费| 免费久久人人爽人人爽av| 精品人妻VA出轨中文字幕| 午夜精品不卡电影在线观看| 肉柳高嫁03集在线播放| 国产一区二区三区夜色 | 忘忧草日本在线播放www| 中文字幕av无码不卡免费| 欧美另类视频videosbest18 | 狠狠色伊人亚洲综合网站色|