一种自适应的流媒体播放方法及其播放系统的制作方法

文档序号:7869329阅读:156来源:国知局
专利名称:一种自适应的流媒体播放方法及其播放系统的制作方法
技术领域
本发明涉及流媒体技术,尤其涉及一种自适应的流媒体播放方法及其播放系统。
背景技术
多媒体已经成为人们工作学习中必不可少的重要组成部分,在人们工作、学习以及生活中起到越来越大的作用。多媒体在诸多领域都有其应用,针对人们在日常工作、生活中对多媒体服务的不同需求,一些标准化组织针对于社会上不同业务需求提出了多种音视频编码标准和不同的音视频封装格式。例如,针对视频电话和视频会议业务提出的H. 263标准;针对DVB,HDTV和DVD提出的Mpeg2标准;针对网络中流媒体服务开发的MPEG4标准;以及能够提供高视频压缩性能,网络友好的H. 264标准等。但是由于 各种不同终端为不同应用场景定制,其解码和显示能力以及所处的网络环境各有不同,比如一般的移动终端只支持MP4,3GP之类的格式,互联网中的大量多媒体视频都不能直接播放,因此,现有的流媒体服务方案多是采取对同一多媒体内容,针对不同种类终端进行预先离线转码成多种格式的静态文件以适配不同的终端;针对不同的网络环境,产生不同码率的静态文件以客户端检测自己的实际下载带宽,选定不同码率的版本以应对带宽的波动;这种方法都需要消耗大量的转码服务器和存储资源,增加了内容提供商和视频服务提供商的成本。现在也出现了采用自适应实时转码的方式应以对多种终端和变化的网络环境,这种方法用户体验有了很大提高,但转码服务器和带宽成本还是很高。实际上,目前各种终端比如家用计算机,机顶盒和手持设备都提供了对主流音视频编码格式如
H.264,MPEG-4, AAC, MP3等的解码支持,但由于支持的封装格式和传输协议各有不同,往往使得终端的播放器不能直接播放。

发明内容
本发明的目的在于提供一种针对不同终端播放请求并适合不同带宽的一种自适应的流媒体播放方法及其播放系统,其具体技术方案如下
一种自适应的流媒体播放方法,播放步骤包括
设置于网络终端上的自适应播放单元接收所述网络终端发出的播放请求并转发给设置于网络上的实时转码服务器;
所述实时转码服务器从视频源服务器获取所要播放的原始媒体流属性信息;
实时转码服务器对不同于网络终端播放器播放格式的原始媒体流属性信息生成转码变换信息,并将该转码变换的信息发送到所述自适应播放单元;或实时转码服务器将所述原始媒体流属性信息发送给自适应播放单元,由自适应播放单元生成转码变换信息;或实时转码服务器根据原始媒体流属性信息生成转码变换信息,将所述转码变换信息和原始媒体流属性发送给自适应播放单元,自适应播放单元根据所述原始媒体流属性信息生成转码变换信息并合并实时转码服务器的转码变换信息;
自适应播放单元将转码变换的信息发送到网络终端;
网络终端依据转码变换信息,选择适合码率,通过该终端的播放器进行媒体流播放。所述一种自适应的流媒体播放方法特征在于,所述原始媒体流属性信息包括地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置。所述一种自适应的流媒体播放方法特征在于,所述实时转码服务器对所述原始媒体流信息生成转码变换信息的步骤包括
实时转码服务器根据所述的原始媒体流属性信息对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息;
实时转码服务器发送所述转码变换的信息至自适应播放单元,发送的列表文件如是两个以上,根据需要,分别发送或合并后发送。所述一种自适应的流媒体播放方法特征在于,所述实时转码服务器发送给自适应播放单元生成转码变换信息的步骤包括
自适应播放单元根据获取的原始媒体流属性信息对媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息。所述一种自适应的流媒体播放方法特征在于,所述实时转码服务器与自适应播放单元共同生成转码变换信息的步骤包括
实时转码服务器根据获取的原始媒体流属性信息,对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息; 实时转码服务器同时将所述原始媒体流属性信息和所述转码变换信息发送给自适应播放单元;
自适应播放单元根据获取的原始媒体流属性信息对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息;
自适应播放单元将分别由自适应播放单元和实时转码服务器生成的所述列表文件合并。所述一种自适应的流媒体播放方法特征在于,所述自适应播放单元包括代理服务器和转码模块。所述一种自适应的流媒体播放方法特征在于,所述自适应播放单元接收所述网络终端发出的播放请求并转发给实时转码服务器的步骤包括
所述代理服务器接收播放请求并转发给转码模块;
转码模块从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议的播放属性信息,并将该播放属性信息发送给代理服务器;
代理服务器将所述播放属性信息发送给实时转码服务器。所述一种自适应的流媒体播放方法特征在于,所述实时转码服务器获取所要播放的原始媒体流和原始媒体流属性信息的步骤包括
所述实时转码服务根据所述播放属性信息中的传输协议从视频源服务器获取所要播放的原始媒体流的开头部分片段,或通过视频源服务器支持的视频信息接口获取。所述一种自适应的流媒体播放方法特征在于,所述实时转码服务器发送给自适应播放单进行元转码变换步骤还包括所述代理服务器接收原始媒体流属性信息并将该原始媒体流属性信息发送给转码模
块;
所述转码模块根据获取的原始媒体流属性信息对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码信息;
转码模块将该转码变换的信息发送到代理服务器;
所述一种自适应的流媒体播放方法特征在于,实时转码服务器与自适应播放单元共同生成转码变换信息的步骤还包括
实时转码服务器根据获取的原始媒体流信息,对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息,并将该转码变换的信息发送给代理服务器;
实时转码服务器同时将所述原始媒体流属性信息和转码变换的信息发送给代理服务
器;
代理服务器接收原始媒体流属性信息并将该原始媒体流属性信息和转码变换的信息发送给转码模块;
转码模块根据原始媒体属性流信息,对原始媒体流预切片并生成至少一个对应播放格式的列表文件,形成所述转码信息,将该转码变换的信息发送到代理服务器;
代理服务器将分别由转码模块和实时转码服务器发送的转码信息进行合并。所述一种自适应的流媒体播放方法特征在于,网络终端播放器为终端自带播放器,或定制播放器或第三方播放器。所述一种自适应的流媒体播放系统中的自适应播放单元,包括代理服务器,用以接收播放请求并转发给转码模块,接受实时转码服务器发送的原始媒体流信息并将该原始媒体流信息发送给转码模块;
和转码模块,用以检测播放请求中满足该播放请求的播放器所支持的封装格式和传输协议,并转发检测出的播放器属性信息,接受原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件并生成对应的传输协议,形成所述转码变换信息,接收原始媒体属性的转码变换并合并不同的转码变换信息,并转发将该转码变换信息。所述自适应播放单元的特征在于,所述转码模块包括播放器检测单元模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息; 预切片单元模块,用以对原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件;媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流 和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。
所述一种自适应的流媒体播放系统中的实时转码服务器,包括原始媒体流获取单元模块,用以从获取模块获取所要播放的原始媒体流信息;预切片单元模块,用以对原始媒体流预切片并生成至少一个对应播放格式的列表文件;媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流;和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。一种自适应的流媒体播放系统,包括
自适应播放单元,设置于网络终端上,用以接收所述网络终端发出的播放请求并转发给实时转码服务器,接收实时转码服务器发出的转码信息和原始媒体流信息,对接收的原始媒体流信息生成转码变换信息,合并不同的转码信息,将转码变换信息发送给网络终端;
实时转码服务器,设置于网络上,用以接收自适应播放单元转发的播放请求并获取所要播放的原始媒体流信息,将接收的原始媒体流信息生成转码变换信息,并将转码信息发送到自适应播放单元,或将接收的原始媒体流信息发送到自适应播放单元;
视频服务器,用以提供媒体流;
和网络终端,用以依据所述转码变换信息通过该网络终端上的播放器进行流媒体播放。所述一种自适应的流媒体播放系统的特征在于,包括 所述自适应播放单元包括
代理服务器,用以接收播放请求并转发给转码模块,接收实时转码服务器发送的原始媒体流信息并将该原始媒体流信息发送给转码模块;
和转码模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息发送给代理服务器,将代理服务器发送的原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件,形成所述转码信息,以及将所接收的转码变换信息和自己生成的转码信息进行合并,将该转码信息发送到代理服务器。 一种自适应的流媒体播放系统的特征在于,所述转码模块包括
播放器检测单元模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息发送给所述代理服务器;
预切片单元模块,用以对原始媒体流预切片并生成至少一个对应播放格式的列表文
件;
媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流;
和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。一种自适应的流媒体播放系统的特征在于,所述实时转码服务器包括
原始媒体流获取单元模块,用以获取模块获取所要播放的原始媒体流信息;
预切片单元模块,用以对原始媒体流预切片并生成至少一个对应播放格式的列表文
件;
和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。一种机器可读介质,其上存储有指令集合,当指令集合被执行时,使得机器可执行上述一种自适应的流媒体播放方法。本申请还设置另一种自适应的流媒体播放方法,播放步骤包括网络终端向设置于网络上的实时转码服务器发出的播放请求;
所述实时转码服务器获取所要播放的原始媒体流属性信息;
实时转码服务器根据原始媒体流属性信息生成转码变换信息;实时转码服务器将转码变换的信息发送到网络终端的播放器;
网络终端依据转码变换的信息,选择适合码率媒体流,通过该终端的播放器进行播放。所述另一种自适应的流媒体播放方法的特征在于,所述原始媒体流属性信息包括地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置。所述另一种自适应的流媒体播放方法的特征在于,所述实时转码服务器获取所要播放的原始媒体流信息的步骤包括
所述实时转码服务根据所述播放请求从视频源服务器获取所要播放的原始媒体流,或通过视频源服务器支持的视频信息接口获取。所述另一种自适应的流媒体播放方法的特征在于,所述实时转码服务器对所述原始媒体流信息生成转码变换信息的步骤包括
实时转码服务器将获取的原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息;
实时转码服务器发送所述转码变换的信息至自适应播放单元,发送的列表文件如是两个以上,合并后发送。

所述另一种自适应的流媒体播放方法的特征在于,所述播放步骤还包括
实时转码服务器根据获取的原始媒体流属性信息,对原始媒体流预切片并生成至少一
个对应播放格式的列表文件和对应的传输协议,形成所述转码变换信息;
实时转码服务器将所述转码变换信息发送到网络终端;网络终端依据所述转码变换信息,选择适合码率,通过该网络终端上的播放器进行对应时段的媒体流播放;
网络终端向实时转码服务器请求某一时段的媒体流;
实时转码服务器依据该请求,向视频源服务器获取某一时段的媒体流,并转发给网络终端的播放器播放,直到所述播放请求的媒体流播放结束。所述另一种自适应的流媒体播放方法的特征在于,网络终端播放器为终端自带播放器,或定制播放器或第三方播放器。所述另一种自适应的流媒体播放系统中的实时转码服务器,包括 原始媒体流获取单元模块,用以获取模块获取所要播放的原始媒体流信息;
预切片单元模块,用以对原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件;
和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。所述另一种自适应的流媒体播放系统,包括
实时转码服务器,设置于网络上,用以接收网络终端的播放请求并获取所要播放的原始媒体流信息,将接收的原始媒体流信息生成转码变换信息,并将转码信息发送到网络终端的播放器;
视频服务器,用以提供媒体流;
和网络终端,用以依据所述转码变换信息,选择适合码率,通过该网络终端上的播放器进行媒体流播放。所述另一种自适应的流媒体播放系统的特征在于,包括
原始媒体流获取单元模块,用以获取模块获取所要播放的原始媒体流信息;
预切片单元模块,用以对原始媒体流预切片并生成至少一个对应播放格式的列表文件;
媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流;
和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。一种机器可读介质,其上存储有指令集合,当指令集合被执行时,使得机器可执行上述另一种自适应的流媒体播放方法。本发明的有益效果在于满足终端支持播放互联网中存在的不同传输协议和不同封装格式的各式网络视频的需求,又避免了进行不必要的转码和存储所消耗的大量资源的问题,同时又具有带宽和终端能力自适应的特点,做到完美的用户体验。


图1是按照本发明的一个实施例的自适应的流媒体播放系统及播放流程的示意图。图2是图1所示播放系统进行分时段获取原始媒体流的播放流程的示意图。图3是按照本发明的另一个实施例的自适应的流媒体播放系统及播放流程的示意图。
具体实施例方式下面将根据附图及具体实施例对本发明做进一步说明。实施例1
对照图1,该自适应的流媒体播放系统包括实时转码服务器200、视频服务器300和网络终端100,实时转码服务器200设置于网络上,本实施例的网络终端是一机顶盒。上述系统播放时的步骤包括1.1网络终端100向设置于网络上的实时转码服务器200发出的播放请求;1. 2实时转码服务器200从视频源服务器300获取所要播放的原始媒体流及所对应的原始媒体流属性信息,期间实时转码服务器200从播放请求中检测出满足该播放请求的播放器所支持的播放器属性信息,1. 3实时转码服务器200对不同于网络终端播放器播放格式的原始媒体流属性信息(原始媒体流属性信息包括地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置)生成转码变换信息;1.4实时转码服务器200将转码变换的信息及媒体流发送到网络终端100的播放器;1.5网络终端100选择适合码率媒体流,依据转码变换的信息,通过该终端的播放器进行媒体流播放。按照上述的步骤,对实时转码服务器转码变换进行进一步优化,优化为分时段的转码变换,归纳为下述步骤
A.实时转码服务器对获取的原始媒体流预切片并生成至少一个对应播放格式的列表文件和对应的传输协议,形成所述转码变换信息;
B.实时转码服务器将所述转码变换信息发送到网络终端
C.网络终端依据所述转码变换信息,选择适 合码率,通过该网络终端上的播放器进行对应时段的媒体流播放;D.网络终端向实时转码服务器请求某一时段的媒体流;
E.实时转码服务器依据该请求,向视频源服务器获取某一时段的媒体流,并转发给网络终端的播放器播放,直到所述播放请求的媒体流播放结束。实施例2
为了便于系统的运行,优选的是在上述实施例的实时转码服务器200中设置为如下软件模块原始媒体流获取单元模块、预切片单元模块、传输协议转换单元模块、和合并单元模块。其中的原始媒体流获取单元模块用于从视频源服务器300获取所要播放的原始媒体流信息;预切片单元模块,用于对原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件;媒体流转换单元模块,用以对原始媒体流进行变换,生成满足播放请求的播放器所支持的媒体流;合并模块,用于对两个以上对应播放格式的不同码率的列表文件进行合并。按照上述的优化步骤及优化的模块系统,具体的工作过程见图2
2.1网络终端的播放器100向实时转码服务器200发送播放http://www. example,com/a. flv的播放请求。2. 2实时转码服务器200通过原始媒体流获取单元模块,例如原始媒体流获取单元模块通过HTTP Range Request方法向视频源服务器获取原始媒体流及对应的原始媒体流属性信息,还可通过支持的视频信息接口获取。获取的媒体流属性信息可以的对应文件的头部,例如获取http://www. example, com/a. flv的开头小部分数据,该数据在数据中包含了原始媒体流的地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置等信息。2. 3视频源服务器300根据该请求的文件,向实时转码服务器200发送flv开头部分的数据。2. 4实时转码服务器200从上述flv文件的头部数据中解析出flv视频的时间长度,文件大小以及关键帧位置等播放器属性信息,并根据该获取的信息通过预切片单元模块进行预切片,并生成对应的多码率的列表文件,例如m3u8列表文件,并记录m3u8列表中各ts封装文件所对应的原始flv文件的片段形成转码变换信息。2. 5实时转码服务器200将上述转码变换的信息及对应切片时段的媒体流发送到网络终端的播放器。上述列表文件根据需要可以生成多个,实时转码服务器200 —般通过合并单元模块将多个列表文件合并后发送到网络终端100上。2. 6网络终端100依据带宽选择对应的m3u8,请求其中的ts封装片段,通过该终端上的对应播放器进行对应时段的媒体流播放。2. 7实时转码服务器200收到播放ts的请求后,查询ts封装对应的原始媒体流的地址等信息。 2. 8实时转码服务器200依据查询的原始视频地址向视频源服务器300请求该时段的原始媒体流。2. 9视频源服务器300向实时转码服务器200发送该时段的原始媒体流片段。2. 10实时转码服务器200将收到的原始媒体流片段实时转码成ts封装片段。2. 11实时转码服务器将实时转码成的ts封装片段发送给网络终端100上的播放器进行播放
2.12如有多个片段,将重复多次2. 6-2. 11的过程。实施例3
对照图3,本实施例的自适应的流媒体播放系统包括自适应播放单元501、实时转码服务器600、网络终端的播放器502和视频源服务器700。本实施例的网络终端是一手机,系统设置于互联网上。系统中的自适应播放单元501设置于网络终端500上,用以接收所述网络终端500发出的播放请求并转发给实时转码服务器600,接收实时转码服务器600发出的转码信息和原始媒体流信息,对接收的原始媒体流属性信息生成转码变换信息,合并不同的转码信息,将转码变换信息发送给网络终的播放器502。系统中的实时转码服务器600设置于网络上,用以接收自适应播放单元600转发的播放请求并从视频源服务器700获取所要播放的原始媒体流属性信息,将接收的媒体流属性信息生成转码变换信息,并将转码信息发送到自适应播放单元600,或将接收的原始媒体流信息发送到自适应播放单元501。
·
此外,系统中的网络终端501和视频服务器800分别用以媒体流播放和用以提供媒体流。上述的自适应播放单元600、实时转码服务器700、网络终端的播放器500和视频服务器800的功能特性将在下述的工作过程中将逐一得到解释。图3所示系统进行自适应流媒体播放的步骤包括
1)网络终端500发出的播放请求,自适应播放单元接收到该请求,并转发给网络上的实时转码服务器600 ;
2)实时转码服务器600从视频源服务器700获取所要播放的原始媒体流及所对应的原始媒体流属性信息;
3)该实时转码服务器600对不同于网络终端502播放器播放格式的原始媒体流属性信息生成转码变换信息,并将转码变换的信息发送到所述自适应播放单元501 ;或实时转码服务器600将所述原始媒体流属性信息发送给自适应播放单元501,由自适应播放单元501生成转码变换;或实时转码服务器600根据原始媒体流属性信息生成转码变换信息,将所述转码变换信息和原始媒体流属性发送给自适应播放单元501,自适应播放单元501根据所述原始媒体流属性信息生成转码变换信息并合并实时转码服务器600的转码变换信息;
4)自适应播放单元600将转码变换的信息发送到网络终端500,如自适应播放单元501存在两个以上不同码率的转码变换的信息,合并后发送到网络终端500上;
5)网络终端的播放器502依据转码变换的信息,选择适合码率媒体流进行播放。按照上述步骤,结合实例,其的具体的工作过程如图3所示
3.1网络终端500发送播放http://www. example, com/a. flv的播放请求到本地自适应播放单元501。3. 2自适应播放单元501从播放请求中检测出满足该播放请求的播放器所支持的封装格式,并将不同于网络终端播放器播放格式的播放器属性的检查结果发送到实时转码服务器600。3. 3实时转码服务器600根据自适应播放单元501发送的信息向视频源服务器获取http://www. example, com/a. flv的开头小部分数据,数据中包含了 flv文件的头部,即所要播放的原始媒体流的属性信息。3. 4视频源服务器根据请求的flv文件,向实时转码服务器600发送flv开头部分的数据。3. 5实时转码服务器600从获取的头部数据中解析出flv视频的时间长度,文件大小以及关键帧位置等信息,并根据获取的媒体流属性信息进行预切片,并生成对应的多码率的m3u8列表文件(列表文件根据需要可以多个),记录m3u8列表中各ts封装文件所对应的原始flv文件的片段,形成转码信息。实时转码服务器600向视频源服务器获取获取原始媒体流信息还可通过支持的视频信息接口获取。实时转码服务器600在获取原始媒体流信息后,比如从视频源服务器获取http://www. example, com/a. flv的开头小部分数据后,可以不对该原始媒体流属性信息进行处理,直接发送到自适应播放单元501生成转码变换信息。3. 6实时转码服务器600将上述包括m3u8列表、传输协议的转码信息以及原始媒体流发送到自适应播放单元501。实时转码服务器中的列表文件如是多个(至少两个)可以分别发送,也可以合并后发送到自适应播放单元501。3. 7自适应播放单元501根据所接收转码信息对接收到的的原始媒体流进行预切片设置,生成本地转封装的m3u8列表(http ://127. 0. 0. 1/a. m3u8)。自适应播放单元501也可不进行预切片、生成本地转封装的列表的转码变换,而将转码变换全部由实时转码服务器600来完成。3. 8自适应播放单元501将收到的所有列表文件合并,例如将全部由本地生成的多个m3u8列表文件合并、或全部由实时转码服务器600发送的多个m3u8列表文件合并、或部分由本地生成、部分由自适应播放单元501发送的所有m3u8列表文件进行合并。3. 9自适应播放单元501将合并后的m3u8播放列表给网络终端500。3. 10网络终端根据带宽选择对应的m3u8,如果请求的是实时转码服务器的m3u8中的ts封装片段,则播放过程类似实施例2中的2. 6-2. 11的过程。3. 11网络终端依据带宽选择对应的m3u8,请求其中的自适应播放单元的m3u8中的ts封装片段,通过该终端上的对应播放器进行对应时段的媒体流播放。3. 12自适应播放单元501收到播放ts的请求后,查询ts封装对应的原始媒体流的地址等信息。3. 13自适应播 放单元501依据查询的原始视频地址向视频源服务器700请求该时段的原始媒体流。3. 14视频源服务器700向自适应播放单元501发送该时段的原始媒体流片段。3. 15自适应播放单元501将收到的原始媒体流片段实时转码成ts封装片段。3. 16自适应播放单元501将实时转码成的ts封装片段发送给网络终端500上的播放器502进行播放通过上述的实例可知本发明中的自适应播放单元501,是用以接收播放请求并从原始媒体流服务器获取所要播放的原始媒体流,将原始媒体流属性信息生成转码变换信息,并将转码信息发送到自适应播放单元,或将接收的原始媒体流信息发送到自适应播放单元。根据上面所完成的功能作用可将自适应播放单元501优化为代理服务器和转码模块两部分。而转码模块可根据其所完成的功能可优化设置为如下的软件模块播放器检测单元模块、预切片单元模块、媒体流转换单元模块单元模块和合并单元模块,从而能更好地对数据分类处理。播放器检测单元模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息;预切片单元模块,用以对原始媒体流信息中的视频信息预切片并生成至少一个对应播放格式的列表文件;媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流;合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合并。实时转码服务器600所起的作用是接收自适应播放单元转发的播放请求并从视频源服务器获取所要播放的原始媒体流信息,将接收的原始媒体流信息生成转码变换信息,并将转码信息发送到自适应播放单元,或将接收的原始媒体流信息发送到自适应播放单元。同样地根据实时转码服务器的功能作用,优化设置为如下的软件模块原始媒体流获取单元模块、预切片单元模、媒体流转换单元模块和合并单元模块。原始媒体流获取单元模块,用以从视频源服务器获取模块获取所要播放的原始媒体流信息,而预切片单元模块、媒体流转换单元模块和合并单元模块与上述转码模块的对应单元模块相同。根据上述自适应播放单元502和实时转码服务器600的优化设计,上述实施例的一些对应步骤产生对应的细节过程
例如,自适应播放单元501接收所述网络终端500发出的播放请求并转发给实时转码服务器700的步骤为自适应播放单元501中代理服务器接收播放请求并转发自适应播放单元501中给转码模块;转码模块中的检测单元模块检测出满足该播放请求的播放器所支持的封装格式和传输协议的播放属性信息,并将该播放属性信息发送给代理服务器;代理服务器将所述播放属性信息发送给实时转码服务器600。接下来,实时转码服务器600从视频源服务器700获取所要播放的原始媒体流及对应的属性信息的步骤为实时转码服务器600根据代理服务器发送的信息,通过其上视频源服务器获取模块使用HT TP range request方法向视频源服务器获取http://www.example, com/a. flv的开头小部分数据,即也可通过视频源服务器支持的视频信息接口获取。获取的原始媒体流及对应的属性信息发送给代理服务器。然后,实时转码服务器600将获取的原始媒体流的属性信息发送给自适应播放单元501中的代理服务器,代理服务器将原始媒体流的属性信息转发给转码模块,转码模块中的预切片单元模块对原始媒体流预切片并生成至少一个对应播放格式的列表文件和对应的传输协议,形成所述转码信息,代理服务器接收原始媒体流信息并将该原始媒体流信息发送给转码模块。代理服务器将原始媒体流的属性信息转也可发给实时转码服务器600生成转码变换信息,其步骤包括实时转码服务器600将获取的原始媒体流信息中的视频信息通过预切片单元模块进行预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息;实时转码服务器600发送转码变换的信息至自适应播放单元,发送的列表文件如是两个以上,根据需要,分别发送或通过合并单元模块合并后发送给代理服务器。代理服务器也可将原始媒体流的属性信息转分别发给实时转码服务器600和自适应播放单元中的转码模块来分别生成转码变换信息,其步骤包括
实时转码服务器600通过其中的预切片单元模块,将获取的原始媒体预切片并生成至少一个对应播放格式的列表文件,形成所述转码变换的信息,并将该转码变换的信息以及原始媒体流属性信息发送给代理服务器。同时,转码模块通过其中的预切片单元模块对原始媒体流信息中的媒体流预切片并生成至少一个对应播放格式的列表文件,通过媒体流转换单元模块生成所述转码信息,并将分别由转码模块和实时转码服务器发送的列表文件进行合并,包含合并后的列表文件的转码变换信息经代理服务器发送到网络终端。上述实施例网络终端的播放器可以是终端自带播放器,也可以是定制播放器例如配合该系统定制的播放器,或第三方播放器,例如vie, mx player等等。本申请所述公开的方法可直接体现为硬件、由处理器执行的软件模块或二者的集合。软件模块可存储在可读介质中。虽然本申请描述了本发明特定的一些实施例,但本领域普通技术人员可以在本发明的所提供的技术方案的基础上设计出一些本技术方案的变形。例如,本申请中 的转码模块可以根据需要进行不同的软件模块设计,可再设计为参数设置模块,用以设置需要转码的格式和协议;音视频流分离模块,用于将源多媒体流进行解封装得到分离的音频流和视频流。再例如,本发明所涉及的封装格式并不局限于TS格式的封装,也可以是flv, mp4, webm或自定义的音视频封装格式。播放列表格式也不局限于上述实施例,可以是asx, xml, ism, sdp, smil, f4f等格式或是任何自定义的描述性的播放列表。因此,本申请的保护范围不局限于上述实施例。
权利要求
1.一种自适应的流媒体播放方法,其特征在于播放步骤包括 设置于网络终端上的自适应播放单元接收所述网络终端发出的播放请求并转发给设置于网络上的实时转码服务器; 所述实时转码服务器获取所要播放的原始媒体流属性信息; 实时转码服务器对不同于网络终端播放器播放格式的原始媒体流属性信息生成转码变换信息,并将该转码变换的信息发送到所述自适应播放単元;或实时转码服务器将所述原始媒体流属性信息发送给自适应播放单元,由自适应播放单元生成转码变换信息;或实时转码服务器根据原始媒体流属性信息生成转码变换信息,将所述转码变换信息和原始媒体流属性发送给自适应播放单元,自适应播放单元根据所述原始媒体流属性信息生成转码变换信息并合并实时转码服务器的转码变换信息; 自适应播放单元将转码变换的信息发送到网络终端; 网络终端依据转码变换信息,选择适合码率,通过该终端的播放器进行媒体流播放。
2.根据权利要求1所述的ー种自适应的流媒体播放方法,其特征在于所述原始媒体流属性信息包括地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置。
3.根据权利要求1所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器对所述原始媒体流属性信息生成转码变换信息的步骤包括 实时转码服务器根据所述的原始媒体流属性信息对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息; 实时转码服务器发送所述转码变换的信息至自适应播放单元,发送的列表文件如是两个以上,根据需要,分别发送或合并后发送。
4.根据权利要求1所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器发送给自适应播放単元生成转码变换信息的步骤包括自适应播放单元根据获取的原始媒体流属性信息对媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息。
5.根据权利要求1所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器与自适应播放单元共同生成转码变换信息的步骤包括 实时转码服务器根据获取的原始媒体流属性信息对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息; 实时转码服务器同时将所述原始媒体流属性信息和所述转码变换信息发送给自适应播放单元; 自适应播放单元根据获取的原始媒体流属性信息对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息; 自适应播放单元将分别由自适应播放单元和实时转码服务器生成的所述列表文件合并。
6.根据权利要求1-5任一项所述的ー种自适应的流媒体播放方法,其特征在于所述自适应播放単元包括代理服务器和转码模块。
7.根据权利要求6所述的ー种自适应的流媒体播放方法,其特征在于所述自适应播放単元接收所述网络终端发出的播放请求并转发给实时转码服务器的步骤包括 所述代理服务器接收播放请求并转发给转码模块;转码模块从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议的播放属性信息,并将该播放属性信息发送给代理服务器; 代理服务器将所述播放属性信息发送给实时转码服务器。
8.根据权利要求6所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器从视频源服务器获取所要播放的原始媒体流属性信息的步骤包括 所述实时转码服务根据所述播放属性信息中的传输协议从视频源服务器获取所要播放的媒体流的开头部分片段,或通过视频源服务器支持的视频信息接ロ获取。
9.根据权利要求6所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器发送给自适应播放単元进行转码变换的步骤还包括 所述代理服务器接收原始媒体流属性信息并将该原始媒体流属性信息发送给转码模块; 所述转码模块根据获取的原始媒体流属性信息对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码信息; 转码模块将该转码变换的信息发送到代理服务器。
10.根据权利要求9所述的ー种自适应的流媒体播放方法,其特征在于实时转码服务器与自适应播放单元共同生成转码变换信息的步骤还包括 实时转码服务器根据获取的原始媒体流属性信息,对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息,并将该转码变换的信息发送给代理服务器; 实时转码服务器同时将所述原始媒体流属性信息和转码变换信息发送给代理服务器; 代理服务器接收原始媒体流属性信息并将该原始媒体流属性信息和转码变换信息发送给转码模块; 转码模块根据原始媒体流属性信息,对媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码信息,将该转码变换的信息发送到代理服务器; 代理服务器将分别由转码模块和实时转码服务器发送的转码信息进行合井。
11.根据权利要求6-10任一项所述的一种自适应的流媒体播放方法,其特征在于所述网络终端播放器为终端自带播放器,或定制播放器或第三方播放器。
12.一种自适应的流媒体播放系统中的自适应播放单元,其特征在于包括代理服务器,用以接收和转发播放请求、原始媒体流及对应该原始媒体属性流信息;和转码模块,用以检测播放请求中满足该播放请求的播放器所支持的封装格式和传输协议,并转发检测出的播放器属性信息,接受原始媒体流信息中的视频信息预切片并生成至少ー个对应播放格式的列表文件并生成对应的传输协议,形成所述转码变换信息,接收原始媒体属性的转码变换并合并不同的转码变换信息,并转发将该转码变换信息。
13.根据权利要求12所述的ー种自适应的流媒体播放系统中的自适应播放单元,其特征在于所述转码模块包括 播放器检测单元模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息; 预切片単元模块,用以对原始媒体流信息中的视频信息预切片并生成至少ー个对应播放格式的列表文件; 媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流; 和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合井。
14.一种自适应的流媒体播放系统中的实时转码服务器,其特征在于包括 原始媒体流获取单元模块,用以从视频源服务器获取模块获取所要播放的原始媒体流信息; 预切片単元模块,用以对原始媒体流预切片并生成至少ー个对应播放格式的列表文件; 媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流; 和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合井。
15.—种自适应的流媒体播放系统,其特征在于包括 自适应播放单元,设置于网络终端上,用以接收所述网络终端发出的播放请求并转发给实时转码服务器,接收实时转码服务器发出的转码信息和原始媒体流信息,对接收的原始媒体流信息生成转码变换信息,合并不同的转码信息,将转码变换信息发送给网络终端; 实时转码服务器,设置于网络上,用以接收自适应播放单元转发的播放请求并获取所要播放的原始媒体流信息,将接收的原始媒体流信息生成转码变换信息,并将转码信息发送到自适应播放单元,或将接收的原始媒体流信息发送到自适应播放单元; 视频服务器,用以提供媒体流; 和网络终端,用以依据所述转码变换信息通过该网络终端上的播放器进行流媒体播放。
16.根据权利要求15所述的ー种自适应的流媒体播放系统,其特征在于所述自适应播放单元包括 代理服务器,用以接收播放请求并转发给转码模块,接收实时转码服务器发送的原始媒体流信息并将该原始媒体流信息发送给转码模块,; 和转码模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息发送给代理服务器,将代理服务器发送的原始媒体流信息中的视频信息预切片并生成至少ー个对应播放格式的列表文件,形成所述转码信息,以及将所接收的转码变换信息和自己生成的转码信息进行合并,将该转码信息发送到代理服务器。
17.根据权利要求16所述的ー种自适应的流媒体播放系统,其特征在于所述转码模块包括 播放器检测单元模块,用以从播放请求中检测出满足该播放请求的播放器所支持的封装格式和传输协议,并将检测出的播放器属性信息发送给所述代理服务器; 预切片単元模块,用以对原始媒体流预切片并生成至少ー个对应播放格式的列表文件; 媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流; 和合并单元模块,用以对两个以上对应播放格式的不同码率的列表文件进行合井。
18.根据权利要求15所述的ー种自适应的流媒体播放系统,其特征在于所述实时转码服务器包括 原始媒体流获取单元模块,用以从视频源服务器获取模块获取所要播放的原始媒体流信息; 预切片単元模块,用以对原始媒体流预切片并生成至少ー个对应播放格式的列表文件; 和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合井。
19.一种机器可读介质,其特征在于该可读介质上存储有指令集合,当指令集合被执行时,使得机器可执行权利要求1至10中任意一个权利要求所述的方法。
20. 一种自适应的流媒体播放方法,其特征在播放步骤包括 网络终端向设置于网络上的实时转码服务器发出的播放请求; 所述实时转码服务器获取所要播放的原始媒体流属性信息; 实时转码服务器根据原始媒体流属性信息生成转码变换信息; 实时转码服务器将转码变换的信息发送到网络终端的播放器; 网络终端依据转码变换的信息,选择适合码率媒体流,通过该终端的播放器进行播放。
21.根据权利要求20所述的ー种自适应的流媒体播放方法,其特征在于所述原始媒体流属性信息包括地址、传输协议、封装格式、视频大小、码率、视频长度、关键帧的时间和位置。
22.根据权利要求20所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器从视频源服务器获取所要播放的原始媒体流信息的步骤包括 所述实时转码服务根据所述播放请求从视频源服务器获取所要播放的原始媒体流信息;或通过视频源服务器支持的视频信息接ロ获取。
23.根据权利要求20所述的ー种自适应的流媒体播放方法,其特征在于所述实时转码服务器对所述原始媒体流信息生成转码变换信息的步骤包括 实时转码服务器根据获取的原始媒体流属性信息,对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换的信息; 实时转码服务器发送所述转码变换的信息至自适应播放单元,发送的列表文件如是两个以上,合并后发送。
24.根据权利要求20-23任一项所述的一种自适应的流媒体播放方法,其特征在干,所述播放步骤还包括 实时转码服务器根据获取的原始媒体流属性信息,对原始媒体流预切片并生成至少ー个对应播放格式的列表文件,形成所述转码变换信息; 实时转码服务器将所述转码变换信息发送到网络终端; 网络终端依据所述转码变换信息,选择适合码率,通过该网络终端上的播放器进行对应时段的媒体流播放; 网络终端向实时转码服务器请求某一时段的媒体流; 实时转码服务器依据该请求,向视频源服务器获取某一时段的媒体流,并转发给网络终端的播放器播放,直到所述播放请求的媒体流播放结束。
25.根据权利要求20-24任一项所述的一种自适应的流媒体播放方法,其特征在于所述网络终端播放器为终端自带播放器,或定制播放器或第三方播放器。
26.一种自适应的流媒体播放系统中的实时转码服务器,其特征在于包括 原始媒体流获取单元模块,用以获取所要播放的原始媒体流信息; 预切片単元模块,用以对原始媒体流预切片并生成至少ー个对应播放格式的列表文件; 和合并单元模块,用以对两个以上对应播放格式的不同码率的列表文件进行合井。
27.一种自适应的流媒体播放系统,其特征在干包括 实时转码服务器,设置于网络上,用以接收网络终端的播放请求并获取所要播放的原始媒体流,将接收的原始媒体流属性信息生成转码变换信息,并将转码信息发送到网络终端的播放器; 视频服务器,用以提供媒体流; 和网络终端,用以依据所述转码变换信息,选择适合码率,通过该网络终端上的播放器进行媒体流播放。
28.根据权利要求27所述的ー种自适应的流媒体播放系统,其特征在于所述实时转码服务器包括 原始媒体流获取单元模块,用以从视频源服务器获取模块获取所要播放的原始媒体流; 预切片単元模块,用以对原始媒体流预切片并生成至少ー个对应播放格式的列表文件; 媒体流转换单元模块,用以将原始媒体流转换为终端播放所支持的媒体流; 和合并单元模块,用以对两个以上对应播放格式不同码率的列表文件进行合井。
29.一种机器可读介质,其特征在于该可读介质上存储有指令集合,当指令集合被执行时,使得机器可执行权利要求20至24中任意一个权利要求所述的方法。
全文摘要
本发明涉及一种自适应的流媒体播放方法及其播放系统。播放步骤为自适应播放单元接收播放请求并转发给实时转码服务器;实时转码服务器获取所要播放的原始媒体流信息;实时转码服务器对不同于网络终端播放器播放格式的原始媒体流信息生成转码变换信息,并将转码变换的信息发送到所述自适应播放单元;自适应播放单元将转码变换的信息发送到网络终端的播放器,如自适应播放单元存在两个以上不同码率的转码变换的信息,合并后发送到网络终端的播放器;网络终端的播放器依据转码变换的信息,选择适合码率媒体流进行播放。优点是,满足终端支持播放互联网中存在的不同传输协议和不同封装格式的各式网络视频的需求。
文档编号H04L29/06GK103036889SQ201210554130
公开日2013年4月10日 申请日期2012年12月19日 优先权日2012年12月19日
发明者赵乘骥, 李 杰, 包渊, 赵乘麟 申请人:常州中流电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1