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

          新聞中心

          基于ARM11的無線視頻

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

          4 視頻數(shù)據(jù)的傳輸和顯示

          4.1 視頻數(shù)據(jù)傳輸模塊設(shè)計

          現(xiàn)代無線通信網(wǎng)絡(luò)標準主要有3G(第三代移動通信),WI-FI,Bluetooth,Zigbee(紫蜂)等,具體詳見表1.

          表1 常用無線通信網(wǎng)絡(luò)標準的基本比較
          基于ARM11的無線視頻

          由于WI-FI 具有傳輸率高,支持的協(xié)議多,安裝及設(shè)置簡單,成本低等優(yōu)點,所以本系統(tǒng)采用的無線網(wǎng)絡(luò)標準是WI-FI.

          4.1.1 WI-FI 無線網(wǎng)絡(luò)搭建過程

          (1)加載WI-FI 模塊。通過insmod 命令加載,這里需要加載2 個文件helper_sd.bin、sd8686.bin,這2 個文件可以從Marvel 官方網(wǎng)站下載。

          (2)搜索WI-FI 網(wǎng)絡(luò)。先用ifconfig eth1 up 命令把WI-FI 網(wǎng)絡(luò)接口卡打開,然后用iwlist eth1 scanning命令搜索WIFI 網(wǎng)絡(luò)。

          (3)設(shè)置eth1 的ip 地址和子網(wǎng)掩碼。

          (4)設(shè)置ESSID.通過iwconfig eth1 essid 402命令實現(xiàn)的,ESSID 用來區(qū)分不同的網(wǎng)絡(luò)。

          (5)設(shè)置密碼。通過iwconfig eth1 key s:your_key命令實現(xiàn)的,其中your_key 就是登陸密碼。

          4.1.2 基于RTP 協(xié)議的視頻數(shù)據(jù)傳輸

          RTP 是實時傳送協(xié)議( Real-time TransportProtocol)的縮寫,代表一個網(wǎng)絡(luò)傳輸?shù)膮f(xié)議,為音頻、視頻上傳中的常用協(xié)議[5].RTCP 和RTP 一起提供流量控制和擁塞控制服務(wù),它們能以有效反饋和最小開銷使傳輸效率最佳化,因而特別適合傳送實時的數(shù)據(jù),所以采用該協(xié)議傳輸視頻數(shù)據(jù)。

          本系統(tǒng)采用開源代碼Jrtplib 提供的RTP 協(xié)議棧,由于Jrtplib 對RFC3550 的實現(xiàn)進行了封裝,使得傳輸視頻數(shù)據(jù)更加簡單。由于本系統(tǒng)的網(wǎng)絡(luò)最大有效載荷為1500 字節(jié),因此設(shè)置RTP 包大小的上限為1400 字節(jié),如果發(fā)送的數(shù)據(jù)大于1400 字節(jié),則采用拆包的方法再發(fā)送,具體傳輸過程如圖4 和圖5 所示。

          基于ARM11的無線視頻
          圖4 發(fā)送端流程框圖。

          基于ARM11的無線視頻
          圖5 接收端流程框圖。



          評論


          相關(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); })();