• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 网络电视系统中实现延时续播功能的方案

网络电视系统中实现延时续播功能的方案

录入:edatop.com     点击:

1 引言

随着IT 的发展,互联网已进入千家万户,人们希望通过互联网来收听收看喜闻乐见的电视节目,流媒体(real-time media)技术的发展为人们提供了这种可能。电视作为典型的多媒体以其丰富的节目内容更加充实了互联网本身,电视和互联网的结合,将逐渐成为发展趋势,网络电视应运而生。网络电视,也叫IPTV,是利用宽带互联网的基础设施,以家用电视机作为主要终端,通过互联网协议(IP)来提供包括电视节目在内的多种数字媒体服务及其增值业务的技术。IPTV最大的优势在于"互动性"和"按需观看",彻底改变了传统电视单向广播的特点。IPTV现在支持直播电视以及基于IP网络的视频点播业务。网络电视已成为当今互联网的亮点,越来越引起各级电视台的重视。

2 网络直播电视基本原理

网络直播电视针对电视台的现场节目(如娱乐晚会,体育比赛等),提供互联网接入方式。直播节目在网络传输上通常采用UDP组播方式,以达到节省网络带宽的目的。

图1中Broadcaster负责对直播节目的模拟信号进行采集、编码,并实时将编码后的数字信号采用RTP/RTCP协议组播出去。对于每一个直播节目频道,Broadcaster会生成一个SDP协议描述文件,描述该频道组播数据流的相关参数,包括组播网络地址、音视频的采样频率等。Player是支持组播功能的流媒体播放器。接收直播电视节目时,Player首先得到该直播频道的SDP文件,通过对SDP文件的解析,获得该直播频道的组播参数,加入组播组,接收组播数据流,收看直播节目。

3 延时续播电视设计与实现

通过网络直播电视,用户可以收看现场节目,突破了传统电视节目的传输模式,但还无法发挥出网络电视"互动性"和"按需观看"的优势。

由于某些原因,用户不能连续收看直播电视节目,比如在收看过程中需要接听电话或者处理其他紧急事务。传统的网络直播电视不能针对这种情况对电视节目做相应的调整,用户只能错过部分直播电视节目。而延时续播电视在这种情况下,可以对直播电视节目做"暂停"处理,当用户处理完手中的事情后再进行"续播"操作就可以从刚才中断的地方继续收看直播电视节目。

3.1 基本原理

延时续播电视的实现需要流媒体服务器的参与,在Broadcaster组播直播节目的过程中,流媒体服务器不间断地接收组播流,对组播流做缓冲处理。当用户进行"延时续播"操作的时候,播放器从接收组播模式转入延时续播模式,将延时的时间参数发送到流媒体服务器,接下来的电视节目数据由流媒体服务器从接收缓冲池中读取,并发送至播放器。

3.2 功能模块设计

3.2.1 接收组播流模块

系统启动时,流媒体服务器读取并解析SDP文件,获得每个直播频道的组播参数,加入组播组,开始接收组播流数据。针对组播的网络特性,在该模块中设置接收缓冲队列,根据接收RTP包的序号对组播流做排序处理,确保将RTP数据按照发送顺序写入缓冲文件。

3.2.2 缓冲文件操作模块

该模块包括将数据写入缓冲文件和从缓冲文件中读取数据的功能。本方案采用了缓冲技术对文件读写操作做优化。对缓冲文件读取时,为了快速定位,需要对缓冲文件按照时间建立索引。由于缓冲文件不断增长变化,缓冲文件的索引也要同步更新,因此需要单独生成索引文件、音频数据文件和视频数据文件。索引项数据结构如下:

typedef struct tagRTPFileIndex

{

time_t lTime;   // 索引时间(秒)

int  iVideoFileNum; // 视频文件序号

int  iVideoOffset;  // 视频文件偏移

int  iAudioFileNum; // 音频文件序号

int  iAudioOffset;  // 音频文件偏移

}RTP_FILE_IDX_T;

3.2.3 延时续播请求处理模块

流媒体服务器处理延时续播的流程与正常点播流程大致相同,但是操作的文件由普通流媒体文件改为缓冲文件,定位文件的时间参数也有所不同。本方案的实现中与播放器端约定以点播文件名后缀为"TS"标识延时续播点播请求。同时约定定位文件的时间参数表示点播时间据当前时间的间隔时长。

来源:维库开发网

上一篇:简单网络管理协议的研究与应用
下一篇:激光二极管、稳压二极管检测方法

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图