《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于IPv6的嵌入式互聯網視頻應用開發
基于IPv6的嵌入式互聯網視頻應用開發
維庫
摘要: 本文設計并初步實現了IPv6環境下嵌入式互聯網視頻點播應用架構。在有限資源系統開發中,使用軟件系統工程的思想,用分層結構假設開發架構,在實驗環境中測試播放較為順暢。生產環境中,采用具備更好DSP性能的輔助CPU,配合本文的ARM芯片實現本架構,可以更為丌頁暢地播放網絡視頻,進一步提高系統的性能。
Abstract:
Key words :

     引言

  交互式網絡電視(IPTV)的興起,可以為觀看者提供一種新的方式來選擇與控制他們的播放內容,國內外運營服務商紛紛投資建設自己的IPTV運營平臺。隨著Web2 o的興起,新型的視頻內容服務商打破了IPTV內容提供者與內容使用者之間的界限,使得視頻內容得以爆發式地增長。諸如YouTube、優酷以及類似的網站,越來越多地沖擊著傳統電視媒體。這些視頻網站的高度流行,使更多的人開始關注互聯網視頻,視頻內容也得到了極大的豐富。

  觀看者不僅希望能夠接收優質的IPTV的內容,更希望能夠如同普通電視一股方便地觀看。IPv6網絡的發展使得帶寬越來越充足,嵌入式技術的發展則為方便地觀看這些內容提供了基礎。本文就是基于這樣的現實,設計了一種通過家用機頂盒播放互聯網視頻的應用架構,解決播放這些互聯網視頻必須通過電腦的問題,使得觀看這些視頻內容變得簡單易用。

  技術原理

  典型的互聯網視頻網站包括幾個基本的組成部分:視頻介紹、視頻分類、視頻本身——通常是flv文件格式及相關視頻。我們在通過瀏覽器或者專用軟件播放選定的視頻之前,首先要通過關鍵字搜索或者分類搜索的方式找到對應視頻,然后才能播放。大多數的視頻網站都采用流媒體播放方式,可以讓我們邊下載邊播放,少數需要下載后才能播放。我們設計的嵌入式應用架構包括如下幾個功能組成部分:

  ·通過網絡檢索并下載視頻內容;

  ·設定過濾器分類檢索視頻內容;

  ·可以對下載后的視頻海報進行

  幻燈式播放:

  ·對伽視頻文件的編解碼、音視頻編碼及音畫同步:

  ·友好化用戶播放界面。

  這套架構的基本應用結構如圖1所示。

視頻服務的嵌入式應用架構
 


圖1視頻服務的嵌入式應用架構

  應用架構的組成與實現

  硬件系統的組成

  流媒體編解碼單元是整個系統的核心部分,主要由嵌入式系統、嵌入式CPU及外圍部件組成。嵌入式CPU采用三星公司的S3C2440,400MHz主頻,內部集成了ARM920T微處理器和常用夕卜圍組件、64M SDRAM及256MFLASH。通過S3C2440的GPIO與以太網控制器芯片DM9000的連接,擴展了網絡接口,并接人互聯網,單元結構參見圖2。

流媒體編碼單元結構
 


圖2流媒體編碼單元結構

  嵌入式操作系統采用的是Linux,有如下特點:開放的源代碼,內核小,執行效率高,對IPv6的良好支持; Linux的高度模塊化使組件更容易加載和卸載; 內置網絡支持,容易實現內置的Web服務器等;支持多種硬件平臺;提供完整的開發工具和SDK(Software Development Kit),提供圖形化的定制和配置工具。

  軟件設計與實現

  嵌入式網絡視頻點播處理時,需要進行實時的圖像處理、音視頻解碼與同步、網絡傳輸、圖形用戶界面四部分協同處理。為了確倮軟件開發、集成乃至最后測試時不至于過分復雜,我們對這四部分進行分層處理。從功能的角度來看,整個軟件架構包括四個部分:

  ·網絡功能庫;

  ·流媒體處理庫;

  ·音視頻解碼庫;

  ·用戶界面庫。

  架構接口參見圖3。

視頻播放應用架構
 


圖3視頻播放應用架構

  網絡功能庫

  網絡功能庫在標準IPv6協議的基礎上設計了用于通過互聯網處理查詢/檢索音視頻內容,同時負責實時流媒體內容下載的應用協議。圖4描述了網絡功能庫的處理過程:

網絡功能庫流程圖
 


圖4網絡功能庫流程圖

  ①通過NETLIB_handlerlnit()創建NETLIB_Handler實例,完成初始化工作;②通過NETLIB_search()或NETLIB searchBylndex()進行查詢;③檢索的結果由Handler處理,亦可重新搜索;④NETLIB readContent ( )或NETLIB ̄getCount()可以從handler倮存的檢索信息中讀取指定內容;⑤檢索完畢可通過NETLIB_handl erDestroy銷除緩存中的結果集。

  下面介紹網絡功能庫主要功能函數說明,包括下面幾個API。

  int NETLIB_search(NETLIB_Handler handler, char* keyword,NETLIB_QueryType queryType,unsigned int maxCount)。描述:搜索給定關鍵字的視頻,并返回不超過maxCount指定數量的結果。

  int NET LIB_readContent(NETLIB_Handler handler,int index,NETLIB VideoDetail*videoDetail)。摘述:從檢索結果中根據指定的順序(index)讀取相應的內容。

  流媒體處理庫

  流媒體處理庫負責處理流媒體數據,它的功能包括:①從實時媒體流中分解音視頻;②選定音視頻解碼庫對分解的音視頻進行解碼;③對解碼后的音視頻進行同步渲染,確保播放效果。處理流程參見圖5。

 

流媒體處理庫流程圖

圖5流媒體處理庫流程圖

  音視頻解碼庫

  一個功能完善的FLv播放器必然包括以下三大核心功能模塊。

  (1)標簽解析模

  塊:能夠按照Adobe公司制定的文檔格式規范對Fly文檔凵(結構類似swf文件)進行解析。

  (2)影片執行模塊:能夠按照一定的時間順序執行影片。

  (3)ActionScript解析引擎:能夠響應用戶的交互行為并更好地控制Fly文檔的行為。

  考慮到使用機頂盒播放flv視頻時操作交互類flv文檔時的非便利性,故此我們當前實現版本中主要解決了播放時必須的問題,主要功能接口描述如下。

  FLVDEC_create(Engine_Handlehandle,string name);用于創建FLV解碼器實例。

  FLVDEC_control(FLVDEC_Handle, FLVDEC_Cmd id,FLVDEC ̄DynamicParams* params,FLVDEC_Status*status);用于在∏V解碼器實例中實現FLV播放控制。

  FLVDEC_process(FLVDEC_Handle handle,XDM_BufDesc* inBufs,XDM BufDesc* outBufs,FLVDEC InArgs* inArgs,FLVDEC_OutArgs*outArgs);在FLV解碼器實例中實現FLV播放。

  FLVDEC delete(FLVDEC_Handle handle);用于刪除FLV;解碼器實例。

  用戶界面庫

  用戶界面庫基于DirectFB。DirectFB是專門為滿足嵌入式設備要求而開發的小巧、強大、靈活和易于使用的圖形系統,并且試圖成為一個建構于Linux Framebuffer Device之上的新圖形標準。它在FrameBuffer的基礎上提供了圖形加速、輸入設備處理提取、透明窗口和多重顯示層的功能,能夠對嵌入式系統GUI有較好的支持。與那些通用的嵌人式GUI系統相比,它具有非常簡潔、高效的體系結構和硬件圖形加速功能。

  運行效果

  在測試用的ΛRM2440板子上播放流暢,截圖參見圖6。

運行效果圖
 


圖6 運行效果圖

  結論

  本文設計并初步實現了IPv6環境下嵌入式互聯網視頻點播應用架構。在有限資源系統開發中,使用軟件系統工程的思想,用分層結構假設開發架構,在實驗環境中測試播放較為順暢。生產環境中,采用具備更好DSP性能的輔助CPU,配合本文的ARM芯片實現本架構,可以更為丌頁暢地播放網絡視頻,進一步提高系統的性能。

 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 黄色片亚洲 | 欧美私人网站 | 美女脱了内裤张开腿让男人桶网站 | 日本欧美一区二区 | 国产高清天干天天视频 | 牛人国产偷窥女洗浴在线观看 | 国产成人高清亚洲一区久久 | 男人免费看片 | 亚洲成人免费视频在线 | 中文字幕国产视频 | 国产成人丝袜网站在线观看 | 国产亚洲女在线精品 | 欧美国产合集在线视频 | 性生i活一级一片 | 免费观看一级成人毛片 | 成人自拍小视频 | 久久久久久精 | 亚洲性色视频 | 成人午夜免费观看 | 中文字幕免费在线视频 | 亚洲国产成人最新精品资源 | 性欧美videos精品 | 欧美一级亚洲一级 | 久久精品免视看国产明星 | 亚洲高清一区二区三区四区 | 成年人在线视频网站 | 中文字幕精品视频在线 | 欧美一级毛片一级 | 欧美在线观看一区二区 | 大伊香蕉精品视频在线观看 | 孩交啪啪网址 | 日本不卡高清免费 | 97高清国语自产拍中国大陆 | 欧美一级乱理片免费观看 | 91福利国产在线观一区二区 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 欧美在线一级视频 | 国内三级视频 | 免费观看一级欧美在线视频 | 国产高清在线精品一区 | 日本成人免费在线 |