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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于DirectShow的MPEG-4視頻傳輸系統(tǒng)的研究與實(shí)現(xiàn)

          基于DirectShow的MPEG-4視頻傳輸系統(tǒng)的研究與實(shí)現(xiàn)

          作者: 時間:2009-03-24 來源:網(wǎng)絡(luò) 收藏

          摘要 本文簡單介紹了技術(shù),了利用采集、壓縮和網(wǎng)絡(luò)傳輸技術(shù)。并利用第三方提供的數(shù)據(jù)的網(wǎng)絡(luò),在該系統(tǒng)中利用RTP協(xié)議進(jìn)行數(shù)據(jù)傳輸,同時了遠(yuǎn)端幀率的控制。
          關(guān)鍵詞 視頻; 采集; 壓縮; ; ,RTP

          本文引用地址:http://www.ex-cimer.com/article/167017.htm

          1 引言
          近年來,隨著國民經(jīng)濟(jì)的發(fā)展,社會各個部門對于視頻監(jiān)視系統(tǒng)的需求越來越多。但目前的很多監(jiān)視系統(tǒng)都跟具體的硬件相關(guān),必須要具體的采集卡的支持才能實(shí)現(xiàn)。所以有必要開發(fā)一種具有通用性的視頻監(jiān)視系統(tǒng),用普通的攝像頭就能實(shí)現(xiàn)視頻的采集。
          DirectShow的開發(fā)能很靈活地控制音視頻的效果,所以選擇DirectShow這種可擴(kuò)展性好的技術(shù)做開發(fā)對以后的應(yīng)用升級很有幫助。此外,為了實(shí)現(xiàn)流媒體傳輸控制的策略,流媒體的傳輸和回放也是應(yīng)解決的問題之一。由Microsoft提供的DirectShow技術(shù)組件對象模型技術(shù),支持寬松的格式變化,提供高品質(zhì)的多媒體流回放。利用它可以在普通微機(jī)中實(shí)現(xiàn)流媒體的客戶端處理,并可以提高系統(tǒng)的通用性和可擴(kuò)展性。
          對于視頻數(shù)據(jù)的傳輸,壓縮率是一個必須考慮到的因素。是由ISO和IEC的MPEG組制定的一個關(guān)于活動圖像和聲音的編碼國際標(biāo)準(zhǔn)。它在內(nèi)容的交互性、壓縮率、通用訪問能力等方面提供了一系列新的或改進(jìn)的功能。MPEG-4視頻在提供較好的圖像質(zhì)量的同時擁有較高的壓縮率,適合于作為傳輸?shù)膱D像壓縮標(biāo)準(zhǔn)。

          2 相關(guān)技術(shù)

          2.1 DirectShow技術(shù)簡介
          DirectShow是Microsoft為開發(fā)高性能多媒體應(yīng)用而開發(fā)的底層應(yīng)用程序接口(API),它是DirectX家族的核心成員之一。DirectShow自身是通過一種系統(tǒng)內(nèi)置的或程序員開發(fā)的過濾器(Filter)來控制和處理多媒體數(shù)據(jù)的體系結(jié)構(gòu)。該體系結(jié)構(gòu)定義了如何處理和控制過濾器內(nèi)部及相互之間的多媒體數(shù)據(jù)流。每個過濾器都有輸入或輸出針(Pin), 或兩者都有。
          過濾器(Filter)是DirectShow的基本組成部分,是Filter Graph(過濾器圖)中最小的功能模塊,DirectShow將多媒體數(shù)據(jù)的處理分離成不同的步驟,這些不同的步驟由相應(yīng)的Filter去處理。這樣我們可以把不同的過濾器搭配在一起達(dá)到我們要求的來處理多媒體數(shù)據(jù)。過濾器根據(jù)實(shí)現(xiàn)功能的不同大致可分為3類:
          (1) 源過濾器(Source Filters)。源過濾器負(fù)責(zé)得到原始媒體數(shù)據(jù)。這些媒體數(shù)據(jù)的來源包括本地硬盤或網(wǎng)絡(luò)上的媒體文件、各種采集卡等。
          (2) 轉(zhuǎn)換過濾器(Transform Filters)。轉(zhuǎn)換過濾器的任務(wù)是處理從其他過濾器中接收的數(shù)據(jù),經(jīng)過一定的處理后再傳遞給下一個過濾器。就是典型的轉(zhuǎn)換過濾器。
          (3) 表現(xiàn)過濾器(Rendering Filters)。表現(xiàn)過濾器對接收到的數(shù)據(jù)進(jìn)行最后的處理。它做的工作有:把媒體數(shù)據(jù)保存為文件、將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)、顯示視頻、回放音頻等[1]。
          在DirectShow 系統(tǒng)之上是應(yīng)用程序(Application) 。應(yīng)用程序要按照程序所要實(shí)現(xiàn)的功能建立起相應(yīng)的Filter Graph ,然后借助于Filter Graph Manager 來控制整個數(shù)據(jù)的處理過程。DirectShow 能在Filter Graph 運(yùn)行的時候接收到各種事件,并通過消息的方式發(fā)送到應(yīng)用程序。這樣就實(shí)現(xiàn)了應(yīng)用程序與DirectShow 系統(tǒng)之間的交互。
          2.2 RTP/RTCP協(xié)議介紹
          實(shí)時傳輸協(xié)議RTP(Realtime Transport Protocol)是針對Internet 上多媒體數(shù)據(jù)流的一個傳輸協(xié)議,1996 年由IETF( Internet 工程任務(wù)組) 的AVT小組作為RFC1889 發(fā)布AVT小組后來對該文檔進(jìn)行了不斷改進(jìn),于2003年7月提出了代替RFC1889的RFC3550。RTP充分體現(xiàn)了應(yīng)用層分幀這一現(xiàn)代通信協(xié)議的設(shè)計(jì)思想,允許其用戶了解、調(diào)整甚至制定連續(xù)媒體的打包方案,該協(xié)議被廣泛用于VoIP、視頻等實(shí)時媒體的傳送。RTP 協(xié)議包括RTP 和RTCP(RTP 控制協(xié)議) 兩個關(guān)系十分密切的子協(xié)議:
          (1) RTP協(xié)議-傳輸具有實(shí)時特性的數(shù)據(jù);
          (2)RTCP協(xié)議-監(jiān)測QoS 和傳送參與傳輸者的信息。
          RTP(實(shí)時傳輸協(xié)議) 通常工作在UDP的上層,從上層接收多媒體信息碼流(如MPEG-4視頻) ,組裝成RTP 數(shù)據(jù)包,然后發(fā)送給下層UDP ,相當(dāng)于OSI 的會話層,提供同步和排序服務(wù)。故RTP 協(xié)議適用于傳送連續(xù)性強(qiáng)的數(shù)據(jù),如視頻、音頻等,并對網(wǎng)絡(luò)引起的時延差錯有一定的自適應(yīng)能力。RTCP 為實(shí)時控制協(xié)議,用于管理控制信息,如監(jiān)視網(wǎng)絡(luò)的延時和帶寬,一旦所傳輸?shù)亩嗝襟w信息的帶寬發(fā)生變化,接收端則通知發(fā)送端,廣播符號化識別碼和編碼參數(shù),達(dá)到控制傳輸質(zhì)量的目的。此外,如果底層網(wǎng)絡(luò)支持多點(diǎn)傳播的話,RTP 還支持使用多點(diǎn)傳播向多個目的端點(diǎn)發(fā)送數(shù)據(jù)。
          RTP協(xié)議具有如下特點(diǎn)[5]:
          (1)靈活性
          RTP協(xié)議的數(shù)據(jù)報文和控制報文使用不同的端口,數(shù)據(jù)流和控制流分離,這樣大大地提高了協(xié)議的靈活性,處理也簡單。
          (2)支持多播
          如果下層網(wǎng)路支持,可以支持多播。
          (3)可擴(kuò)展性
          RTP協(xié)議通常為一個具體的應(yīng)用提供服務(wù),通過一個具體的應(yīng)用進(jìn)程實(shí)現(xiàn),而不作為OSI體系結(jié)構(gòu)中單獨(dú)的一層來實(shí)現(xiàn),RTP只提供協(xié)議框架,開發(fā)者可以根據(jù)應(yīng)用的具體要求對協(xié)議進(jìn)行充分的擴(kuò)展。

          3 關(guān)鍵技術(shù)的實(shí)現(xiàn)

          該系統(tǒng)的發(fā)送端實(shí)現(xiàn)思路如下:用USB攝像頭采集數(shù)據(jù),用Divx 5.1.1 Codec 對采集到的數(shù)據(jù)進(jìn)行MPEG-4的編碼,然后連到一個發(fā)送Filter把編碼后的數(shù)據(jù)發(fā)送出去。其Filter Graph如圖1所示 :

          圖1 發(fā)送端的Filter Graph


          上一頁 1 2 3 下一頁

          評論


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