完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
交互式网络电视(IPTV)的兴起,可以为观看者提供一种新的方式来选择与控制他们的播放内容,国内外运营服务商纷纷投资建设自己的IPTV运营平台。随着Web2 o的兴起,新型的视频内容服务商打破了IPTV内容提供者与内容使用者之间的界限,使得视频内容得以爆发式地增长。诸如YouTube、优酷以及类似的网站,越来越多地冲击着传统电视媒体。这些视频网站的高度流行,使更多的人开始关注互联网视频,视频内容也得到了极大的丰富。
|
|
相关推荐
2个回答
|
|
观看者不仅希望能够接收优质的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芯片实现本架构,可以更为丌页畅地播放网络视频,进一步提高系统的性能。 |
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:29 , Processed in 0.799984 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号