新闻中心

EEPW首页 > 嵌入式系统 > 业界动态 > 基于IPv6的嵌入式互联网视频应用开发

基于IPv6的嵌入式互联网视频应用开发

作者:时间:2011-02-20来源:电子产品世界收藏

本文引用地址:http://www.eepw.com.cn/article/116976.htm

 
 架构接口参见图3。

  网络功能库

  网络功能库在标准协议的基础上设计了用于通过互联网处理查询/检索音视频内容,同时负责实时流媒体内容下载的应用协议。图4描述了网络功能库的处理过程:

  ①通过NETLIB_handlerInit()创建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公司制定的文档格式规范对Flv文档[3](结构类似swf文件)进行解析。

  (2)影片执行模块:能够按照一定的时间顺序执行影片。

  (3) ActionScript解析引擎:能够响应用户的交互行为并更好地控制Flv文档的行为[4~5]。

  考虑到使用机顶盒播放flv视频时操作交互类flv文档时的非便利性,故此我们当前实现版本中主要解决了播放时必须的问题,主要功能接口描述如下。

  FLVDEC_create(Engine_Handle handle, string name);用于创建FLV解码器实例。

  FLVDEC_control(FLVDEC_Handle, FLVDEC_Cmd id, FLVDEC_DynamicParams* params, FLVDEC_Status* status); 用于在FLV解码器实例中实现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 系统相比,它具有非常简洁、高效的体系结构和硬件图形加速功能。



关键词: IPv6 互联网视频

评论


相关推荐

技术专区

关闭