【摘要】近几年来,随着科学技术的快速发展,以及信息化脚步的加快,互联网技术已经深入到人们的工作、生活和学习当中。在光纤接入网络升级改造工程的不断进行中,网络宽度无论是速率上还是服务质量上都得到了明显的提升,网络宽带成为网络运营商部署战略发展中的一项核心业务,而且网络宽带业务的发展使得网络用户的数量不断增加。本文以IPTV数字机顶盒为基础,提出了流媒体播放器的构建方案。
【关键词】数字机顶盒;IPTV;流媒体播放器
1.引言
随着科技技术的发展与进步,互联网服务在人类的生活中扮演着越来越重要的角色,原先的一些传统行业、传统业务也在逐步地向着互联网渗透和靠近。因此IPTV就是继传统的广电数字电视业务后新发展的互联网电视交互业务。随着光纤网络带宽的日益普及,以及流媒体技术的深入发展,多媒体产业的发展进入了前所未有的盛世。IPTV网络电视通过数据互联网将传统的数字电视业务和互联网交互业务进行有机的结合,并未广大用户提供直播、时移、点播、网页浏览、游戏等交互式电视业务,使人们工作以外的业余时间得以极大程度上的丰富,近年来获得了飞速的发展。IPTV集合了互联网技术、多媒体技术、通信技术于一体,以家庭电视机设备作为显示终端,使用户切身体验到多媒体技术发展带来的巨大变革,与传统有线电视传播方式相比,IPTV是一种革命性的节目内容传播方式,影响了整个媒体产业的发展,推动了新技术的不断进步。
IPTV业务以互联网为基础,机顶盒为主要终端,为用户提供包括视频、点播、网页浏览、互动游戏等在内的多个服务项目。机顶盒是一个典型的嵌入式系统,具有丰富的功能,如模拟/数字转换功能、图形图像的显示功能、音频和视频编解码的功能、流媒体传输控制功能等。消费者可以通过IPTV机顶盒在现有的电视机上体验IPTV提供的各种服务。相较于普通机顶盒,IPTV机顶盒在显示系统具有以下几个突出优势:
(1)在不同的网络带宽环境下,家庭用户可以获得不同质量的多媒体功能服务。例如:家庭中接入了光纤网络宽带,用户能够获取到高质量、高清晰度的视频服务。
(2)随着互联网技术在全球范围内的普及应用,用户可以通过IPTV获取到更多的网络资源,用户的选择范围得到了进一步拓展。
(3)IPTV的明显特征决定了其具有较强的交互性、实时性,不但可以为用户提供个性化的视频服务,还能够实现电子邮件接收、在线购物、在线游戏等多种功能。
目前,网络宽带已经进入了高速发展的阶段,网络宽带用户数量的持续增多,促进了网络宽带在各个领域的普及应用。在网络宽带产业化发展的进程中,多媒体技术应运而生。现代信息社会背景下,数字媒体服务成为了新型的产业,在人们生活、工作和学习中有着不可忽视的重要位置。随着光纤宽带网络建设的推进,怎样能够在高质量、高速度网络带宽环境下开发设计出针对性较强的应用业务,成为了IPTV发展中的核心任务,更凸显了“三网融合”背景下的重要意义。
2.常见的多媒体播放器软件架构
多媒体指的是视音频技术与计算机技术的结合产物。一般情况下,多媒体播放系统包括四个重要组成部分:以处理器为核心的硬件系统、实时操作系统、业务应用以及相关处理程序。由于多媒体播放系统的通用性较强,可以实现多种集合各种功能与一体的开源流媒体播放器。
2.1 VLC播放器架构
VLC流媒体播放器是后期开发的播放器,其架构设计在最初就充分考虑到模块化功能的重要性,成为了发展速度最快的流媒体播放器架构模式。VLC流媒体播放器的特征使其版本得到了不断的更新和升级,集成了多种开源代码版本。因此,VLC流媒体播放器的地位不可忽视,其开发设计的借鉴意义在流媒体播放器构建中具有关键作用。
2.2 通用播放器架构
流媒体播放器在播放网络媒体资源和本地媒体资源时,都需要获取媒体数据,当流媒体播放器完成视音频解码后,再将媒体数据显示给用户。在流媒体播放器实际开发设计中,可以将其分为获取媒体数据的通信模块,解码视音频的缓存/解码模块,以及用户显示控制模块。
3.流媒体播放器软件设计
按照本文提出的数字机顶盒流媒体播放器设计目标,其软件架构设计必须充分满足可扩展性和可移植性,整个数字机顶盒系统的设计要采用分层设计思想,实现JAVA代码与C/C++代码的调用操作。
3.1 JAVA代码层
JAVA代码层通过功能强大的Android界面空间看实现对流媒体播放器的交互控制。以APK应用方式,将全部功能集成于Android平台中,以确保实现流媒体播放器系统的独立性。同时,JAVA代码层还能够实现播放控制、用户认证、网络资源分配和浏览器交互等多种功能。Android库能够调用不同标准的类库,进而降低系统开发和设计的难度。例如,可以直接对Android浏览器进行调用,定制和对接开源浏览器,以其灵活的扩展性来适应不同服务器的功能需求。对流媒体播放器的逻辑关系进行抽象化处理,进一步细化功能内容,负责提供完整的各种应用接口,加载不同的C/C++动态库,以实现跨平台系统功能。
3.2 C/C++代码层
C/C++代码层负责实现流媒体播放器的核心功能,以及一系列流媒体传输协议,实现解码器和数据处理平台之间的调用关系。C/C++代码执行具有较高性能,可以消耗过多的系统资源。IPTV系统包含了各种各样的功能模块,其结构十分复杂,但流媒体播放器功能模块始终是其核心部分。
4.流媒体播放模块设计
(1)初始化模块
初始化模块负责实现部分参数的初始化,同时完成一些纠错处理任务。
(2)消息处理机制
消息处理机制采用专门线程对流媒体播放器的功能状态进行控制,能够以管道方式存储消息,消息处理模式采用的是先进先出方案。最終以回调的方式将消息类型和消息状态反馈到上层应用。
(3)预处理流媒体数据
对于传来的流媒体数据来说,数据形态在不同环境下也不尽相同。预处理流媒体数据模块针对TS数据流进行同步处理,再将其传送到缓冲区中。
(4)流媒体数据解码处理
TCP/UDP数据处理依靠socket连接实现,同时,根据不同的网络传输协议,可以讲接收到的数据基于RTSP模块进行分析,将消息控制命令分离出来,传送到预处理流媒体数据功能模块中,最后将处理完成后的数据划分为大小固定的数据包,再注入到解码器中。
(5)RTSP模块
RTSP模块属于一个功能独立的模块,负责实现系统中全部RTSP协议。
5.结论
目前,互联网宽带业务正在日新月异的蓬勃发展。IPTV以数据网为载体开展以传统媒体业务为主的服务。真正的实现了传播者与收视者的良性有效互动,并能够根据用户选择来配置各种多媒体服务,将传统的数字电视网、IP通讯网、以及数据互联网三者有机的结合捆绑,真正的实现“三网融合”。作为呈现广电业务和数据业务的载体的IPTV,随着市场前景的日趋明朗,必将迎来广阔发展的黄金时机。综上所述,随着“三网融合”的进一步推进,从根本上解决了电信运营商对增值业务的垄断问题,引入了双向传输机制,促进了网络运营商、电信运营商和有线电视运营商的可持续发展。IPTV利用网络宽带成为了各大运营商竞争发展中的核心业务,为IPTV产业的战略发展创造了有利契机。
参考文献
[1]闵锐.基于FPGA的IPTV数字机顶盒设计与实现[J].有线电视技术,2014,02:43-46.
[2]刘迪菲,金立标.基于交互机顶盒的无线数字家庭网络应用探讨[J].电视技术,2014,02:60-62.
作者简介:屠恒海(1980—),男,中级工程师,研究方向:嵌入式硬件研发。