• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Android平臺實(shí)時(shí)視頻傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)

    2016-11-16 02:43:27洪麗芳陳昱暉高大利蔡昭權(quán)
    關(guān)鍵詞:宿主機(jī)開發(fā)板IP地址

    洪麗芳 陳昱暉 高大利 蔡昭權(quán)

    (1.泉州師范學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建泉州 362000;2. 惠州學(xué)院 計(jì)算機(jī)科學(xué)系 ,廣東惠州 516007)

    ?

    Android平臺實(shí)時(shí)視頻傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)

    洪麗芳1陳昱暉1高大利1蔡昭權(quán)2

    (1.泉州師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建泉州362000;2. 惠州學(xué)院計(jì)算機(jī)科學(xué)系 ,廣東惠州516007)

    隨著嵌入式技術(shù)的迅猛發(fā)展和多媒體技術(shù)的廣泛應(yīng)用,嵌入式視頻終端憑借其獨(dú)特的優(yōu)越性開始進(jìn)入人們的視野。論文首先介紹了嵌入式視頻終端的軟硬件平臺;接著運(yùn)用H.263編碼技術(shù)和RTP(實(shí)時(shí)傳輸協(xié)議)技術(shù),使用Android Studio集成開發(fā)工具,設(shè)計(jì)并實(shí)現(xiàn)了Android(操作系統(tǒng))平臺實(shí)時(shí)視頻傳輸方案;最后通過實(shí)驗(yàn)驗(yàn)證了該方案的效果。

    Android;視頻終端;H.263;RTP;實(shí)時(shí)傳輸

    隨著視頻采集和無線傳輸技術(shù)的不斷成熟和完善,嵌入式視頻終端被廣泛應(yīng)用于視頻會議、視頻監(jiān)控、環(huán)境監(jiān)測等許多場合[1-4]。嵌入式視頻終端具有體積小、功耗低、成本低等優(yōu)點(diǎn),能夠滿足用戶在應(yīng)急場景、移動場景或臨時(shí)應(yīng)用場景下對災(zāi)害現(xiàn)場、家庭、企業(yè)等場所進(jìn)行視頻監(jiān)控、現(xiàn)場指揮等操作。

    由于嵌入式系統(tǒng)硬件環(huán)境和操作系統(tǒng)的差異,導(dǎo)致PC上運(yùn)行的實(shí)時(shí)視頻傳輸程序無法直接移植到嵌入式設(shè)備上。針對這一問題,本文對嵌入式視頻終端的軟硬件平臺進(jìn)行了介紹,在Windows10專業(yè)版宿主機(jī)上,使用Android Studio1.4集成開發(fā)工具,運(yùn)用H.263編碼技術(shù)和RTP技術(shù),在Android4.0平臺上設(shè)計(jì)并實(shí)現(xiàn)了WIFI、以太網(wǎng)環(huán)境下的實(shí)時(shí)視頻傳輸方案,并通過實(shí)驗(yàn)驗(yàn)證了該方案的效果。

    1 嵌入式視頻終端的軟硬件平臺

    1.1嵌入式視頻終端的硬件平臺

    嵌入式視頻終端的硬件平臺通常采用ARM架構(gòu)的嵌入式處理器,為了滿足視頻采集的實(shí)時(shí)性要求,圖像傳感器到處理單元間應(yīng)具有高速的數(shù)據(jù)傳輸通道。本方案選用友善之臂公司的Tiny4412開發(fā)板作為嵌入式視頻終端的硬件平臺,Tiny4412開發(fā)板由三星Exynos 4412四核ARM架構(gòu)嵌入式處理器,1 GB DDR3內(nèi)存,16 GB iNAND FLASH,OV5648 CMOS高清視頻攝像組件,網(wǎng)絡(luò)通信模塊、USB 接口、電源供電模塊及 JTAG 調(diào)試接口等部分組成,支持視頻通過WIFI、以太網(wǎng)等方式進(jìn)行傳輸。視頻攝像組件由光學(xué)鏡頭、驅(qū)動模塊、圖像傳感器和標(biāo)準(zhǔn)接口構(gòu)成,圖像傳感器可以根據(jù)不同的應(yīng)用需要選用可見光或紅外波段的固體成像器件,在驅(qū)動程序的支持下通過標(biāo)準(zhǔn)的視頻接口向嵌入式視頻處理平臺提供視頻流,嵌入式視頻終端的硬件平臺如圖1所示。

    1.2嵌入式視頻終端的軟件平臺

    嵌入式視頻終端通常采用Android操作系統(tǒng),Android是由Google公司2007年宣布的一款基于Linux 內(nèi)核的移動操作系統(tǒng)[5]。自發(fā)布以來,Android憑借其開放性以及大量的應(yīng)用成為了當(dāng)今最炙手可熱的移動平臺操作系統(tǒng)。Android平臺自底向上由以下四個(gè)層次組成:Linux 內(nèi)核層、運(yùn)行時(shí)庫和其他庫、應(yīng)用程序框架層、應(yīng)用程序?qū)覽6]。Android平臺系統(tǒng)結(jié)構(gòu)如圖2 所示。

    圖1 嵌入式視頻終端的硬件平臺

    圖2 Android平臺系統(tǒng)結(jié)構(gòu)

    Android平臺的應(yīng)用程序通常在Windows或Linux操作系統(tǒng)的宿主機(jī)上,采用Eclipse或Android Studio集成開發(fā)環(huán)境來開發(fā)。Android平臺實(shí)時(shí)視頻傳輸軟件在Windows10專業(yè)版的宿主機(jī)上進(jìn)行開發(fā),在Tiny4412開發(fā)板Android4.0系統(tǒng)上進(jìn)行驗(yàn)證。

    宿主機(jī)上需要安裝Java 語言軟件開發(fā)工具包(Java Development Kit,JDK的版本為1.8.0_73)、Android SDK(Software Development Kit)和Android Studio1.4集成開發(fā)環(huán)境。JDK是Java的核心,包含了Java的運(yùn)行環(huán)境(Java Runtime Environment),Java工具和Java類庫[7]。Android SDK提供了Android 平臺API接口和工具,可以使得開發(fā)者便捷地開發(fā)應(yīng)用程序。Android Studio是一項(xiàng)全新的基于IntelliJ IDEA的Android開發(fā)環(huán)境[8],類似于Eclipse ADT插件,Android Studio提供了Android應(yīng)用程序開發(fā)和調(diào)試的集成環(huán)境。

    2 Android平臺實(shí)時(shí)視頻傳輸?shù)能浖O(shè)計(jì)與實(shí)現(xiàn)

    Android平臺實(shí)時(shí)視頻傳輸軟件采用Java語言編程實(shí)現(xiàn);該軟件由用戶界面、視頻采集壓縮以及RTP打包發(fā)送等部分組成。每部分的設(shè)計(jì)與實(shí)現(xiàn)簡述如下。

    2.1用戶界面

    用戶界面通過Android Studio1.4來設(shè)計(jì)程序的可視化界面;用戶界面由控制視頻采集開始和結(jié)束的Button按鈕、目的IP地址及端口號輸入文本框、顯示視頻圖像的SurfaceView控件組成。運(yùn)行程序后,輸入目的IP地址及端口號,當(dāng)點(diǎn)擊“開始”按鈕后,視頻攝像組件開始采集視頻圖像,被采集的視頻圖像在SurfaceView控件上顯示出來;被壓縮成H.263編碼的視頻流裝成RTP報(bào)文發(fā)往目的IP地址的端口。

    2.2視頻采集壓縮

    視頻采集壓縮使用Android SDK提供的MediaRecorder類實(shí)現(xiàn),其主要步驟如下。

    1)創(chuàng)建mediarecorder對象;

    MediaRecordermediarecorder = new MediaRecorder();

    2)將錄制視頻源設(shè)置為相機(jī);

    mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    3)設(shè)置視頻的封裝格式為3gp;

    mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

    4)設(shè)置錄制的視頻編碼為H.263;

    mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);

    5)設(shè)置視頻錄制的分辨率;mediarecorder.setVideoSize(640, 480);

    6)設(shè)置錄制的視頻幀率。

    mediarecorder.setVideoFrameRate(24);

    以上步驟通過MediaRecorder類實(shí)現(xiàn)了視頻的采集和壓縮,H.263視頻壓縮編碼通過嵌入式處理器的編解碼器硬件實(shí)現(xiàn)。

    2.3RTP打包發(fā)送

    視頻采集壓縮完成后,需要把H.263編碼的視頻碼流封裝成RTP報(bào)文,通過UDP協(xié)議發(fā)往目的IP地址的端口。H.263是由ITU-T制定的視頻會議用的低碼率視頻編碼標(biāo)準(zhǔn),屬于視頻編解碼器。RTP協(xié)議(Realtime Transport Protocol,實(shí)時(shí)傳輸協(xié)議)由Internet工程任務(wù)組(IETF)作為RFC1889發(fā)布[9]。RTP協(xié)議針對互聯(lián)網(wǎng)上多媒體數(shù)據(jù)流的實(shí)時(shí)傳輸進(jìn)行設(shè)計(jì),具有簡單性、可擴(kuò)展性、數(shù)據(jù)流和控制流分離等特點(diǎn)。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時(shí)間信息和實(shí)現(xiàn)流同步。由于TCP(Transmission Control Protocol,傳輸控制協(xié)議)連接會導(dǎo)致的網(wǎng)絡(luò)重發(fā)、網(wǎng)絡(luò)抖動和網(wǎng)絡(luò)延遲等問題,RTP傳輸通常建立在UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)上;RTP本身只保證實(shí)時(shí)數(shù)據(jù)的傳輸,并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,也不提供流量控制或擁塞控制,RTP依靠實(shí)時(shí)傳輸控制協(xié)議RTCP(Realtime Transport Control Protocol,實(shí)時(shí)傳輸控制協(xié)議)提供這些服務(wù)。RTP和RTCP配合使用,能以有效的反饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網(wǎng)上的實(shí)時(shí)數(shù)據(jù)。RTP打包發(fā)送的主要步驟如下:

    1)使用Android SDK提供的LocalSocket獲取本地的H.263編碼視頻流;

    2)把H.263編碼的視頻碼流封裝成RTP報(bào)文;

    3)通過UDP協(xié)議向目標(biāo)IP地址的端口發(fā)送RTP報(bào)文。

    3 實(shí)驗(yàn)測試

    將Tiny4412開發(fā)板用USB調(diào)試線與宿主機(jī)連接起來,開發(fā)板和宿主機(jī)通過WIFI或者以太網(wǎng)接入到同一個(gè)局域網(wǎng)中,開發(fā)板和宿主機(jī)動態(tài)獲取到的IP地址分別為192.168.0.122和192.168.0.111,通過Android Studio1.4將編譯好的apk可執(zhí)行程序下載到Tiny4412開發(fā)板,Tiny4412開發(fā)板上運(yùn)行程序后,輸入宿主機(jī)的IP地址192.168.0.111和端口號5050,點(diǎn)擊“開始”按鈕后,實(shí)時(shí)采集的視頻圖像清晰地在SurfaceView控件上顯示出來。

    在宿主機(jī)上運(yùn)行Wireshark網(wǎng)絡(luò)抓包工具,可以抓取到Tiny4412開發(fā)板發(fā)來的數(shù)據(jù)包,并可實(shí)時(shí)獲取數(shù)據(jù)包序號、時(shí)間、源IP地址、目的IP地址、發(fā)送協(xié)議、數(shù)據(jù)包長度等信息,通過這些信息可對數(shù)據(jù)包進(jìn)一步進(jìn)行分析,以驗(yàn)證數(shù)據(jù)包是否正確。Wireshark抓取的數(shù)據(jù)包如圖3所示。

    圖3 Wireshark抓取的數(shù)據(jù)包

    在宿主機(jī)上通過VLC播放器可對Tiny4412開發(fā)板發(fā)來的數(shù)據(jù)包進(jìn)行解碼播放。VLC 是VideoLAN 非盈利組織推出的一款自由、開源的跨平臺多媒體播放器,可播放大多數(shù)多媒體文件,以及 DVD、音頻CD、VCD及各類流媒體。VLC播放H.263編碼的視頻流時(shí)需建立sdp文件,其內(nèi)容如下:

    m=video 5050 RTP/AVP 96

    b=RR:0

    a=rtpmap:96 H263-1998/90000

    c=IN IP4 192.168.0.122

    將其命名為h263.sdp,通過VLC播放器打開h263.sdp文件,即可對收取的數(shù)據(jù)包進(jìn)行解碼播放,VLC解碼播放效果如圖4所示,VLC解碼播放接近于Tiny4412開發(fā)板上的視頻預(yù)覽效果。

    圖4 VLC解碼播放效果

    上述測試結(jié)果表明,在WIFI、以太網(wǎng)高帶寬環(huán)境下,視頻傳輸實(shí)時(shí)性強(qiáng)、誤碼率低、可靠性高,該方案可較好地解決Android平臺嵌入式視頻終端實(shí)時(shí)視頻傳輸問題。

    4 結(jié)語

    本文對嵌入式視頻終端的軟硬件平臺進(jìn)行了介紹,使用Android Studio1.4集成開發(fā)工具設(shè)計(jì)并實(shí)現(xiàn)了Android平臺實(shí)時(shí)視頻傳輸方案。整個(gè)方案可以應(yīng)用到視頻數(shù)據(jù)采集、視頻會議、視頻監(jiān)控、環(huán)境監(jiān)測等場合。今后的研究工作可以考慮在現(xiàn)有基礎(chǔ)上熟悉H.264、H.265等視頻編碼標(biāo)準(zhǔn),研究在低帶寬環(huán)境下的實(shí)時(shí)視頻傳輸技術(shù),不斷提升實(shí)時(shí)視頻傳輸?shù)馁|(zhì)量。

    [1]鄭磊.基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究[D].武漢:武漢理工大學(xué),2009.

    [2]余臘生,劉勇.基于網(wǎng)絡(luò)的智能視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與技術(shù),2009,30(16):3879-3882.

    [3]常志沛.基于Android的智能手機(jī)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連海事大學(xué),2011.

    [4]付少華,付紅橋,王政.基于3G網(wǎng)絡(luò)的手機(jī)移動視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2011,31(1):70-72.

    [5]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社,2010:1-2.

    [6]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2011:10-11.

    [7]韓雪,郭天嬌.Java JDK7實(shí)例寶典[M].北京:電子工業(yè)出版社,2014.

    [8]陳承歡.Android移動應(yīng)用開發(fā)任務(wù)驅(qū)動教程[M].北京:電子工業(yè)出版社,2015:1-2.

    [9]孫松源,吳建國.基于RTP和Android的視頻傳輸?shù)难芯繉?shí)現(xiàn)方法[J].電腦知識與技術(shù),2012,8(4):904-905.

    Design and Implementation of Real-time Video Transmission for Android Platform

    HONG Lifang1CHEN Yuhui1GAO Dali1CAI Zhaoquan2

    (1.College of Mathematics and Computer Science, Quanzhou Normal University, Quanzhou 362000, China;2. Department of Computer Science, Huizhou University, Huizhou 516007, China)

    Along with the rapid development of embedded technology and the wide application of multimedia technology, embedded video terminal begins to enter people’s perspective with its unique advantages. Firstly, the paper introduces the software and hardware platform of embedded video terminal. Then, by means of H.263 encoding and RTP(Realtime Transport Protocol) technology, and android studio integrated development tools, the design and implement real-time video transmission program are realized based on Android(operating system) platform. Finally, the effect of the proposed method is verified by experiments.

    Android; video terminal; H.263; RTP; real time transmission

    2016-03-26

    國家自然科學(xué)基金項(xiàng)目(61170193, 61370185);廣東省自然科學(xué)基金項(xiàng)目(s2013010013432);泉州市科技計(jì)劃項(xiàng)目(2014Z136);福建省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201410399039)。

    洪麗芳(1981—),女,福建泉州人,實(shí)驗(yàn)師,碩士,主要從事知識工程研究。

    TP37

    A

    1009-0312(2016)05-0052-04

    猜你喜歡
    宿主機(jī)開發(fā)板IP地址
    鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
    虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
    嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)的思考
    基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
    黑龍江電力(2017年1期)2017-05-17 04:25:16
    Microchip最新推出兩款PIC32 Curiosity開發(fā)板
    淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
    電子制作(2017年22期)2017-02-02 07:10:14
    嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)研究
    Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
    Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
    在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
    万荣县| 利辛县| 蓬莱市| 中超| 增城市| 灵丘县| 赤水市| 崇阳县| 宜川县| 斗六市| 平阳县| 南安市| 尖扎县| 中阳县| 双流县| 郧西县| 宜州市| 昭平县| 钟山县| 宣威市| 新蔡县| 盐源县| 华池县| 高清| 辉南县| 西乌珠穆沁旗| 台中市| 威信县| 马边| 五指山市| 历史| 海安县| 惠水县| 扎鲁特旗| 渭源县| 奉节县| 循化| 富民县| 岢岚县| 闽侯县| 金昌市|