• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      嵌入式流媒體播放系統(tǒng)的設計與實現(xiàn)

      2011-10-09 09:45:44蘇征遠戴祖誠
      電子設計工程 2011年20期
      關鍵詞:內(nèi)核嵌入式音頻

      蘇征遠,易 燕,戴祖誠

      (昆明學院 物理科學與技術系,云南 昆明 650214)

      隨著云計算、物聯(lián)網(wǎng)技術的興起,特別是3G技術開始在我國廣泛應用,使人們隨時隨地接入互聯(lián)網(wǎng),享受24小時在線的服務成為可能。同時為了滿足人們對于更高質(zhì)量影音感受的要求,多媒體信息處理技術正在以前所未有的速度迅猛發(fā)展,各種數(shù)字視頻技術已經(jīng)被應用于大眾的日常生活中[1]。隨著社會經(jīng)濟建設的需要,各種定制化、功能各異的嵌入式設備大量出現(xiàn),不僅方便了人們的生活,也為各種技術應用找到了新的領域。現(xiàn)在,各種通信設備特別是智能手機等嵌入式終端設備的不斷出現(xiàn),使得基于多媒體的應用能夠?qū)崿F(xiàn),如可視電話通信、網(wǎng)絡實時手機會議、終端視頻監(jiān)控等[2]。

      目前,基于TCP/IP的互聯(lián)網(wǎng)視頻點播已經(jīng)成為了流行趨勢,無論是技術上還是制度上都正趨于成熟,各項標準也逐漸開始建立。但是網(wǎng)絡視頻還都是在PC上觀看,而對于屏幕狹小、網(wǎng)絡連接不穩(wěn)、資源有限的嵌入式設備來說,如何設計出符合嵌入式特點的流媒體播放系統(tǒng)成為了在線視頻播放是否能夠在嵌入式設備上成功的關鍵。嵌入式流媒體播放系統(tǒng)中,處理器和操作系統(tǒng)必須緊密配合,系統(tǒng)應該具備視頻硬編解碼能力、網(wǎng)絡視頻傳輸和調(diào)度、能夠自動控制流速率等強大功能[3]。隨著3G網(wǎng)絡的進一步覆蓋,網(wǎng)絡質(zhì)量的不斷提高,嵌入式流媒體播放系統(tǒng)應用前景非常廣闊,正成為行業(yè)新的利潤增長點之一。

      1 流媒體的工作原理

      互聯(lián)網(wǎng)是IP分組交換為基礎進行連續(xù)的異步傳輸,待各個分組到達目的主機后再根據(jù)分組序列進行組包,但對于在線音頻、視頻文件,往往其所在存儲空間很大,在網(wǎng)絡中傳輸需要被分解為很多IP包,又網(wǎng)絡狀態(tài)甚至網(wǎng)絡拓撲都是動態(tài)變化的,每個包經(jīng)過的路由可能不盡相同,所以到達客戶端的時間延遲也不盡相同,有時候先發(fā)的數(shù)據(jù)包還有可能后到。因為這個原因,必須使用緩存技術來彌補時間延遲和網(wǎng)絡抖動的影響,最大程度保證數(shù)據(jù)包可以按正確的順序排列,從而使多媒體數(shù)據(jù)不間斷地連續(xù)輸出,減小因為網(wǎng)絡暫時擁塞而使播放出現(xiàn)停頓的影響。一般情況下,每個多媒體流所需的高速緩存容量并不龐大,再者高速緩存一般使用環(huán)形鏈表數(shù)據(jù)結(jié)構(gòu)進行實現(xiàn),不會出現(xiàn)溢出的情況;通過丟棄已經(jīng)無用的、播放過的片段,將后續(xù)尚未播放的內(nèi)容覆蓋之前的內(nèi)容就可以使高速緩存循環(huán)利用[4]。

      如圖1所示,現(xiàn)在比較流行的流媒體播放過程一般如下:用戶打開Web瀏覽器選擇某一流媒體Web服務器后,此時Web瀏覽器會與服務器之間使用HTTP協(xié)議交換數(shù)據(jù)以及控制信息,向用戶呈現(xiàn)實時的多媒體播放信息,用戶可以進行檢索播放;當用戶選中某一多媒體文件播放時,客戶機上的Web瀏覽器啟動流媒體客戶端程序,使用HTTP鏈接從Web服務器獲取多媒體文件的相關參數(shù),并對客戶端程序初始化。這些參數(shù)包括資源的位置信息、多媒體數(shù)據(jù)的編碼類型以及流媒體服務器的相關參數(shù)。

      圖1 流媒體工作原理圖Fig.1 The working principle diagram of streaming media

      2 嵌入式播放終端設計與實現(xiàn)

      流媒體播放系統(tǒng)分為服務器和嵌入式終端兩部分,由于流媒體服務器可以使用常見的服務器搭載流行的流媒體服務軟件實現(xiàn),此處不再敘述。這里重點說明嵌入式終端的設計。硬件上,采用了ARM處理器進行核心控制,編解碼芯片DM64X進行音視頻的硬解碼;嵌入式操作系統(tǒng)上,采用了穩(wěn)定高效的Linux內(nèi)核;應用軟件上,采用了模塊化的構(gòu)建方法。

      2.1 嵌入式終端硬件結(jié)構(gòu)

      系統(tǒng)的硬件結(jié)構(gòu)示意圖如圖2所示。

      圖2 嵌入式終端硬件結(jié)構(gòu)圖Fig.2 Hardware structure of the embedded terminal

      主控制器采用了三星公司的一款S3C2440微處理器,基于ARM920T內(nèi)核,采用0.18 μm工藝制作CMOS宏單元和存儲單元,同時采用 Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu),具有低功耗、精簡和出色的全靜態(tài)設計,所以特別適合于對成本和功耗敏感的應用。除此之外,他特別為各種外設準備了豐富的中斷控制能力,包括高達60個中斷源(其中,5個定時器,9個 UARTs,24個外部中斷,1個看門狗定時器,4個 DMA,2個 ADC,1個LCD,1 個電池故障,1 個 IIC,2 個 SPI,1 個 SDI,2 個 USB,1個NAND,2個Camera和1個AC97音頻),可以使用電平/邊沿觸發(fā)模式進行觸發(fā)的外部中斷源,可編程決定的邊沿/電平觸發(fā)極性,這些功能為緊急中斷請求提供了快速中斷(FIQ)服務[5]。

      編解碼芯片DM64X是美國德洲儀器(TI)公司生產(chǎn)的。TI公司是DSP芯片的行業(yè)龍頭企業(yè),這些年來它的眾多產(chǎn)品多一直統(tǒng)治著這個行業(yè),已經(jīng)深入應用到了電子信息行業(yè)各個領域中。2003年TI發(fā)布了TMS320DM64X系列的視頻DSP產(chǎn)品,2004年下半年批量供貨,產(chǎn)品一經(jīng)面世得到了數(shù)字視頻行業(yè)的強烈關注。該芯片每個Video單元又分成A、B兩個口,A/B口可以分別處理一路視頻采集,因此DM642最多可以處理6路視頻采集數(shù)據(jù)(不帶音頻)。如果將Video單元配置成Video out方式,則只能在A口輸出,B口不可以,因此DM642最多可支持3路視頻輸出(不帶音頻)。如果同時處理音頻,每一個視頻單元可以處理兩路立體聲。DM642芯片功耗1.5 W,支持SDRAM最大為32 MB,同時也具有網(wǎng)絡接口。

      2.2 Linux內(nèi)核移植

      現(xiàn)在,移植Linux內(nèi)核一般先要在內(nèi)核的目錄中選擇一個與目標板硬件配置最接近的并且已經(jīng)移植成功的目標目錄作為模板[6]。之后可以針對硬件具體的差別進行相應的修改或?qū)颥F(xiàn)成的移植補丁。這里,使用了Linux-2.6.33內(nèi)核進行移植,并且根據(jù)本硬件系統(tǒng)的配置選擇了SMDK2440樣板作為移植的目標模板。在編譯和配置內(nèi)核前可以使用現(xiàn)有的patch包對Linux-2.6.33內(nèi)核打補丁,并使用menuconfig工具對內(nèi)核進行適當?shù)募舨?。?nèi)核的裁減工作與在PC上對Linux內(nèi)核的裁減工作類似,主要的工作是增添對自己需要的模塊的支持,并且除去無用的模塊,以使Linux內(nèi)核更加適合于目標硬件系統(tǒng)。內(nèi)核的編譯可以通過修改根目錄以及其他子目錄下的Makefile直接完成,也可以通過在預編譯的時候設置編譯參數(shù)值時進行選定。編譯前使用make menuconfig命令,開發(fā)者可以非常方便地增添和刪除內(nèi)核模塊。

      之后,使用make工具生成uImage鏡像文件。uImage鏡像文件可以使用U-Boot引導程序進行引導,裝入內(nèi)存。

      Linux內(nèi)核移植的整個過程如圖3所示。

      圖3 內(nèi)核移植流程Fig.3 Linux kernel porting flow

      2.3 播放軟件設計

      整個流媒體播放器的軟件架構(gòu)如圖4所示,共分為4個大的模塊:

      1)GUI模塊 采用Qt庫實現(xiàn),完全的面向?qū)ο笤O計,界面易擴展,各種功能使用插件的形式完成;主要負責界面各種按鈕的消息捕獲、處理,完成播放器所有功能窗口的創(chuàng)建、銷毀以及管理,當出現(xiàn)軟件有錯誤發(fā)生時,向用戶返回的友好錯誤提示。同時,播放在線流媒體的時候,可以顯示當前播放媒體的狀態(tài)信息。

      2)Media Adapter Layer,媒體適配層 主要負責向GUI模塊提供底層無關的流媒體播放API接口,與GUI交換媒體數(shù)據(jù),以及響應用戶在GUI上的操作,控制下層模塊進行實際的執(zhí)行。

      圖4 流媒體播放軟件架構(gòu)圖Fig.4 Architecture of streaming media software

      3)Source Control模塊 主要負責通過 HTTP協(xié)議與Web服務器進行交互,接收相關媒體信息;通過RTSP協(xié)議與流媒體服務器交互,得到流媒體數(shù)據(jù)與控制信息;之后,根據(jù)嵌入式設備本身的特點進行預處理。

      4)Core Module 主要負責音視頻的分離,以及調(diào)用編解碼芯片進行音視頻的編解碼,并實現(xiàn)音頻、視頻的同步輸出。

      3 結(jié)束語

      隨著互聯(lián)網(wǎng)技術的突飛猛進,寬帶互聯(lián)網(wǎng)幾乎覆蓋了我國所有城市,人們對在線視頻播放的興趣也越來越大?!皁nline anytime,surfing anywhere”,3G 時代的來 臨使這一切成為了可能,也標志著未來互聯(lián)網(wǎng)的發(fā)展方向。作為3G應用中的熱門,嵌入式流媒體技術將會被廣泛研究和推廣,成為用戶體驗3G網(wǎng)絡的流行手段。

      [1]岑斌,肖剛,程振波,等.流媒體技術綜述[J].中國有線電視,2003(22):29-31.

      CEN Bin, XIAO Gang, CHENG Zhen-bo,et al.Synthetical study of streaming media[J].China Cable TV, 2003 (22):29-31.

      [2]潘瑜青,張健,郭培源.流媒體中的Qos控制[J].微計算機信息,2008,24(1):256-257.

      PAN Yu-qing, ZHANG Jian, GUO Pei-yuan.Qos control in streaming media[J].Micro Computer Information,2008,24(1):256-257.

      [3]尹遜鈺,王偉.流媒體技術的發(fā)展與應用[J].廣播電視信息,2001(10):40-42.

      YIN Xun-yu,WANG Wei.Development and application of streaming media technology [J].Radio and Television Information,2001(10):40-42.

      [4]金海,邵艷明,韓宗芬.基于實時流動成的流媒體客戶端[J].計算機工程,2004(6):192-194.

      JIN Hai, SHAO Yan-ming, HAN Zong-fen.Streaming media client based on real time streaming protocols[J].Computer Engineering, 2004(6):192-194.

      [5]涂剛,陽富民,胡貫榮.嵌入式操作系統(tǒng)綜述[J].計算機應用研究,2000,17(11):4-6.

      TU Gang, YANG Fu-min,HU Guan-rong.Overview of embedded operating systems [J].Computer Application Research,2000,17(11):4-6.

      [6]龍盈盈,孟利民.構(gòu)建嵌入式linux交叉編譯環(huán)境[J].計算機與數(shù)字工程,2006,34(6):30-33

      LONG Ying-ying,MENG Li-min.Constructing embedded Linux cross-compiling environment[J].Computer and Digital Engineering,2006,34(6):30-33.

      猜你喜歡
      內(nèi)核嵌入式音頻
      萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      基于嵌入式Linux內(nèi)核的自恢復設計
      必須了解的音頻基礎知識 家庭影院入門攻略:音頻認證與推薦標準篇
      Linux內(nèi)核mmap保護機制研究
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      搭建基于Qt的嵌入式開發(fā)平臺
      音頻分析儀中低失真音頻信號的發(fā)生方法
      電子制作(2017年9期)2017-04-17 03:00:46
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
      Pro Tools音頻剪輯及修正
      人間(2015年8期)2016-01-09 13:12:42
      阳曲县| 弥勒县| 开化县| 闸北区| 桃园县| 政和县| 前郭尔| 始兴县| 永康市| 喀什市| 唐河县| 芮城县| 大邑县| 高邑县| 广昌县| 比如县| 勃利县| 赤水市| 怀宁县| 江津市| 连南| 咸宁市| 习水县| 上虞市| 武汉市| 三亚市| 宕昌县| 涞源县| 吴桥县| 虹口区| 黔江区| 麻栗坡县| 曲麻莱县| 乌鲁木齐市| 江阴市| 安宁市| 彝良县| 玉林市| 贵溪市| 伊川县| 繁昌县|