新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 基于IPv6的嵌入式互聯(lián)網視頻應用開發(fā)

基于IPv6的嵌入式互聯(lián)網視頻應用開發(fā)

作者: 時間:2011-02-20 來源:電子產品世界 收藏

本文引用地址:http://butianyuan.cn/article/116976.htm

 
 架構接口參見圖3。

  網絡功能庫

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

 ?、偻ㄟ^NETLIB_handlerInit()創(chuàng)建NETLIB_Handler實例,完成初始化工作;②通過NETLIB_search() 或 NETLIB_searchByIndex()進行查詢;③檢索的結果由Handler處理,亦可重新搜索;④NETLIB_readContent()或NETLIB_getCount()可以從handler保存的檢索信息中讀取指定內容;⑤檢索完畢可通過NETLIB_handlerDestroy銷除緩存中的結果集。

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

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

  int NETLIB_readContent(NETLIB_Handler handler, int index, NETLIB_VideoDetail* videoDetail)。描述:從檢索結果中根據指定的順序(index)讀取相應的內容。

  流媒體處理庫

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

  音視頻解碼庫

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

  (1)標簽解析模

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

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

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

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

  FLVDEC_create(Engine_Handle handle, string name);用于創(chuàng)建FLV解碼器實例。

  FLVDEC_control(FLVDEC_Handle, FLVDEC_Cmd id, FLVDEC_DynamicParams* params, FLVDEC_Status* status); 用于在FLV解碼器實例中實現(xiàn)FLV播放控制。

  FLVDEC_process(FLVDEC_Handle handle, XDM_BufDesc* inBufs, XDM_BufDesc* outBufs, FLVDEC_InArgs* inArgs, FLVDEC_OutArgs* outArgs); 在FLV解碼器實例中實現(xiàn)FLV播放。

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

  用戶界面庫

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



評論


相關推薦

技術專區(qū)

關閉