新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 多路嵌入式H.264視頻服務器的設計詳解

        多路嵌入式H.264視頻服務器的設計詳解

        作者: 時間:2008-07-04 來源:微計算機信息 收藏

          1 引 言

        本文引用地址:http://www.104case.com/article/85285.htm

          隨著計算機網絡和壓縮技術的快速發展,多媒體技術的研究和應用受到了越來越多的重視,其中的發展尤為迅速,特別是[1][2]。

          由于具有體積小,安裝靈活的特點,只要能接入到Internet, 它就可以為任何授權的用戶提供實時的服務,避免了鋪設專門線路進行視頻信號傳輸的昂貴費用。

          視頻是一種能提供視頻采集,視頻數據壓縮,網絡傳輸功能的一種多媒體信息服務器。其傳輸處理的是視頻流,而視頻傳輸具有實時性高、數據量大等特點,它需要滿足以下三點要求:一:高帶寬,高帶寬保證大數據量的多媒體數據傳輸效率;二:支持QoS,保證傳輸的質量、資源預留;三:支持多種傳輸方式。由于環境資源的限制,在視頻數據的實時性傳輸和圖象質量方面,其QoS一直得不到保證。特別是多路的情況,實時視頻的傳輸質量隨路數的增加會急劇下降。嵌入式視頻服務器性能的瓶頸主要在于視頻數據的傳輸上,因此縮短視頻數據的傳輸時間就能提高視頻服務器的性能。縮減視頻數據的傳輸時間可以從兩個方面入手:一:減少視頻數據傳輸的信息量。主要通過采用高性能的壓縮編碼技術來減少傳輸的信息量。二:采用適合多媒體數據的傳輸協議??紤]到嵌入式的系統資源及其寶貴,故我們選用了目前編碼效率最高的H.264[3]技術和專門為傳輸多媒體數據的RTP[4]傳輸協議設計了本文這套系統。實驗結果表明,該嵌入式視頻服務器在不影響圖象質量的前提下,能夠比以往的視頻服務器占用更低的帶寬。

          2 系統的硬件組成

          我們在設計中采用了HHARM2410嵌入式開發套件,它由核心板和底板組成,核心板上集成Samsung S3C2410 處理器(203M 的主頻,100M的總線速度),64M SDRAM以及16M 的FLASH。底板上提供以下外設接口:一個四線RS-232 串口,一個USB HOST接口,一個10M/100M自適應以太網接口,一個TFT LCD接口, 一個觸摸屏接口。操作系統采用裁減過的嵌入式Linux。該嵌入式視頻服務器的結構框圖如圖1所示。

        圖1 嵌入式視頻服務器硬件組成

          應用程序通過編碼器模塊采集H.264視頻流,按照RTP協議實時打包,并通過以太網接口 實現實時流傳輸( IP Streaming) 。另外還可以擴充一塊802. 11b /g無線模塊,來達到無線網絡傳輸的目的,并可通過IDE接口擴充一塊IDE硬盤作為本地H.264視頻圖像存儲之用。

          3 服務器軟件設計

          服務器是整個系統的核心,它工作在嵌入式Linux平臺上,嵌入式Linux是標準Linux經裁減得到的,同Linux一樣,具有穩定,安全,高效率,實時性好等優點。服務器端采用模塊化設計,從功能角度,服務器端的軟件體系結構可劃分為5個模塊:采集模塊,編碼模塊,網絡傳輸模塊,存儲模塊,設備控制模塊。其體系結構如圖2所示:

        圖2 服務器軟件體系結構圖

         ?。?)采集模塊,主要完成視頻的采集,圖像格式的轉換,在此處設定采集的圖像格式為YUV。采用Linux的v4l[5]來實現,v4l是Linux中提供的一個音視頻接口規范,所有的音視頻設備的驅動編寫要用到這些接口。

          (2)編碼模塊,主要完成對采集的圖像的壓縮編碼。對采集到的圖像數據進行壓縮可以有兩種方案,一種是用硬件來壓縮,它可以有專用系統和通用系統兩種形式,其中,專用系統使用專用芯片實現圖像的硬件壓縮,通用系統則利用通用芯片實現數據壓縮。相對于通用系統,用專用芯片對圖像用硬件進行壓縮可以快速進行圖象壓縮,減少處理器的開銷等點。第二種壓縮方法就是用軟件來實現,這種方法對機器的硬件配置要求較高,但運用起來靈活,考慮到現在硬件技術已經比較成熟,故我們采用第二種方案,對采集到的圖像數據進行軟壓縮,此處利用H.264標準進行壓縮。H.264壓縮標準是一種新的編碼方法。與其他壓縮編碼方式比較,利用H.264標準可以獲得更高的壓縮比及更好的圖象質量。H.264編碼器都是開源的,可以從網上下載,此處用的是t264,對采集到的YUV格式的數據進行逐幀壓縮。

         ?。?)網絡傳輸模塊,完成現場多媒體數據及歷史多媒體數據的網絡的傳輸,用于支持瀏覽端的現場預覽和記錄回放功能。其基本過程是碼流經碼率控制部分進行碼率調整,然后由RTP組件傳送到網絡中。傳輸啟動之初,組播控制器根據多用戶代理提供瀏覽端的組播策略來協商組播策略;傳輸過程中,RTCP組件實時監測網絡狀況并反饋給決策控制器,決策控制器控制分離器、視頻抽幀器和碼流復合器組件,完成碼流的動態整合。其傳輸體系結構如圖3所示:

        圖3視頻流傳輸體系結構

         ?。?)存儲模塊,多個攝像頭采集的多路視頻數據經編碼壓縮后形成復合媒體流,通過存儲組件,存為H.264文件,同時向數據庫中寫相應的文件信息。

          (5)設備控制模塊,設備控制器接收用戶界面發出的或網絡傳送來的控制命令,控制解碼器,完成對云臺、鏡頭等設備的控制。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 内黄县| 玉环县| 望城县| 闽侯县| 许昌市| 海城市| 梓潼县| 新河县| 嫩江县| 桑植县| 泽普县| 南郑县| 托克逊县| 旬阳县| 平江县| 兴化市| 澎湖县| 吉隆县| 周宁县| 库车县| 惠安县| 新晃| 遂平县| 寻甸| 安远县| 汉中市| 孟州市| 九寨沟县| 通江县| 清河县| 河曲县| 宁阳县| 洪江市| 墨脱县| 大姚县| 威远县| 博罗县| 阳东县| 铜陵市| 阳谷县| 恩施市|