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

        ?

        基于達(dá)芬奇技術(shù)的流媒體系統(tǒng)實(shí)現(xiàn)

        2011-08-04 06:36:50王延家劉知貴
        通信技術(shù) 2011年8期
        關(guān)鍵詞:系統(tǒng)

        王延家,劉知貴

        (西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010)

        0 引言

        流媒體技術(shù)正處在迅速發(fā)展的階段。因其具有實(shí)時(shí)性和連續(xù)性的特點(diǎn),被廣泛用于多媒體新聞發(fā)布、視頻點(diǎn)播、實(shí)時(shí)視頻會(huì)議等互聯(lián)網(wǎng)信息服務(wù)的方方面面。H.264縮標(biāo)準(zhǔn)具有更高的壓縮率和質(zhì)量,同時(shí)還引入了面向包的機(jī)制,特別適合IP網(wǎng)絡(luò)傳輸,支持視頻的流媒體傳輸。借助TI's Davinci技術(shù)實(shí)現(xiàn)H.264編碼,利用開(kāi)源的LiveMediaServer作為視頻流媒體服務(wù)器通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)多播,在不同地點(diǎn)通過(guò)運(yùn)行在PC機(jī)上的播放器實(shí)現(xiàn)視頻流的播放。

        1 系統(tǒng)總體結(jié)構(gòu)實(shí)現(xiàn)

        系統(tǒng)使用 DM6446數(shù)字視頻評(píng)估板(DVEM)[1]做硬件平臺(tái),DM6446SOC迎合了嵌入式設(shè)備網(wǎng)絡(luò)連接和音視頻編解碼的需求。其系統(tǒng)框如圖1所示。CCD圖像傳感器采集的視頻信號(hào)經(jīng)過(guò)DM6446的VPSS解碼成YUV格式的數(shù)字信號(hào),通過(guò)CodecEngine在DSP側(cè)實(shí)現(xiàn)視頻的H.264標(biāo)準(zhǔn)壓縮,壓縮后的視頻信號(hào)與運(yùn)行在ARM上的LiveMediaServer流媒體服務(wù)器交互,LiveMediaServer響應(yīng)運(yùn)行在遠(yuǎn)程客戶(hù)端 PC上的播放器軟件的請(qǐng)求,將數(shù)據(jù)通過(guò)網(wǎng)絡(luò)輸送到客戶(hù)端播放器,在客戶(hù)端可實(shí)現(xiàn)播放、暫停、存儲(chǔ)等相關(guān)功能。

        圖1 系統(tǒng)框

        2 音視頻處理的Davinci技術(shù)

        Davinci技術(shù)是一種數(shù)字音視頻協(xié)同解決方案。其采用了一種開(kāi)放式的模塊化架構(gòu),其各個(gè)組件都是可配置的,利于實(shí)現(xiàn)軟件的升級(jí)和各模塊的重用。主要有以下幾個(gè)大模塊組成[2]:

        ①DSP子系統(tǒng):主要實(shí)現(xiàn)各種格式的音視頻編解碼算法,算法實(shí)例可配置為不同的優(yōu)先級(jí),由DSP/BIOS調(diào)度運(yùn)行。

        ②ARM子系統(tǒng):包括ARM9或Cortex-A8及各種外設(shè)。主要完成包括 DSP的初始化、引導(dǎo),應(yīng)用程序、圖形用戶(hù)界面的實(shí)現(xiàn)等功能。

        ③VPSS(視頻處理子系統(tǒng)):主要實(shí)現(xiàn)音/視頻的采集、各種預(yù)處理、顯示和提供圖形用戶(hù)界面等。

        CodecEngine是處理器間通信的橋梁[3]。實(shí)現(xiàn)過(guò)程如圖2所示。

        圖 2 算法調(diào)用用過(guò)程

        首先調(diào)用 Engine API VIDENC_p_process(a,b,c);通過(guò)OSAL將參數(shù)和調(diào)用信息打包發(fā)送給處理器間通信協(xié)議DSPLink;DSPLink中轉(zhuǎn)給DSP側(cè)低優(yōu)先級(jí)的RMS(基礎(chǔ)服務(wù)程序),RMS根據(jù)傳遞來(lái)的信息調(diào)用DSP本地的算法創(chuàng)建算法實(shí)例;而后將句柄返回給ARM端的應(yīng)用程序完成調(diào)用過(guò)程。應(yīng)用程序線(xiàn)程使用信號(hào)量同步于RPC調(diào)用。DSP可以運(yùn)行多個(gè)算法實(shí)例,執(zhí)行調(diào)用的應(yīng)用程序線(xiàn)程間通過(guò) FIFO方法實(shí)現(xiàn)同步。

        3 流媒體服務(wù)器及實(shí)時(shí)傳輸協(xié)議

        LiveMediaServer是一個(gè)完善的RTSP程序,支持MPEG、H.264、WAV、ACC等多種格式的音視頻文件,使用RTP、RTSP等流媒體傳輸協(xié)議[4-5]。可同時(shí)實(shí)現(xiàn)多個(gè)不同格式的流傳輸并支持多播,默認(rèn)使用 RTP/UDP包傳輸。MediaServer采用“源-目的”模式。源者為數(shù)據(jù)的生產(chǎn)者,即數(shù)據(jù)源。目的為數(shù)據(jù)的消費(fèi)者,即如把接收到的數(shù)據(jù)存儲(chǔ)到文件就是一個(gè)FileSink,而通過(guò)RTP打包傳輸就是1個(gè)RTPSink。服務(wù)器主類(lèi)為 liveMedia庫(kù)下的 RTSPServer;mediaServer下的liveMediaServer為主程序的入口類(lèi),DynamicRTSPServer是RTSPServer的實(shí)現(xiàn)類(lèi)。

        RTP(實(shí)時(shí)傳輸協(xié)議):支持實(shí)時(shí)數(shù)據(jù)的端到端多播或單播網(wǎng)絡(luò)傳輸。它沒(méi)有交付機(jī)制,必須和UDP一起使用。RTP的主要貢獻(xiàn)是:時(shí)間戳、序號(hào)、有效載荷等,所有的有用信息都包含在其分組固定和擴(kuò)展首部中。

        RTSP(實(shí)時(shí)流傳輸協(xié)議)[6]:作為MediaServer的傳輸控制協(xié)議。在PC播放器與MediaServer間建立并控制流信息,它充當(dāng)了“網(wǎng)絡(luò)遙控器”的角色[7]。RTSP客戶(hù)端維護(hù)多個(gè)連接,通過(guò)與控制通道無(wú)關(guān)的獨(dú)立協(xié)議發(fā)送的流,因此服務(wù)器需要維護(hù)“會(huì)話(huà)狀態(tài)”以便使 RTSP請(qǐng)求和流相互關(guān)聯(lián)。常用的命令有OPTIONS、DESCRIBE等。

        4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        4.1 視頻采集實(shí)現(xiàn)

        Linux運(yùn)行后處于保護(hù)模式,不能直接對(duì)硬件進(jìn)行操作,需要借助系統(tǒng)提供的驅(qū)動(dòng)程序模塊通過(guò)標(biāo)準(zhǔn)Linux API完成操作。既可以使用標(biāo)準(zhǔn)的Linux API(open、ioctl、poll等)也可以使用 TI開(kāi)發(fā)的與標(biāo)準(zhǔn) Linux API兼容 EPSI API(VFPE_open、VFPE_control等)實(shí)現(xiàn)采集。采集視頻信號(hào)經(jīng)過(guò)A/V接口輸送到CCDC將視頻解碼數(shù)字化后送到視頻處理前端的視頻輸入口,DM6446視頻前端再將視頻信號(hào)進(jìn)行一些可選的預(yù)處理操作,將視頻數(shù)據(jù)的緩存地址提供給應(yīng)用程序。緩存地址應(yīng)分配物理連續(xù)的地址,流程如圖3所示。

        圖3 采集流程

        4.2 媒體服務(wù)器MediaServer實(shí)現(xiàn)

        MediaServer是采用“源—目的”模式基于事件驅(qū)動(dòng)實(shí)現(xiàn)的。TaskScheduler∶doEventLoop()開(kāi)始事件循環(huán)。基本過(guò)程如下:

        對(duì)源代碼進(jìn)行修改交叉編譯,實(shí)現(xiàn)服務(wù)器在基于 ARM的達(dá)芬奇平臺(tái)上的運(yùn)行。在子目錄有演示例程,修改其源碼使其從傳遞線(xiàn)程緩存中不斷讀取壓縮編碼的H.264視頻數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)。程序片段如下。

        修改配置文件config.armlinux。執(zhí)行g(shù)enmakefiles在主目錄及子目錄下生成Makefile,執(zhí)行make編譯即可。

        4.3 系統(tǒng)主程序的實(shí)現(xiàn)及測(cè)試

        整個(gè)系統(tǒng)采用多線(xiàn)程機(jī)制,充分利用了系統(tǒng)資源提高系統(tǒng)的性能[8]。系統(tǒng)由4個(gè)POSIX線(xiàn)程(pthreads)組成,分別為主線(xiàn)程、采集線(xiàn)程、編碼線(xiàn)程、傳遞線(xiàn)程。線(xiàn)程之間使用條件信號(hào)量同步,只有當(dāng)所有的線(xiàn)程都完成初始化之后才能開(kāi)始各自的循環(huán)。它們使用由Memory_contigAlloc()分配的緩存交換數(shù)據(jù)。MediaServer作為一個(gè)獨(dú)立進(jìn)程執(zhí)行。編碼線(xiàn)程從采集線(xiàn)程獲取數(shù)據(jù)進(jìn)行壓縮編碼;將編碼后的數(shù)據(jù)送到傳遞線(xiàn)程;傳遞線(xiàn)程與 MediaServer交互經(jīng)網(wǎng)絡(luò)傳送出去。線(xiàn)程間交互如圖4所示。

        圖4 線(xiàn)程間數(shù)據(jù)交互

        對(duì)系統(tǒng)進(jìn)行了測(cè)試。使用CCD圖像傳感器采集D1(720*480)格式的視頻信號(hào)序列,速率25幀/s,時(shí)間35 s左右。經(jīng)網(wǎng)絡(luò)傳輸后由遠(yuǎn)程 PC機(jī)上的兼容播放器進(jìn)行播放、控制。測(cè)試結(jié)果表明,視頻傳輸實(shí)時(shí)性良好、畫(huà)面質(zhì)量清晰。系統(tǒng)測(cè)試如圖5所示。

        圖5 系統(tǒng)測(cè)試

        5 結(jié)語(yǔ)

        使用達(dá)芬奇技術(shù)和開(kāi)源媒體 Live555StreamingMedia實(shí)現(xiàn)了一種嵌入式流媒體系統(tǒng)并對(duì)系統(tǒng)進(jìn)行了驗(yàn)證。客戶(hù)端只需要使用播放器即可對(duì)遠(yuǎn)程場(chǎng)景進(jìn)行實(shí)時(shí)查看控制。各種新媒體格式及算法標(biāo)準(zhǔn)不斷涌現(xiàn),采用達(dá)芬奇技術(shù)的開(kāi)放架構(gòu)便于軟件模塊的重用和升級(jí),加上無(wú)線(xiàn)模塊以后可容易的實(shí)現(xiàn)無(wú)線(xiàn)傳輸功能,具有良好的應(yīng)用前景。

        [1] Texas Instruments.TMS320DM6446 DVEVMv2.0Getting Started Guide[EB/OL]. (2008-11-06) [2011-02-15] .http://www.ti.com/lit/SPRUE66E.

        [2] 彭啟琮.達(dá)芬奇技術(shù)—數(shù)字圖像/視頻信號(hào)處理新平臺(tái)[M].北京:電子工業(yè)出版社,2008:36-85,98-99.

        [3] STEVE Preissig. Programming Details of Codec Engine For DaVinci Technology[EB/OL]. (2006-08-23) [2011-01-25].http://focus.ti.com/docs/prod/folders/print/tms320dm6446.html.

        [4] LiveMediaServer[EB/OL]. (2001-07-08) [2011-01-09]. http://www.live555. com/mediaServer.

        [5] 宋融融,陳惠民,凌勇. 流媒體播放器實(shí)時(shí)傳輸協(xié)議的實(shí)現(xiàn)[J].通信技術(shù),2005(S1):86-88.

        [6] SCHULZRINNE H, RAO A, LANPHIER R.Real Time Streaming Protocol.[EB/OL] (1998-08-23)[2010-12-26].http://www.ietf.org/rfc/rfc2326.txt.

        [7] 胡曉,高鷹, 余群,等. 移動(dòng)數(shù)字化校園中流媒體的實(shí)現(xiàn)[J].通信技術(shù),2008,41(12):399-401.

        [8] Texas Instruments.Encode Demo for the DVEVM/DVS DK1.2[EB/OL].(2007-07-08) [2011-01-19].http://www.ti.comSPRAA96.

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開(kāi)發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        国产老熟女精品一区二区| 亚洲精品国产品国语在线app| 四虎成人精品国产永久免费| 日本女同视频一区二区三区| 无码av天天av天天爽| 东北妇女肥胖bbwbbwbbw| 91网站在线看| 一本久道视频无线视频试看| 不卡一区二区黄色av| 97久久精品无码一区二区天美| 欧美乱妇日本无乱码特黄大片| 二区三区亚洲精品国产| gg55gg国产成人影院| 国产高清av首播原创麻豆| 国产精品一区高清在线观看| 一区二区三区四区日韩亚洲| 国产青青草在线观看视频| 中文字幕天天躁日日躁狠狠躁免费 | 国产激情久久久久久熟女老人| 日本老熟妇50岁丰满| 亚洲午夜成人片| 亚洲精品女人天堂av麻| 亚洲午夜精品国产一区二区三区| 美女免费视频观看网址| 国产成人精品久久一区二区三区| 国产区福利| 国产精品乱子伦一区二区三区 | 国产精品久久久久免费观看| 亚洲日韩乱码中文无码蜜桃臀| 日韩人妻无码精品系列专区无遮| 亚洲不卡在线免费视频| 天堂8在线天堂资源bt| 久久久久中文字幕精品无码免费| 国产精品日本中文在线| 欧美白人战黑吊| 成人h动漫精品一区二区| 国产精品一区二区午夜久久| 在线观看国产成人自拍视频| 亚洲成人色区| 一个人免费观看在线视频播放| 久久一区二区av毛片国产|