System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及互联网媒体播放,特别是涉及多媒体数据播放方法、系统、装置、客户端及存储介质。
技术介绍
1、在直播场景中,服务端每隔一定时间间隔,生成一个多媒体数据块,该多媒体数据块的块号与该多媒体数据块开始生成的时间有关;客户端根据当前时间计算当前需要下载的多媒体数据块的块号,从服务端下载并播放该块号对应的多媒体数据块。然而,每两个多媒体数据块的生成时间间隔存在一定的误差,在客户端请求某一块号的多媒体数据块时,服务端可能并未生成该块号的多媒体数据块,进而导致服务端报错,客户端出现多媒体数据播放卡顿。
技术实现思路
1、本申请实施例的目的在于提供一种多媒体数据播放方法、系统、装置、客户端及存储介质,以减少多媒体数据播放卡顿现象的发生。具体技术方案如下:
2、在本申请实施的第一方面,首先提供了一种多媒体数据播放方法,所述方法应用于客户端,所述方法包括:
3、向服务端发送多媒体数据播放列表的获取请求,所述多媒体数据播放列表包括所述直播内容对应的至少一个多媒体数据块的块号;
4、响应于所述服务端反馈的多媒体数据播放列表的失败获取结果,根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号,所述第一块号为所述上一个多媒体数据播放列表包括的最大块号,所述第二块号为当前时间戳可下载的最大块号;
5、从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标
6、播放所获取的目标多媒体数据块。
7、在一些实施例中,所述向服务端发送多媒体数据播放列表的获取请求的步骤,包括:
8、周期性向服务端发送多媒体数据播放列表的获取请求;
9、接收所述服务端根据所述获取请求反馈的最新的多媒体数据播放列表;
10、所述方法还包括:
11、若连续预设数量个周期未获取到多媒体数据播放列表,则执行根据已获取的上一个多媒体数据播放列表包括的第一块号和获取的所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号的步骤。
12、在一些实施例中,所述根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号的步骤,包括:
13、计算接收到所述上一个多媒体数据播放列表的时间戳和所述当前时间戳的时间差;
14、基于所述时间差和一个所述多媒体数据块的生产时长,计算所述时间差内所述服务端生产所述多媒体数据块的个数;
15、基于所述个数和所述第一块号,确定当前时间戳可下载的第二块号。
16、在一些实施例中,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
17、按照块号从小到大的顺序,从所述服务端包括的多个候选多媒体数据块中获取至少一个目标多媒体数据块,所述候选多媒体数据块为所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的多媒体数据块。
18、在一些实施例中,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
19、按照块号从小到大的顺序,从所述服务端依次获取所述直播内容对应的且块号大于所述第一块号的多媒体数据块,直至获取到块号等于所述第二块号的多媒体数据块,或获取到为停止块的多媒体数据块。
20、在一些实施例中,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
21、判断当前时间戳至所述直播内容对应的预设结束时间戳之间的时长是否大于预设时长;
22、若是,则从所述服务端获取所述直播内容对应的多媒体数据包,所述多媒体数据包包括块号大于所述第一块号且小于等于所述第二块号的多媒体数据块;
23、若否,则按照块号从小到大的顺序,从所述服务端依次获取所述直播内容对应的且块号大于所述第一块号的多媒体数据块,直至获取到块号等于所述第二块号的多媒体数据块,或获取到为停止块的多媒体数据块。
24、在一些实施例中,所述方法还包括:
25、响应于所述服务端反馈的多媒体数据播放列表的失败获取结果,且不存在所述上一个多媒体数据播放列表,则根据预设时延和当前时间戳,确定当前可下载的第二块号和第三块号,所述第三块号为当前时间戳可下载的最小块号;
26、将所述第三块号作为所述第一块号,执行所述根据所述第一块号和所述第二块号,从所述服务端获取目标多媒体数据块的步骤。
27、在一些实施例中,所述方法还包括:
28、响应于从所述服务端获取到最新的多媒体数据播放列表,根据所获取的多媒体数据播放列表包括的块号,从所述服务端获取并播放多媒体数据块,返回执行所述向服务端发送多媒体数据播放列表的数据获取请求的步骤,直至所获取的多媒体数据播放列表包括具有结束标记的块号。
29、在本申请实施的第二方面,还提供了一种多媒体数据播放系统,所述多媒体数据播放系统包括客户端和服务端;
30、所述客户端,用于向所述服务端发送多媒体数据播放列表的获取请求,所述多媒体数据播放列表包括所述直播内容对应的至少一个多媒体数据块的块号;
31、所述服务端,用于接收所述客户端发送的所述获取请求;根据所述获取请求向所述客户端反馈最新的多媒体数据播放列表,
32、所述客户端,还用于接收所述服务端根据所述获取请求反馈的最新的多媒体数据播放列表;响应于所述服务端反馈的多媒体数据播放列表的失败获取结果,根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号,所述第一块号为所述上一个多媒体数据播放列表包括的最大块号,所述第二块号为当前时间戳可下载的最大块号;从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块;播放所获取的目标多媒体数据块。
33、在本申请实施的又一方面,还提供了一种多媒体数据播放装置,所述装置应用于客户端,所述装置包括:
34、发送模块,用于向服务端发送多媒体数据播放列表的获取请求,所述多媒体数据播放列表包括所述直播内容对应的至少一个多媒体数据块的块号;
35、第一确定模块,用于响应于所述服务端反馈的多媒体数据播放列表的失败获取结果,根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号,所述第一块号为所述上一个多媒体数据播放列表包括的最大块号,所述第二块号为当前时间戳可下载的最大块号;
36、第一获取模块,用于从所述服务端获取所述直播内容本文档来自技高网...
【技术保护点】
1.一种多媒体数据播放方法,其特征在于,应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述向服务端发送多媒体数据播放列表的获取请求的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
6.根据权利要求1所述的方法,其特征在于,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求
9.一种多媒体数据播放系统,其特征在于,包括客户端和服务端;
10.一种多媒体数据播放装置,其特征在于,应用于客户端,所述装置包括:
11.一种客户端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
...【技术特征摘要】
1.一种多媒体数据播放方法,其特征在于,应用于客户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述向服务端发送多媒体数据播放列表的获取请求的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据已获取的上一个多媒体数据播放列表包括的第一块号和接收到所述上一个多媒体数据播放列表的时间戳,确定当前时间戳可下载的第二块号的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述从所述服务端获取所述直播内容对应的且块号大于所述第一块号且小于等于所述第二块号的目标多媒体数据块的步骤,包括:
6.根据权利要求1所...
【专利技术属性】
技术研发人员:殷松松,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。