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

        ?

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

        2011-08-04 06:36:50王延家劉知貴
        通信技術(shù) 2011年8期
        關(guān)鍵詞:播放器音視頻線程

        王延家,劉知貴

        (西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 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編碼,利用開源的LiveMediaServer作為視頻流媒體服務(wù)器通過網(wǎng)絡(luò)實(shí)現(xiàn)多播,在不同地點(diǎn)通過運(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)過DM6446的VPSS解碼成YUV格式的數(shù)字信號(hào),通過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)程客戶端 PC上的播放器軟件的請(qǐng)求,將數(shù)據(jù)通過網(wǎng)絡(luò)輸送到客戶端播放器,在客戶端可實(shí)現(xiàn)播放、暫停、存儲(chǔ)等相關(guān)功能。

        圖1 系統(tǒng)框

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

        Davinci技術(shù)是一種數(shù)字音視頻協(xié)同解決方案。其采用了一種開放式的模塊化架構(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)用程序、圖形用戶界面的實(shí)現(xiàn)等功能。

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

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

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

        首先調(diào)用 Engine API VIDENC_p_process(a,b,c);通過OSAL將參數(shù)和調(diào)用信息打包發(fā)送給處理器間通信協(xié)議DSPLink;DSPLink中轉(zhuǎn)給DSP側(cè)低優(yōu)先級(jí)的RMS(基礎(chǔ)服務(wù)程序),RMS根據(jù)傳遞來的信息調(diào)用DSP本地的算法創(chuàng)建算法實(shí)例;而后將句柄返回給ARM端的應(yīng)用程序完成調(diào)用過程。應(yīng)用程序線程使用信號(hào)量同步于RPC調(diào)用。DSP可以運(yùn)行多個(gè)算法實(shí)例,執(zhí)行調(diào)用的應(yīng)用程序線程間通過 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,而通過RTP打包傳輸就是1個(gè)RTPSink。服務(wù)器主類為 liveMedia庫下的 RTSPServer;mediaServer下的liveMediaServer為主程序的入口類,DynamicRTSPServer是RTSPServer的實(shí)現(xiàn)類。

        RTP(實(shí)時(shí)傳輸協(xié)議):支持實(shí)時(shí)數(shù)據(jù)的端到端多播或單播網(wǎng)絡(luò)傳輸。它沒有交付機(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ù)多個(gè)連接,通過與控制通道無關(guān)的獨(dú)立協(xié)議發(fā)送的流,因此服務(wù)器需要維護(hù)“會(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)程序模塊通過標(biāo)準(zhǔn)Linux API完成操作。既可以使用標(biāo)準(zhǔn)的Linux API(open、ioctl、poll等)也可以使用 TI開發(fā)的與標(biāo)準(zhǔn) Linux API兼容 EPSI API(VFPE_open、VFPE_control等)實(shí)現(xiàn)采集。采集視頻信號(hào)經(jīng)過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()開始事件循環(huán)?;具^程如下:

        對(duì)源代碼進(jìn)行修改交叉編譯,實(shí)現(xiàn)服務(wù)器在基于 ARM的達(dá)芬奇平臺(tái)上的運(yù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)及測試

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

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

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

        圖5 系統(tǒng)測試

        5 結(jié)語

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

        猜你喜歡
        播放器音視頻線程
        Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
        3KB深圳市一禾音視頻科技有限公司
        基于STM32的MP3播放器設(shè)計(jì)
        電子制作(2019年9期)2019-05-30 09:41:44
        Moon ACE播放器/放大器一體機(jī)
        WIFI音視頻信號(hào)傳輸?shù)年P(guān)鍵問題探究
        電子制作(2018年12期)2018-08-01 00:48:06
        高速公路整合移動(dòng)音視頻系統(tǒng)應(yīng)用
        淺談linux多線程協(xié)作
        播放器背板注塑模具設(shè)計(jì)
        中國塑料(2015年8期)2015-10-14 01:10:55
        Roland專業(yè)音視頻新技術(shù)研討會(huì)在上海召開
        Linux線程實(shí)現(xiàn)技術(shù)研究
        骚小妹影院| 国产丝袜长腿美臀在线观看| 中文字日产幕码三区的做法大全| 色爱无码av综合区| 日韩中文字幕欧美亚洲第一区| 国产乱人伦AⅤ在线麻豆A| 永久免费观看的黄网站在线| 国产成人精品亚洲日本在线观看| 午夜一区欧美二区高清三区| 国产高清在线精品一区αpp| 亚洲成在人网站天堂日本| 国产在视频线精品视频www666| 国产精品久久一区性色a| 精品人妻少妇丰满久久久免| 日韩av无码中文无码电影| 中文字幕无线码中文字幕| 日韩不卡无码三区| 亚洲av香蕉一区二区三区av| 国产成人精品白浆久久69| 午夜精品久久久| 黄色三级一区二区三区| 中文字幕日韩有码在线| 在熟睡夫面前侵犯我在线播放| 亚洲综合色秘密影院秘密影院| 在线视频日韩精品三区| 国产自拍高清在线观看| 国产97在线 | 免费| 阿v视频在线| 国产精品亚洲综合久久系列| 日韩精品久久无码中文字幕 | 隔壁老王国产在线精品| 亚洲av中文无码字幕色三| 日本国产在线一区二区| 精品粉嫩av一区二区三区| 99在线精品免费视频九九视| 亚洲成a∨人片在线观看无码| 国产一区二区三区杨幂| 日韩中文字幕素人水野一区| 一本无码av中文出轨人妻| 久久久久亚洲AV无码专区喷| 亚洲av粉嫩性色av|