
专利名称:Ts文件的播放处理方法及装置的法
技术领域:
本发明涉及通信领域,具体而言,涉及一种传输流(Transport Mream,简称为TS) 文件的播放处理方法及装置。
背景技术:
目前,广播业务和移动业务开始渐渐融合,不同的多媒体内容和业务在不同的网络上传输,用户希望可以利用不同的终端设备在不同时刻接入任何网络时都能享受到这些服务。随着异构网络环境的逐渐复杂化、新的多媒体传输技术和应用形式的不断增加,如何为多媒体内容传输提供一个更加高效合理的解决方案成为目前的一个重要问题。为解决多媒体传输现存问题,目前出了 Http流(Mreaming)传输技术。图1是现有技术中HTTP Mreaming模型的结构,如图1所示,音频或视频输入装置将音/视频输入到服务器的媒体编码器中,媒体编码器将输入的音/视频进行编码,生成TS文件输出给流分段装置进行分段后,发送给分发装置,并生成该TS文件的索引文件,通过HTTP分发给客户端。由于HTTP协议本质上属于文本传输协议,并不适合实时的流媒体传输。因此,为了便于实现直播回放(针对时移业务)和边下载边看的功能,通常将节目内容在物理或逻辑上分成很多的小分段。客户端根据节目索引(Media Presentation Description,简称为MPD)信息每次下载媒体文件的一个或多个分段进行播放,其中,MPD信息中包含有媒体分段的索引等信息,然后对已下载的数据进行解码播放。在目前的HTTP Streaming传输技术中,对于快进快退功能,通常采用的方法是根据MPD信息下载相应的分段,然后再从分段文件中找到相应的关键帧进行播放,采用这种方式,不需要播放的关键帧也会被下载,从而导致客户端将会下载很多多余的数据,进而影响了播放的流畅性。
![]()
发明内容
本发明旨在提供一种TS文件的播放处理方法及装置,以解决相关技术中在快进快退时由于需要下载整个分段,而导致客户端需要下载很多多余的数据,进而影响播放的流畅性的问题。根据本发明的一个方面,提供了一种TS文件的播放处理方法,包括客户端接收到特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;所述客户端从所述TS文件的索引信息中获取待播放的所述TS文件的随机接入点或关键帧的位置;所述客户端向服务器请求所述位置的帧内容;所述客户端从所述服务器下载并播放所述位置的帧内容。根据本发明的另一方面,提供了一种TS文件的播放处理装置,包括接收模块,用于接收特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;定位模块,用于从所述TS文件的索引信息中获取待播放的所述TS文件的随机接入点或者关键帧的位置;第一下载模块,用于向服务器请求所述位置的帧内容;播放模块,用于播放所述位置的帧内容。通过本发明,客户端在执行快进或快退时,能够快速定位到需要播放的随机接入点或关键帧,仅下载相应的关键帧进行播放,解决了在快进快退时由于需要下载整个分段, 而导致客户端需要下载很多多余的数据,进而影响播放的流畅性的问题,进而能够提升用户体验。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据相关技术的Http Streaming的模型图;图2是根据本发明实施例一的TS文件的播放处理方法的流程图;图3是根据本发明实施例二的快进播放的流程图;图4是根据本发明实施例二的I帧索引文件格式的;图5是根据本发明实施例三的从快进模式切换到正常模式的流程图;图6是根据本发明实施例四的定位播放的流程图;图7是根据本发明实施例五的TS文件的播放处理装置的结构。
具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一图2是根据本发明实施例的TS文件的播放处理方法的流程图,如图2所示,该方法主要包括以下步骤 步骤S202,客户端接收到特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;在本发明实施例中,TS文件是指音视频内容文件,其格式为TS格式。ts文件怎么打开例如,客户端可以在需要播放该TS文件时,先获取该TS文件的索引信息,还可以获取该TS文件的MPD信息,其中,索引信息和MPD信息文件可以在同一个文件中,也可以位于不同文件中,并且,为了不改变原始TS文件的格式,可以将TS文件的描述信息(包括关键帧索引信息和/或MPD信息)存放于另一个文件中。在本发明实施例中,记录TS文件的索引信息的文件称为TS文件的索引文件。优选地,为了加快启动速度,客户端在获取索引信息后,可以根据索引信息中的初始化信息进行播放器初始化。在客户端接入TS文件时, 用户可能需要进行快进或快退播放,向客户端发送快进或快退播放命令。其中,TS文件的索引信息可以与TS文件一起保存在服务器中,该索引信息可以包括但不限于以下之一或其任意组合(I)TS文件的随机接入点(Random Access Point,简称为RAP)和/或关键帧信息; 包含每个帧在TS文件的起始和偏移位置,以及该帧所属的分段文件的分段序号等信息。(2)客户端播放该TS文件时,播放器所需的音视频初始化信息;
(3)该TS文件的媒体播放起始时间等。而MPD信息用于描述TS文件的音视频节目信息,包括媒体文件的URL和各个分段的分段偏移量等信息。其中,RAP包括IDR帧、ODR帧及⑶R帧,其中,IDR帧和ODR帧属于关键帧。步骤S204,客户端根据当前播放时间和所述命令的参数,以及TS文件的索引信息定位待播放的RAP或关键帧; 在实际应用中,在进行快进或快退播放时,可以以关键帧进行跳跃播放,也可以以 RAP帧进行跳跃播放,其实现方式相似。其中,所述命令的参数包括但不限于快进或快退的倍数,例如,快进倍数可以为2, 指示每隔一个关键帧进行播放,当快进快退倍数为4时,指示每隔三个关键帧进行播放。例如,索引信息中可以记录与TS文件一一对应的分段信息、各个分段中的每个帧的时间戳,客户端根据当前播放时间点,可以定位当前播放的帧所在的分段序号,根据快进或快退的倍数,可以确定下一个待播放的RAP或关键帧所在的分段的分段序号,然后客户端将该分段中每个帧的时间戳与当前播放时间点进行对比,从而获取与当前播放时间点之间的差值满足快进或快退倍数的RAP或关键帧,该RAP或关键帧为播放的下一个帧。例如,记录索引信息的索引文件可以分为头部(head)和主体(body)两个部分,其中,Head部分主要包含但不限于以下几个字段HSize =Head部分的大小(占用字节数)Tduration 索引文件对应媒体文件的总时长(单位为毫秒)Codec 音视频初始化信息及PAT、PMT信息而Body部分同样由一个个连续的索引分段组成,与媒体数据文件的分段在时间顺序和位置排列上(时间和空间上)一一对应。每个索引分段的数据结构相同,以I帧为例,可以包括但不限于FSize、Fduration、Poffset和多个I Frame Index0其中,每个I Frame Index包含ItimeStamp、IOffSet, ISize字段。各字段说明如表1所示。表 1.

权利要求
1.一种传输流TS文件的播放处理方法,其特征在于,包括客户端接收到特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;所述客户端从所述TS文件的索引信息中获取待播放的所述TS文件的随机接入点或关键帧的位置;所述客户端向服务器请求所述位置的帧内容; 所述客户端从所述服务器下载并播放所述位置的帧内容。
2.根据权利要求1所述的方法,其特征在于,在所述客户端接收到所述特殊播放TS文件的命令之前,所述方法还包括所述客户端获取所述索引信息。
为了能让服务器端计算机向其他客户端的计算机提供容易使用、高品质编码、增强的可程序化与管理的网络现场播放或需求播放服务,大家还必须在服务器中下载安装一款windowsmedia,尽管windows2000server有自带这种的,不过它的版本较低,因此笔者建议使用windowsmedia最新的9.0版。根据海康官方的sdk,我们要做的播放器其实只是将海康的播放库引入到我们自己的项目中,然后接收来自中转服务器的数据,最后播放显示到客户web浏览器上。如下面的伪代码,客户端向服务器端发送一个json字符串,服务器端接收此字符串。
4.根据权利要求1所述的方法,其特征在于,所述命令的参数包括快进或快退的倍数。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述客户端根据当前播放时间、所述命令的参数,以及所述TS文件的索引信息获取所述随机接入点或关键帧的位置包括所述客户端根据所述TS文件的当前播放时间点,确定当前播放帧对应的第一分段序号;所述客户端根据所述第一分段序号和所述命令的参数,确定所述随机接入点或关键帧所在的第二分段序号;所述客户端将所述索引信息记录的与所述第二分段序号对应的分段中各个帧对应的时间戳与所述当前播放时间点进行对比,获取与所述当前播放时间点之间的差值满足所述命令的参数的所述随机接入点或关键帧的位置。
6.根据权利要求5所述的方法,其特征在于,所述客户端向服务器请求所述位置的帧内容包括所述客户端向所述服务器发送请求下载所述随机接入点或关键帧的请求消息, 其中,所述请求消息中携带有所述第二分段序号对应的分段的第一 TS包在所述TS文件中的偏移位置、所述随机接入点或关键帧在所述第二分段序号对应的分段的偏移位置以及所述随机接入点或关键帧的大小。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括 所述客户端接收到正常播放所述TS文件的命令;所述客户端判断当前播放的帧是否为随机接入点,如果不是,则继续执行所述特殊播放,直至当前播放的帧为随机接入点;所述客户端根据当前播放的帧的信息确定该帧对应所述服务器上的所述TS文件的分段;所述客户端根据所述分段的分段信息向所述服务器发送下载请求,从所述服务器下载所述分段;所述客户端根据当前播放的帧的信息确定该帧在所述分段的偏移位置,并从该偏移位置开始播放;所述客户端顺序下载并播放所述TS文件的分段文件。ts文件怎么打开
8.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括所述客户端接收到定位播放请求,其中,所述定位播放请求中携带有需要定位播放的起始时间点;所述客户端在所述索引信息中查找离所述起始时间点最近的且为随机接入点的帧所在的分段的分段序号,以及该帧相对于该分段的偏移量;所述客户端根据所述分段的分段信息向所述服务器发送下载请求,从所述服务器下载离所述起始时间点最近的且为随机接入点的帧所在的分段;所述客户端从下载的分段的所述偏移量指示的位置开始播放; 所述客户端顺序下载并播放所述TS文件的分段文件。
9.一种TS文件的播放处理装置,其特征在于,包括接收模块,用于接收特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;定位模块,用于从所述TS文件的索引信息中获取待播放的所述TS文件的随机接入点或者关键帧的位置;第一下载模块,用于向服务器请求所述位置的帧内容; 播放模块,用于播放所述位置的帧内容。

10.根据权利要求9所述的装置,其特征在于,所述装置还包括 获取模块,用于获取所述TS文件的所述索引信息。
11.根据权利要求9所述的装置,其特征在于,所述定位模块包括第一确定子模块,用于根据所述TS文件的当前播放时间点,确定当前播放帧对应的第一分段序号;第二确定子模块,用于根据所述第一分段序号和所述命令的参数,确定所述随机接入点或关键帧所在的第二分段序号;获取子模块,用于将所述索引信息记录的与所述第二分段序号对应的分段中各个关键帧对应的时间戳与所述当前播放时间点进行对比,获取与所述当前播放时间点之间的差值满足所述命令的参数的所述随机接入点或关键帧。
12.根据权利要求9至11中任一项所述的装置,其特征在于, 所述接收模块还用于接收正常播放所述TS文件的命令; 所述装置还包括检测模块、确定模块和第二下载模块,其中,所述检测模块,用于检测当前播放的帧是否为随机接入点,如果不是,则继续触发所述定位模块对待播放的下一个帧进行定位,直至当前播放的帧为随机接入点时触发所述确定模块;所述确定模块,用于根据当前播放的帧的信息确定该帧对应所述服务器上的所述TS 文件的分段;第二下载模块,用于根据所述确定模块确定的所述分段的分段信息向所述服务器发送下载请求,从所述服务器下载所述分段;则所述播放模块还用于根据当前播放的帧的信息确定该帧在所述分段的偏移位置,并从该偏移位置开始播放所述第二下载模块下载的所述分段,然后触发所述第二下载模块顺序下载所述TS文件的后续分段文件。
全文摘要
本发明提供了一种传输流文件的播放处理方法及装置。其中,该方法包括客户端接收到特殊播放TS文件的命令,其中,所述特殊播放包括快进播放或快退播放;所述客户端从所述TS文件的索引信息中获取待播放的所述TS文件的随机接入点或关键帧的位置;所述客户端向服务器请求所述位置的帧内容;所述客户端从所述服务器下载并播放所述位置的帧内容。通过本发明,在执行快进或快退时,能够快速定位到需要播放的随机接入点或关键帧,仅下载相应的关键帧进行播放,从而避免了客户端下载多余的数据,提高了用户体验。
文档编号H04N21/438GK102487458SQ201010571369
公开日2012年6月6日 申请日期2010年12月2日 优先权日2010年12月2日
发明者刘继年, 孙健, 李加周, 林亚, 王芳, 赵宇, 阮亚平, 阳彦字, 陈光亮, 陈翼 申请人:中兴通讯股份
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-100325-1.html
不打也要向美释放信号