亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種畫(huà)面同步系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2015-05-15 03:19:48姜利英梁茂岳保磊孔令春
        現(xiàn)代計(jì)算機(jī) 2015年7期
        關(guān)鍵詞:源碼插件內(nèi)核

        姜利英,梁茂,岳保磊,孔令春

        (1.鄭州輕工業(yè)學(xué)院電氣信息工程學(xué)院,鄭州 450002;2.北京凌陽(yáng)愛(ài)普科技有限公司,北京 100085)

        一種畫(huà)面同步系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        姜利英1,梁茂1,岳保磊1,孔令春2

        (1.鄭州輕工業(yè)學(xué)院電氣信息工程學(xué)院,鄭州 450002;2.北京凌陽(yáng)愛(ài)普科技有限公司,北京 100085)

        為了更好滿足現(xiàn)在會(huì)議等場(chǎng)合的需求,通過(guò)采用和修改MJPG-streamer開(kāi)源視頻服務(wù)器軟件的源碼,為其添加新的功能模塊,實(shí)現(xiàn)板端與PC端屏幕同步顯示的效果。使得原本多用于視頻監(jiān)控的MJPG-streamer,有新的應(yīng)用領(lǐng)域。介紹MJPG-streamer的主要插件及其功能并詳細(xì)給出利用MJPG-streamer畫(huà)面同步的實(shí)現(xiàn)的方法。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)可以很好實(shí)現(xiàn)屏幕間的同步。

        嵌入式Linux;MJPG-streamer;同步

        0 引言

        隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、移動(dòng)通信技術(shù)、多媒體技術(shù)的快速發(fā)展[1],人們對(duì)產(chǎn)品的體驗(yàn)的要求越來(lái)越高。當(dāng)前公司在進(jìn)行產(chǎn)品展示時(shí),多進(jìn)行遠(yuǎn)距離展示,這樣就會(huì)增加了公司的成本,并占用了辦公室內(nèi)的空間,且搬移不便。基于此,本文采用了一個(gè)開(kāi)源工程軟件,經(jīng)過(guò)修改,設(shè)計(jì)實(shí)現(xiàn)了一種畫(huà)面同步系統(tǒng),減小了對(duì)投影設(shè)備的依賴,同時(shí)減少了占地空間,該系統(tǒng)在會(huì)展中心、學(xué)校、銀行、公司等有著廣泛的市場(chǎng)和發(fā)展前景。

        1 系統(tǒng)總體設(shè)計(jì)

        該系統(tǒng)是以Cortex-A8處理器S5PV210為核心,在嵌入式Linux系統(tǒng)平臺(tái)下,通過(guò)MJPG-streamer的輸入插件獲取屏幕的數(shù)據(jù),然后對(duì)所得到的視頻數(shù)據(jù)通過(guò)內(nèi)部總線送到視頻服務(wù)器MJPG-streamer上,視頻服務(wù)器經(jīng)過(guò)對(duì)圖像壓縮處理,經(jīng)過(guò)以太網(wǎng)傳輸出去,遠(yuǎn)端客戶機(jī)通過(guò)瀏覽器或者專(zhuān)用軟件訪問(wèn)視頻服務(wù)器[2],即可在客戶端同步顯示板端實(shí)時(shí)畫(huà)面,系統(tǒng)總體如圖1所示。

        圖1 系統(tǒng)總體框圖

        2 硬件設(shè)計(jì)

        系統(tǒng)的硬件系統(tǒng)主要包括三星公司的Cortex系列處理器S5PV210、觸摸屏、網(wǎng)卡、串口以及內(nèi)存和NAND Flash存儲(chǔ)芯片組成。s5pv210是一款高性能32位RISC微處理器,采用了ARM Cortex-A8內(nèi)核,ARM V7指令集,主頻可達(dá)1GHz,64/32位內(nèi)部總線結(jié)構(gòu),32/ 32KB的數(shù)據(jù)/指令一級(jí)緩存,512KB的二級(jí)緩存[3],具有低功耗、低成本等優(yōu)點(diǎn)。網(wǎng)卡選用支持10/100Mbps、小型、電壓可變的以太網(wǎng)芯片LAN9220,,內(nèi)存采用DDR2 RAM(K4T1G164),NAND Flash采用Samsung K9K8G08U0B,SLC結(jié)構(gòu),大小為1Gx8bit,串口用于開(kāi)發(fā)過(guò)程中的調(diào)試使用,具體硬件結(jié)構(gòu)如圖2所示。

        圖2 硬件結(jié)構(gòu)圖

        3 軟件設(shè)計(jì)

        3.1 系統(tǒng)軟件總體框架的介紹

        本次設(shè)計(jì)的系統(tǒng)軟件從下往上依次為Bootloader, Linux內(nèi)核,Yaffs文件系統(tǒng)和MJPG-streamer視頻服務(wù)器,其中需要添加必要的設(shè)備驅(qū)動(dòng),系統(tǒng)框圖如圖3所示。

        圖3 整體結(jié)構(gòu)框圖

        Bootloader引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段代碼,是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一小段程序,通過(guò)設(shè)備的初始化,并建立內(nèi)存映射空間,為操作系統(tǒng)準(zhǔn)備好合適的環(huán)境[4]。一般從網(wǎng)上下載的Bootloader,需要通過(guò)修改添加對(duì)特定硬件的識(shí)別、初始化之后,然后經(jīng)過(guò)交叉編譯得到可執(zhí)行文件,通過(guò)SD卡或其他方式下載到板子上。

        由于Linux內(nèi)核是采用模塊化設(shè)計(jì)的一種源碼開(kāi)放的操作系統(tǒng),所以在選擇了觸摸屏驅(qū)動(dòng)外,為了縮小編譯后內(nèi)核鏡像的大小,本系統(tǒng)里只保留了必需的功能模塊,刪除了冗余的功能模塊,待一切選擇好后,就可以執(zhí)行make命令對(duì)內(nèi)核重新編譯,然后就可以在/ arm/arch/boot目錄下產(chǎn)生一個(gè)zImage文件。

        文件系統(tǒng)可以通過(guò)從官網(wǎng)下載有“瑞士軍刀”之稱(chēng)的busybox1-1.6源碼編譯,然后通過(guò)mkyaffs2image工具制作yaffs文件系統(tǒng),文件系統(tǒng)中包括Linux啟動(dòng)時(shí)必要的文件,內(nèi)核啟動(dòng)后加載linuxrc文件,按照順序啟動(dòng)各種服務(wù)、掛載操作和完成C庫(kù)的拷貝。

        3.2 MJPG-streamer的結(jié)構(gòu)和畫(huà)面同步的設(shè)計(jì)

        MJPG-streamer是一個(gè)輕量級(jí)的視頻服務(wù)器軟件。一個(gè)可以從單一輸入組件獲取圖像并傳輸?shù)蕉鄠€(gè)輸出組件的命令行應(yīng)用程序[5]。MJPG-streamer的源碼結(jié)構(gòu)分明,層次清晰,由于它采用模塊化的設(shè)計(jì)方法,所有的工作都是通過(guò)它的各個(gè)插件完成的,所以軟件中只要定義好了各組件(plug-in)的輸入、輸出以及組件之間的銜接關(guān)系,用戶就可自行根據(jù)對(duì)功能的需求,完成自己的設(shè)計(jì),本次設(shè)計(jì)就是通過(guò)添加input_screen插件來(lái)實(shí)現(xiàn)畫(huà)面同步的。

        它有兩個(gè)最主要并且最常用的組件是input_uvc輸入組件和output_http輸出組件,input_uvc輸入插件用于產(chǎn)生視頻數(shù)據(jù)并將視頻數(shù)據(jù)復(fù)制到內(nèi)存中,output_http輸出插件是網(wǎng)站服務(wù)器插件,它可以將攝像頭采集的視頻數(shù)據(jù)傳送到用戶瀏覽器中[6],其中output_ http輸出插件是一個(gè)功能齊全的HTTP1.0的Web服務(wù)器,可以根據(jù)現(xiàn)有的M-JPEG標(biāo)準(zhǔn),從一輸入插件中獲取圖像,向客戶端瀏覽器傳輸jpeg流文件,從而實(shí)現(xiàn)從瀏覽器端訪問(wèn)視頻數(shù)據(jù)的要求。正是由于該開(kāi)源工程擁有這兩個(gè)重要的插件,所以該服務(wù)器軟件多用于視頻監(jiān)控等領(lǐng)域。而在本文中,由于不是使用MJPG-streamer通用的功能,所以input_uvc插件用不到,只用到了output_http插件。

        另外它還包括input_control、input_file、input_testpicture、input_gspcavl、output_autofocus、output_file, out_viewer等組件,具體如圖4所示。

        圖4 MJPG-streamer結(jié)構(gòu)框圖

        由于M JPG-streamer主函數(shù)的定義在mjpg_ streamer.c文件,在實(shí)現(xiàn)了各個(gè)輸入輸出組件后,主函數(shù)通過(guò)調(diào)用各個(gè)組件即可完成整個(gè)視頻采集傳輸顯示的全部過(guò)程。以下是本設(shè)計(jì)中input_screen輸入組件各個(gè)模塊程序設(shè)計(jì)的具體實(shí)現(xiàn)思路。

        (1)int input_init(input-parameter *param)

        該函數(shù)的功能是通過(guò)對(duì)輸入?yún)?shù)的判斷,循環(huán)分析輸入?yún)?shù)來(lái)進(jìn)行對(duì)應(yīng)的操作,如提示保存所需要的輸入?yún)?shù)的信息,設(shè)置延時(shí)的秒數(shù)等。

        (2)int input_run(void)

        該函數(shù)創(chuàng)建了一個(gè)工作線程worker_thread線程,該線程實(shí)現(xiàn)了rgb24格式圖片到JPEG格式圖片的轉(zhuǎn)換,以方便視頻畫(huà)面的傳輸和顯示,具體工作流程見(jiàn)下文。最后使用pthread_deatch函數(shù)回收線程序資源。

        (3)int input_stop(void)

        該函數(shù)通過(guò)調(diào)用pthread_cancel(worker)取消圖片格式轉(zhuǎn)換的工作線程,回收線程資源,節(jié)省內(nèi)存空間。

        (4)int input_cmd(int in_cmd_type cmd,int value)

        該函數(shù)的功能為對(duì)屏幕參數(shù)的調(diào)整和控制,通過(guò)對(duì)參數(shù)的判別,增加或減小獲取到的屏幕的數(shù)據(jù)。

        其中第二步里的線程函數(shù)worker_thread(void*arg)具體實(shí)現(xiàn)流程圖如下:

        圖5

        經(jīng)過(guò)上述對(duì)MJPG-streamer輸入插件input_screen的增加,即可實(shí)現(xiàn)畫(huà)面的同步,然后就是對(duì)整個(gè)項(xiàng)目的重新編譯和移植,具體移植過(guò)程不再詳述,可參考相關(guān)文獻(xiàn)。由于編譯過(guò)程中需要libjpeg.so庫(kù),所有需要先移植jpeg庫(kù),然后導(dǎo)入環(huán)境變量export LIB_PATH=/ home/edu/share/install/,進(jìn)行編譯安裝,最后把生成的.so文件拷貝到m jpg目錄下。啟動(dòng)視頻服務(wù)器后,指定服務(wù)器的輸入/輸出組件以及該文件夾的路徑,那么客戶端會(huì)瀏覽事先存編寫(xiě)好的已存放在/m jpg/www目錄下的網(wǎng)頁(yè),最后在start.sh啟動(dòng)該服務(wù)器即可,修改后的語(yǔ)句如下:

        4 結(jié)語(yǔ)

        本文通過(guò)研究開(kāi)源工程MJPG-streamer的結(jié)構(gòu)和源碼,在它通用的功能基礎(chǔ)上,通過(guò)增加input_screen輸入組件,很好地實(shí)現(xiàn)了視頻同步。不僅拓展了MJPG-streamer的用途,而且設(shè)計(jì)了一種簡(jiǎn)單方便的同步方法,經(jīng)驗(yàn)證,該系統(tǒng)實(shí)現(xiàn)的效果很好,可以用于各種需要演示的場(chǎng)合。效果如圖6。

        圖6

        [1] 許青,劉方.基于ARM9的室內(nèi)無(wú)線監(jiān)控報(bào)警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2013,26(2):103

        [2] 于艷萍,朱曉智,王中訓(xùn).基于ARM9和USB攝像頭的網(wǎng)絡(luò)視頻采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(24):50

        [3] 三星處理器芯片手冊(cè)

        [4] 楊闊,何東健.基于S3C6410的田間視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(6):1979

        [5] 陳書(shū)益,黃永慧.開(kāi)源視頻服務(wù)器軟件MJPG-streamer的研究和應(yīng)用[J].電子設(shè)計(jì)工程,2012,20(5):172

        [6] 楊宏,張志文.基于Web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2012,10:72

        Design and Implementation of Screen Synchronous System

        JIANG Li-ying1,LIANG Mao1,YUE Bao-lei1,KONG Ling-chun2,
        (1.Institute of Electrical Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002;2.Beijing Sunplusapp Technology Co.Ltd.,Beijing 100085)

        In order to bettermeet the requirements of presentmeeting,modifies the MJPG-streamer open source video server s of tware and source code,adds new modules for the realization of the plate,tomake the screen synchronization display of terminal and PC.Makes the new use for videomonitoring of MJPG-streamer.Introduces themain plug-ins and their functions and themethod of screen synchronization, the experimental results show that the design is very good to achieve the synchronization between the screens.

        Embedded Linux;MJPG-streamer;Synchronous

        1007-1423(2015)07-0065-04

        10.3969/j.issn.1007-1423.2015.07.018

        姜利英(1981-),女,河南郾城人,博士,副教授,研究方向?yàn)樯飩鞲衅骷皺z測(cè)微系統(tǒng)

        梁茂(1988-),男,河南固始人,碩士,研究生,研究方向?yàn)閱纹瑱C(jī)及嵌入式系統(tǒng)

        2014-10-20

        2015-02-10

        岳保磊(1987-),男,河南駐馬店人,碩士,,研究方向?yàn)樯飩鞲衅鳌纹瑱C(jī)檢測(cè)微系統(tǒng)

        孔令春(1984-),男,江蘇南京人,工程師,研究方向?yàn)橐曇纛l、嵌入式系統(tǒng)

        猜你喜歡
        源碼插件內(nèi)核
        基于網(wǎng)頁(yè)源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲(chóng)代碼生成方法
        基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測(cè)方法
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        企業(yè)如何保護(hù)源碼
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
        MapWindowGIS插件機(jī)制及應(yīng)用
        中文字幕avdvd| √新版天堂资源在线资源| 久久久久久人妻毛片a片| 欧美视频九九一区二区| 亚洲一区二区三区av色婷婷| 国内嫩模自拍诱惑免费视频| 无码va在线观看| 国产精品久免费的黄网站| 日韩精品人妻中文字幕有码| 经典三级免费看片天堂| 国产成人一区二区三区| 国产精品无码一区二区在线国| 亚洲妇女av一区二区| 日本午夜理论片在线观看| 国产农村乱辈无码| 久久综合网天天 | 少妇性l交大片免费快色| 51国产偷自视频区视频| 国产精品久久久久久久久免费| 亚洲欧美性另类春色| 国产精品美女主播在线| 国产av国片精品有毛| 亚洲最大日夜无码中文字幕| 久久亚洲中文字幕精品一区四| av网站免费在线浏览| 色欲av蜜桃一区二区三| 国产一区二区精品在线观看| 日本一区二区高清视频在线| 香蕉视频在线观看亚洲| 国产真实伦在线观看| 亚洲欧美日韩高清一区二区三区 | 色av综合av综合无码网站| 亚洲国产免费公开在线视频| 国产在线观看视频一区二区三区| 成人性生交大片免费看96| 国产亚洲欧美在线观看的| 淫秽在线中国国产视频| 亚洲第一狼人天堂网亚洲av | 久久精品国产99精品国偷| 亚洲大胆美女人体一二三区| 在线观看免费无码专区|