一种IPTV频道切换方法及系统技术方案

技术编号:21552791 阅读:83 留言:0更新日期:2019-07-07 00:39
本发明专利技术公开了一种IPTV频道切换方法及系统,涉及IPTV视频播放技术领域,本发明专利技术收到IPTV服务器下发的原始频道列表信息时,进行预加载并构建自定义频道列表;通过在发起TS流请求前,通过自定义频道列表中的TS流码率和是否支持快速发流申请合适大小的TS流缓冲区,合理利用终端内存资源。在发起TS流请求时,使用自定义频道列表中的直播地址进行请求,避免组播无流或单播原始地址无法访问导致的切台变慢问题。在发起TS流请求后,使用自定义频道列表中的音视频PID和音视频编码格式启动解码器,并将收到的TS流送入解码器解码播放,消除了收到TS流后解析PSI信息的耗时,提高了频道切换速度。

An IPTV Channel Switching Method and System

【技术实现步骤摘要】
一种IPTV频道切换方法及系统
本专利技术涉及IPTV视频播放
,具体涉及一种IPTV频道切换方法及系统。
技术介绍
IPTV业务中,终端接入IPTV平台后,平台会下发频道列表信息,终端保存节目列表信息,然后通过指定频道号进行频道切换,终端找到频道号对应的直播地址信息进行播放完成频道切换。通常一个频道会同时含有组播直播地址(IGMP协议)和单播直播地址(RTSP协议、HLS协议等)。因为组播播放服务器负载小,终端需要优先进行组播播放,在无法获取到组播流时进行单播播放。单播播放也会存在原始地址无法访问需要切换容灾地址的情况。现有技术中,大多数采用以下方法实现IPTV频道切换。(1)指定频道号进行频道切换,频道切换开始。(2)终端按照预置值申请固定大小的TS流缓冲区。(3)终端发起组播请求获取组播流,如果未获取到组播流执行(4),获取到组播流执行(6)。(4)终端发起单播请求,如果单播地址无法访问并且单播地址中含有容灾字段则执行(5),如果单播地址可以访问执行(6)。(5)终端拼接容灾地址,并通过容灾地址进行单播请求。(6)将获取到的TS流写入TS流缓冲区,并解析TS流的PSI信息获取音视频PID及音视频编码格式。(7)设置解码器参数,包含音视频PID及编码格式等信息并启动解码器。(8)将TS流缓冲区的数据送入解码器解码播放,频道切换完成。以上频道切换方法存在以下问题。TS流缓冲区最佳大小是受TS流码率大小以及流媒体服务器是否快速发流影响的。如果TS流码率较大或服务器进行了快速发流,那么需要申请较大的缓冲区否则会出现缓冲区溢出的问题,如果TS流码率较小并且流媒体服务器没有进行快速发流,那么只需要较小的缓冲区,缓冲区申请过大会浪费了终端的内存资源。步骤(2)为了存放TS流数据,需要在发起流媒体请求前申请TS流缓冲区,此时由于终端还未收到TS流数据,也未与流媒体服务器进行建链协商(单播),TS流码率未知,流媒体服务器是否进行快速发流未知,只能申请预置的固定大小的缓冲区,无法根据TS流的不同申请合适的大小。步骤(3)中如果未获取到组播流(这通常需要等待3s左右进行判断),转单播播放会极大的延长频道切换时间。步骤(4)中如果原始单播地址无法访问,确认服务器无法访问这个过程需要超时等待导致耗时,再拼接容灾地址进行请求会延长频道切换时间。步骤(6)解析TS流中的PSI信息需要耗时,不能立即将收到的TS流送入解码器解码播放。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种IPTV频道切换方法及系统,提高频道切换速度,避免缓冲区溢出以及内存资源浪费。为达到以上目的,本专利技术采取的技术方案是:提供一种IPTV频道切换方法,包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、是否支持快速发流并构建自定义频道列表;进行频道切换时,使用自定义频道列表中的信息进行播放。在上述方案的基础上,进行频道切换时,使用自定义频道列表中的信息进行播放,具体包括以下步骤:根据用自定义频道列表中的TS流码率和是否支持快速发流,请求合适大小的TS流缓冲区,并使用自定义频道列表中的直播地址发起TS流请求。在上述方案的基础上,所述方法还包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取音视频PID、音视频编码格式并记入自定义频道列表;使用自定义频道列表中的直播地址发起TS流请求后,使用自定义频道列表中的音视频PID和音视频编码格式启动解码器,并将收到的TS流送入解码器解码播放。在上述方案的基础上,收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、音视频PID、音视频编码格式、是否支持快速发流并构建自定义频道列表,具体包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载;使用IPTV服务器下发的原始频道列表信息中的组播地址发起组播请求,组播流请求成功,则将组播地址写入自定义频道列表中的直播地址字段,将自定义频道列表中的是否支持快速发流设置为否;组播流请求失败,则使用IPTV服务器下发的原始频道列表信息中的单播地址发起请求,单播地址请求成功,则将单播地址写入自定义频道列表中的直播地址字段,并根据单播建链交互结果设置是否支持快速发流;单播地址请求失败且单播地址中存在容灾字段,则拼接容灾字段,得到容灾地址发起请求,容灾地址请求成功,则将容灾地址保存到自定义频道列表作为直播地址,并根据单播建链交互结果设置是否支持快速发流。在上述方案的基础上,所述自定义频道列表的信息包括直播地址、TS流码率、是否快速发流、音频PID、音频编码格式、视频PID、视频编码格式。本专利技术还提供一种IPTV频道切换系统,包括:自定义频道列表构建模块,其用于:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、是否支持快速发流并构建自定义频道列表;频道切换模块,其用于:进行频道切换时,使用自定义频道列表中的信息进行播放。在上述方案的基础上,所述频道切换模块进行频道切换时,使用自定义频道列表中的信息进行播放,具体包括以下步骤:根据用自定义频道列表中的TS流码率和是否支持快速发流,请求合适大小的TS流缓冲区,并使用自定义频道列表中的直播地址发起TS流请求。在上述方案的基础上,所述自定义频道列表构建模块还用于:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取音视频PID、音视频编码格式并记入自定义频道列表;所述频道切换模块还用于:使用自定义频道列表中的直播地址发起TS流请求后,使用自定义频道列表中的音视频PID和音视频编码格式启动解码器,并将收到的TS流送入解码器解码播放。在上述方案的基础上,所述自定义频道列表构建模块收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、音视频PID、音视频编码格式、是否支持快速发流并构建自定义频道列表,具体包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载;使用IPTV服务器下发的原始频道列表信息中的组播地址发起组播请求,组播流请求成功,则将组播地址写入自定义频道列表中的直播地址字段,将自定义频道列表中的是否支持快速发流设置为否;组播流请求失败,则使用IPTV服务器下发的原始频道列表信息中的单播地址发起请求,单播地址请求成功,则将单播地址写入自定义频道列表中的直播地址字段,并根据单播建链交互结果设置是否支持快速发流;单播地址请求失败且单播地址中存在容灾字段,则拼接容灾字段,得到容灾地址发起请求,容灾地址请求成功,则将容灾地址保存到自定义频道列表作为直播地址,并根据单播建链交互结果设置是否支持快速发流。在上述方案的基础上,所述自定义频道列表的信息包括直播地址、TS流码率、是否快速发流、音频PID、音频编码格式、视频PID、视频编码格式。与现有技术相比,本专利技术的优点在于:本专利技术通过收到IPTV服务器下发的原始频道列表信息时,进行预加载并构建自定义频道列表;通过在发起TS流请求前,通本文档来自技高网
...

【技术保护点】
1.一种IPTV频道切换方法,其特征在于,包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、是否支持快速发流并构建自定义频道列表;进行频道切换时,使用自定义频道列表中的信息进行播放。

【技术特征摘要】
1.一种IPTV频道切换方法,其特征在于,包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、是否支持快速发流并构建自定义频道列表;进行频道切换时,使用自定义频道列表中的信息进行播放。2.如权利要求1所述的方法,其特征在于:进行频道切换时,使用自定义频道列表中的信息进行播放,具体包括以下步骤:根据用自定义频道列表中的TS流码率和是否支持快速发流,请求合适大小的TS流缓冲区,并使用自定义频道列表中的直播地址发起TS流请求。3.如权利要求2所述的方法,其特征在于,所述方法还包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取音视频PID、音视频编码格式并记入自定义频道列表;使用自定义频道列表中的直播地址发起TS流请求后,使用自定义频道列表中的音视频PID和音视频编码格式启动解码器,并将收到的TS流送入解码器解码播放。4.如权利要求3所述的方法,其特征在于:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载,获取可用直播地址、TS流码率、音视频PID、音视频编码格式、是否支持快速发流并构建自定义频道列表,具体包括以下步骤:收到IPTV服务器下发的原始频道列表信息时,对原始频道列表信息进行预加载;使用IPTV服务器下发的原始频道列表信息中的组播地址发起组播请求,组播流请求成功,则将组播地址写入自定义频道列表中的直播地址字段,将自定义频道列表中的是否支持快速发流设置为否;组播流请求失败,则使用IPTV服务器下发的原始频道列表信息中的单播地址发起请求,单播地址请求成功,则将单播地址写入自定义频道列表中的直播地址字段,并根据单播建链交互结果设置是否支持快速发流;单播地址请求失败且单播地址中存在容灾字段,则拼接容灾字段,得到容灾地址发起请求,容灾地址请求成功,则将容灾地址保存到自定义频道列表作为直播地址,并根据单播建链交互结果设置是否支持快速发流。5.如权利要求3所述的方法,其特征在于:所述自定义频道列表的信息包括直播地址、TS流码率、是否快速发流、音频PID、音频编码格式、视频PID、视频编码格式。6.一种IPTV频道切换系统,其特征在于,包括:自定义频道列表...

【专利技术属性】
技术研发人员:李亮刘强姜超
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1