发明内容
本发明要解决的主要技术问题是,提供一种基于流媒体的频道轮播方法及流媒体服务器、MDP,本发明的频道轮播方法能够使得流媒体服务器能够直接根据内存中的频道信息提供频道轮播服务。
为解决上述技术问题,本发明采用的技术方案如下:
一种基于流媒体的频道轮播方法,包括:
流媒体服务器对所有需要进行传送流预处理的播放文件进行传送流预处理,并存储;
获取经过传送流预处理后的播放文件对应的路径信息,并根据所述路径信息更新内存中的频道信息;
流媒体服务器接收终端的轮播服务请求,并根据更新后的频道信息提供相应的轮播服务。
进一步地,获取经过传送流预处理后的播放文件对应的路径信息,根据所述路径信息更新内存中的频道消息的步骤,包括:
流媒体服务器判断原始播放文件是否经过传送流预处理,若没有经过传送流预处理,则由流媒体服务器与媒体分发平台进行交互,获取经过传送流预处理后的播放文件对应的路径信息,并根据该经过传送流预处理后的播放文件对应的路径,更新内存中的频道信息。
更进一步地,由流媒体服务器与媒体分发平台进行交互,获取传送流预处理后的播放文件对应的路径信息,并根据该经过传送流预处理后的路径,更新存储中的频道信息的步骤,包括:
所述流媒体服务器向所述媒体分发平台发起频道状态上报请求;
所述流媒体服务器接收所述媒体分发平台下发的频道更新请求,所述频道更新请求中包含了经过传送流预处理后的播放文件的路径信息,根据所述路径信息更新内存中的频道信息。
更进一步地,由流媒体服务器与媒体分发平台进行交互,获取传送流预处理后的播放文件对应的路径信息,并根据该经过传送流预处理后的播放文件对应的路径信息,更新存储中的频道信息的步骤,包括:
流媒体服务器接收媒体分发平台主动下发的频道更新请求,所述频道更新请求中包含了经过传送流预处理后的播放文件对应的路径信息,根据所述路径信息更新内存中的频道信息。
更进一步地,所述流媒体服务器预先对所有需要进行传送流预处理的播放文件进行传送流预处理,并存储的步骤,包括:
所述流媒体服务器接收所述媒体分发平台下发的对所有需要进行传送流预处理的播放文件进行传送流预处理的通知消息;
所述流媒体服务器对所述播放文件进行预处理,并返回传送流预处理结果给所述媒体分发平台。
一种流媒体服务器,包括预处理模块、更新模块和服务模块,其中,
所述预处理模块,用于对所有播放文件进行传送流预处理,并将经过传送流预处理后的播放文件进行保存;
所述更新模块,与所述预处理模块相连,用于获取经过传送流预处理后的播放文件对应的路径信息,并根据该路径信息更新内存中的频道信息;
所述服务模块,与所述更新模块相连,用于接收终端发送的轮播请求,并根据所述更新后的频道信息提供相应的服务。
进一步地,所述更新模块包括:预处理判断子模块,路径获取子模块和信息更新子模块,其中,
所述预处理判断子模块,用于判断原始播放文件是否经过传送流预处理;
所述路径获取子模块与所述预处理判断子模块相连,用于当所述预处理判断子模块判断出原始播放文件没有经过传送流预处理时,与媒体分发平台进行交互,并获取经过传送流预处理后的播放文件对应的路径信息;
信息更新子模块,与所述路径获取子模块相连,用于根据路径获取子模块所获取的经过传送流预处理后的播放文件对应的路径信息,更新内存中的频道信息。
更进一步地,所述路径获取子模块包括上报请求单元,和路径获取单元,其中,
所述上报请求单元,与所述预处理判断子模块相连,用于当所述预处理判断子模块判断出原始播放文件没有经过传送流预处理时,向与媒体分发平台发起频道状态上报请求;
所述路径获取单元,与所述上报请求单元相连,用于当所述上报请求单元发起频道状态上报请求后,接收所述媒体分发平台下发的频道更新请求,并获取所述频道更新请求中的经过传送流预处理后的播放文件对应的路径信息。
更进一步地,所述路径获取子模块用于接收媒体分发平台主动下发的频道更新请求,并获取所述频道更新请求中的经过传送流预处理后的播放文件对应的路径信息。
本发明的有益效果是:
本发明的频道轮播方法通过对所有播放文件进行传送流预处理,并获取经过传送流预处理后的播放文件对应的路径信息,再根据该路径信息来更新内存中的频道信息,从而当终端发起轮播服务请求时,SS可以直接根据该更新后的频道信息提供相应的频道轮播服务。
本发明的频道轮播方法,通过由SS向媒体分发平台发起频道状态上报请求,媒体分发平台下发频道更新请求,且该更新请求中包含了经过传送流预处理后的播放文件对应的路径信息,最后SS根据该路径信息更新内存中频道信息,从而使得SS可以直接根据该路径信息提供相应的频道轮播服务。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
请参考图1,为本实施方式的流媒体服务器的一实施例的结构示意图。本实施方式的流媒体服务器(SS)包括预处理模块101、更新模块102和服务模块103,其中,预处理模块101用于对所有播放文件(即SIML文件中子内容文件)进行ts预处理;更新模块102,与预处理模块101相连,用于获取经过ts预处理后的该播放文件对应的路径信息,并根据获取的该路径信息更新内存中的频道信息;服务模块103,与该更新模块102相连,用于接收终端发送的轮播服务请求,并根据更新后的频道信息提供相应的频道轮播服务。
本实施方式中的SS内存中的频道信息包括播放文件的路径,即是说SS内存中的频道信息中包含了未经过ts预处理的播放文件的路径信息,当SS对播放文件进行ts预处理后,根据获取的经过ts预处理后的播放文件的路径信息更新内存中的频道信息,即是说将内存中该播放文件的未经过ts预处理前的路径信息更新为经过ts预处理后的路径信息。
请参考图2,为本实施方式的流媒体服务器的更新模块的一实施例的结构示意图。本实施方式的更新模块包括预处理判断子模块201,路径获取子模块202和信息更新子模块203,其中,预处理判断子模块201,用于判断原始播放文件是否经过传送流预处理;路径获取子模块202与预处理判断子模块201相连,用于当该预处理判断子模块201判断出原始播放文件没有经过ts预处理时,与MDP进行交互,并获取预处理后的播放文件对应的路径;信息更新子模块203,与路径获取子模块202相连,用于根据该路径获取子模块202所获取的经过预处理后的播放文件对应的路径信息,更新内存中的频道信息。
请参考图3,为本实施方式的路径获取子模块的一实施例的结构示意图。本实施方式的路径获取子模块包括上报请求单元301,和路径获取单元302,其中,上报请求单元301,与预处理判断子模块相连,用于当预处理判断子模块判断出原始播放文件没有经过ts预处理时,向与MDP发起频道状态上报请求;路径获取单元302,与该上报请求单元301相连,用于当上报请求单元301发起频道状态上报请求后,接收MDP下发的频道更新请求,并获取该频道更新请求中的经过预处理后的播放文件对应的路径信息。
当然本实施方式中,该路径获取子模块也可以直接接收MDP主动下发的频道更新请求,即本实施方式中的路径获取子模块也可以不设置上报请求单元。
基于上述的流媒体服务器(SS),本实施方式还提供了一种基于流媒体的频道轮播方法。
请参考图4,为本实施方式的基于流媒体的频道轮播方法的一实施例的流程图。本实施方式的流媒体的频道轮播方法包括:
S401,流媒体服务器对所有播放文件进行ts预处理,并进行存储。
本实施方式的SS对所有播放文件进行ts预处理的步骤的一实施例包括:SS接收MDP下发的对需要进行ts预处理的播放文件进行ts预处理的通知消息;SS对所有需要进行ts预处理的播放文件进行ts预处理。
本实施方式中该MDP下发对所有需要进行ts预处理的播放文件进行ts预处理之前,由IMP判断各个播放文件是否需要进行ts预处理,若有需要进行ts预处理的播放文件,则通知MDP,再由MDP下发对所有需要进行ts预处理的播放文件进行ts预处理的通知消息给SS,从而由该SS对所有需要进行ts预处理的播放文件进行ts预处理;若没有需要进行ts预处理的播放文件,则可直接执行步骤S403。
本实施方式中,IMP采用定时任务判断各个播放文件是否需要进行ts预处理,当然也可以实时判断各个播放文件是否需要进行ts预处理或者其他方式来判断。
S403,获取经过ts预处理后的播放文件对应的路径信息。
请参考图5,为本实施方式中的步骤S403的一实施例的流程图。本实施方式的S403包括:
S501,SS判断原始播放文件是否经过ts预处理,若已经过ts预处理,则执行步骤S407,否则执行步骤S503。
S503,SS与MDP进行交互,并获取经过ts预处理后的播放文件对应的路径信息。
由于SS不涉及与数据库的交互,故相关信息都不会保存。虽然预处理的动作最终由SS完成,但是预处理前后的文件路径全部保存在MDP的数据库中。因此,最后轮播频道进行请求时候,SS需要与MDP进行交互,从而获取经过ts预处理后的文件路径信息。
S405,根据该路径信息更新内存中的频道信息。
S407,SS接收终端的轮播服务请求,并根据更新后的频道信息提供相应的轮播服务。
下面结合具体实施例和附图对本实施方式的频道轮播方法进行详细的说明。
请参考图6,为本实施方式的基于流媒体的互联网电视的频道轮播方法的一具体实施例的流程图,本实施例的频道轮播方法包括;
S601,SS对所有需要进行预处理的播放文件进行ts预处理,将ts预处理结果返回给MDP。
S603,CMS向IMP发起互联网电视轮播同步请求。
S605,IMP将该频道同步请求存入数据库,并返回CMS内容同步的响应。
S607,IMP定时触发频道自动创建,并发送频道自动创建请求消息给MDP。
S609,MDP将该频道创建请求消息透传给SS。
S611,SS创建轮播频道(即进行频道同步),并将处理结果(即频道同步结果)返回给MDP。
S613,MDP将频道同步结果透传给IMP。
S615,IMP将频道同步结果返回给CMS。
S617,CMS向IMP发送同步结果响应消息。
S619,SS创建轮播频道成功后,判断原始播放文件,即SIML文件中子内容文件,是否经过ts预处理,若没有经过ts预处理,则执行步骤S621,否则执行步骤S629。
S621,SS向MDP发起频道状态上报请求;
S623,MDP查询数据库,得到ts预处理后的播放文件对应的路径信息。
本实施例中该数据库存储有频道播放文件,即SIML文件的子内容文件,且该SIML文件的每一个子内容文件对应一条路径,MDP查询数据库即可得到相应的经过ts预处理后的SIML文件中子内容文件对应的路径信息。
S625,MDP产生频道更新请求,并下发给SS。该频道更新请求中包含了ts预处理后播放文件,即SIML文件中子内容文件,对应的路径信息。
S627,SS根据该路径信息,更新内存中的频道信息。
S629,SS接收终端的轮播服务请求,并根据内存中的频道信息提供相应的轮播服务。
本实施例中采用由SS向MDP发起频道状体上报请求,再由MDP下发频道更新请求,当然本实施方式中也可以采用当对播放文件进行完ts预处理,并存储后,MDP立即或者定时下发频道更新请求给SS,从而SS从该更新请求中获取经过ts预处理后的播放文件对应的路径。
本实施例通过在内容同步自动创建频道之后由SS向MDP发起频道状态上报请求,MDP返回频道更新请求,且该请求中包含有经过预处理后的SIML文件中子文件对应的路径,最后SS根据该更新请求中的经过ts预处理后的播放文件对应的路径信息,更新内存中频道信息,从而SS在接收到终端的频道轮播服务请求后,可直接根据内存中更新后的频道信息提供相应的频道轮播服务。
请参考图7,为本实施例中在SS对所有需要进行ts预处理的播放文件进行ts预处理的一实施例的流程图。本实施例的SS对所有需要进行ts预处理的播放文件进行ts预处理的步骤包括:
S701,CMS向IMP发起播放文件同步请求。
S703,IMP将该同步请求存入数据库,并返回CMS内容同步请求的响应,即确认收到消息了。
S705,IMP定时任务判断各个播放文件是否需要进行ts预处理,若有需要进行ts预处理的播放文件,则执行步骤S707,若没有需要进行ts预处理的播放文件,则执行步骤S603。
S707,IMP向MDP发送进行ts预处理的请求消息。
S709,MDP将进行ts预处理的请求消息透传给SS。
S711,SS对所有需要进行ts预处理的播放文件进行ts预处理,将ts预处理结果返回给MDP。
S713,MDP将处理结果透传给IMP。
S715,IMP向CMS发送内容同步结果消息,即ts预处理结果消息。
S717,CMS向IMP发ts预处理结果响应消息,即确认收到消息了。
由于互联网电视视频与移动网视频格式的不同,若要实现时移、定位、快进快退,则需要流服务器在服务的时候提取源文件中的关键帧,以及PCR时戳。这样对SS的性能将有很大程度上的消耗,对外服务能力大大下降。因此,本实施例中通过采用内容同步流程中进行ts预处理的方式来代替SS在对终端提供服务时进行实时预处理,既大大降低了SS不必要的性能浪费,提高了SS对外服务能力,也优化了流程。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。