一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

时间戳生成方法、装置及相关设备与流程

2022-06-25 02:25:11 来源:中国专利 TAG:


1.本技术涉及多媒体技术领域,尤其涉及时间戳生成方法、装置及相关设备。


背景技术:

2.基于超文本传输协议(hyper text transfer protocol,http)的自适应流媒体传输协议发展很快,比较常见的是基于超文本传输协议动态自适应流(dynamic adaptive streaming over http,dash)协议和基于超文本传输协议流媒体直播(http live streaming,hls)协议,这两种协议可用于实现互联网电视的直播业务。
3.在基于hls/dash协议实现直播业务时,若直播内容提供方提供的直播流是hls直播流(指已经按照hls协议的要求进行编码、封装、分片等处理的直播流),但用户使用的播放终端上的视频播放应用仅支持解码播放dash直播流(指已经按照dash协议的要求进行编码、封装、分片等处理的直播流),则需流媒体服务器将直播内容提供方提供的hls直播流转码成dash直播流后再发送至播放终端,从而实现直播流的正常解码播放。
4.由于需要将hls直播流转码成dash直播流,若用户在使用播放终端观看直播的过程中,正在为播放终端提供直播服务的流媒体服务器出现了故障,导致播放终端需要切换到另一台正常的流媒体服务器上获取直播服务,通常会出现播放终端向切换后的流媒体服务器请求的直播流的时间戳与播放终端已经播放的直播流的时间戳无法对齐的问题,导致直播出现卡住或者黑屏等现象。


技术实现要素:

5.本技术提供了时间戳生成方法、装置及相关设备。
6.第一方面,提供了一种时间戳生成方法,应用于第一流媒体服务器,所述第一流媒体服务器与第二流媒体服务器均基于超文本传输协议流媒体直播hls协议接收直播流,所述第一流媒体服务器与播放终端之间以及所述第二流媒体服务器与所述播放终端之间均基于超文本传输协议动态自适应流dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述方法包括:
7.根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定目标时间戳和第二分片的dash时间戳,其中,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳,所述dash时间戳为基于所述dash协议生成的时间戳;
8.接收所述播放终端发送的索引请求和分片请求;
9.根据所述播放请求向所述播放终端返回所述目标时间戳,根据所述索引请求向所述播放终端返回包括所述第二分片的dash时间戳在内的第二分片,使得所述播放终端在播放完所述第二分片时将所述目标时间戳转发至所述第二流媒体服务器,
10.其中,所述目标时间戳用于所述第二流媒体服务器获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,所述第三分片的第一dash时间戳为所述第二分片
的dash时间戳与所述第二分片的时长之和,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片。
11.上述方案中,第二流媒体服务器可以根据播放终端转发的第一流媒体服务器发送的目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,若后续第二流媒体服务器将包括第三分片的第二dash时间戳在内的第三分片发送至播放终端,由于第三分片的第二dash时间戳与第三分片的第一dash时间戳是对齐的,第三分片的第一dash时间戳为第二分片的dash时间戳与第二分片的时长之和,因此播放终端可以正常解码播放第三分片。可以看出,上述方案可以解决播放终端在两个不同的流媒体服务器上进行切换获取直播服务的情况下,出现的播放终端向切换后的流媒体服务器请求的直播流的时间戳与播放终端已经播放的直播流的时间戳无法对齐的问题,避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
12.在一种可能的实现方式中,所述第一分片的时间戳包括第一分片的绝对时间戳和第一分片的hls时间戳,所述根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定目标时间戳,包括:
13.根据第一分片的时间戳和第二分片的绝对时间戳确定第二分片的hls时间戳是否发生跳变;
14.在确定所述第二分片的hls时间戳没有发生跳变的情况下,将所述第一分片的时间戳确定为目标时间戳;
15.在确定所述第二分片的hls时间戳发生跳变的情况下,将所述第二分片的绝对时间戳和所述第二分片的hls时间戳确定为目标时间戳。
16.在一种可能的实现方式中,所述根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定第二分片的dash时间戳,包括:
17.在确定所述第二分片的hls时间戳没有发生跳变的情况下,根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳计算得到第二分片的dash时间戳;
18.在确定所述第二分片的hls时间戳发生跳变的情况下,确定所述第二分片的绝对时间戳为所述第二分片的dash时间戳。
19.在确定第二分片的hls时间戳发生跳变的情况下,将第二分片的绝对时间戳确定为第二分片的dash时间戳,可以防止转换后的第二分片的dash时间戳回跳。
20.第二方面,提供了一种时间戳生成方法,应用于第二流媒体服务器,所述第二流媒体服务器与第一流媒体服务器均基于hls协议接收直播流,所述第二流媒体服务器与播放终端之间以及所述第一流媒体服务器与所述播放终端之间均基于dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述方法包括:
21.接收所述播放终端发送的第一目标时间戳,其中,所述第一目标时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定并发送至所述播放终端,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳;
22.根据所述第一目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,
23.其中,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳与所述第二
分片的时长之和,所述第二分片的dash时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定并发送至所述播放终端,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片,所述dash时间戳为基于所述dash协议生成的时间戳。
24.上述方案中,第二流媒体服务器可以根据播放终端转发的第一流媒体服务器发送的第一目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,若后续第二流媒体服务器将包括第三分片的第二dash时间戳在内的第三分片发送至播放终端,由于第三分片的第二dash时间戳与第三分片的第一dash时间戳是对齐的,第三分片的第一dash时间戳为第二分片的dash时间戳与第二分片的时长之和,因此播放终端可以正常解码播放第三分片。可以看出,上述方案可以解决播放终端在两个不同的流媒体服务器上进行切换获取直播服务的情况下,出现的播放终端向切换后的流媒体服务器请求的直播流的时间戳与播放终端已经播放的直播流的时间戳无法对齐的问题,避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
25.在一种可能的实现方式中,所述根据所述第一目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,包括:
26.根据所述第一目标时间戳和第三分片的绝对时间戳确定所述第三分片的hls时间戳是否发生跳变;
27.在确定所述第三分片的hls时间戳没有发生跳变的情况下,根据所述第一目标时间戳、第三分片的绝对时间戳和第三分片的hls时间戳计算得到与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳。
28.在一种可能的实现方式中,所述方法还包括:
29.在确定所述第三分片的hls时间戳发生跳变的情况下,确定所述第三分片的绝对时间戳为所述第三分片的第二dash时间戳。
30.在确定第三分片的hls时间戳发生跳变的情况下,将第三分片的绝对时间戳确定为第三分片的第二dash时间戳,可以防止转换后的第三分片的第二dash时间戳回跳。
31.在一种可能的实现方式中,所述方法还包括:
32.在确定所述第三分片的hls时间戳没有发生跳变的情况下,将所述第一目标时间戳确定为第二目标时间戳;
33.在确定所述第三分片的hls时间戳发生跳变的情况下,所述方法还包括:
34.将所述第三分片的绝对时间戳和所述第三分片的hls时间戳确定为所述第二目标时间戳;
35.所述方法还包括:
36.根据所述第二目标时间戳、第四分片的绝对时间戳和第四分片的hls时间戳确定第四分片的dash时间戳;
37.接收所述播放终端发送的索引请求和分片请求;
38.根据所述索引请求向所述播放终端返回所述第二目标时间戳,根据所述分片请求向所述播放终端返回包括所述第四分片的dash时间戳在内的第四分片,使得所述播放终端在播放完所述第四分片时将所述第二目标时间戳转发至第三流媒体服务器,
39.其中,所述第二目标时间戳用于所述第三流媒体服务器获取与第五分片的第一
dash时间戳对齐的第五分片的第二dash时间戳,所述第五分片的第一dash时间戳为所述第四分片的dash时间戳与所述第四分片的时长之和,所述第三流媒体服务器也基于所述hls协议接收所述直播流,所述第三流媒体服务器与所述播放终端之间也基于所述dash协议传输所述直播流。
40.上述方案中,第三流媒体服务器可以根据播放终端转发的第二流媒体服务器发送的第二目标时间戳获取与第五分片的第一dash时间戳对齐的第五分片的第二dash时间戳,若后续第三流媒体服务器将包括第五分片的第二dash时间戳在内的第五分片发送至播放终端,由于第五分片的第二dash时间戳与第五分片的第一dash时间戳是对齐的,第五分片的第一dash时间戳为第四分片的dash时间戳与第四分片的时长之和,因此播放终端可以正常解码播放第五分片。可以看出,上述方案可以解决播放终端在两个不同的流媒体服务器上进行切换获取直播服务的情况下,出现的播放终端向切换后的流媒体服务器请求的直播流的时间戳与播放终端已经播放的直播流的时间戳无法对齐的问题,避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
41.第三方面,提供了一种时间戳生成方法,应用于播放终端,所述播放终端与第一流媒体服务器之间以及所述播放终端与第二流媒体服务器之间均基于dash协议传输直播流,所述第一流媒体服务器与所述第二流媒体服务器均基于hls协议接收所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述方法包括:
42.向所述第一流媒体服务器发送索引请求和分片请求;
43.接收所述第一流媒体服务器根据所述索引请求返回的目标时间戳和根据所述分片请求返回的包括第二分片的dash时间戳在内的第二分片,其中,所述目标时间戳和第二分片的dash时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳,所述dash时间戳为基于所述dash协议生成的时间戳;
44.在播放完所述第二分片时接收调度设备发送的切换指令,根据所述切换指令向所述第二流媒体服务器发送所述目标时间戳,其中,所述目标时间戳用于所述第二流媒体服务器获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳所述第二分片的时长之和,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片。
45.在一种可能的实现方式中,所述第一分片的时间戳包括第一分片的绝对时间戳和第一分片的hls时间戳。
46.第四方面,提供了一种时间戳生成方法,应用于第二流媒体服务器,所述第二流媒体服务器与第一流媒体服务器均基于hls协议接收直播流,所述第二流媒体服务器与播放终端之间以及所述第一流媒体服务器与所述播放终端之间均基于dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述第一分片的序号≤所述第二分片的序号≤第三分片的序号,所述方法包括:
47.接收所述播放终端发送的第一分片的dash时间戳和所述第一分片的序号,其中,所述第一分片的dash时间戳和第一分片的序号为所述第一流媒体服务器发送至所述播放终端,所述第一分片的dash时间戳为所述第一流媒体服务器对接收到的第一分片之前的分
片的时长进行累加得到,所述dash时间戳为基于所述dash协议生成的时间戳;
48.根据所述第一分片的dash时间戳和第一分片的序号获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,
49.其中,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳与所述第二分片的时长之和,所述第二分片的dash时间戳为所述第一流媒体服务器对接收到的第二分片之前的分片的时长进行累加得到并发送至所述播放终端。
50.上述方案中,第二流媒体服务器可以根据播放终端转发的第一流媒体服务器发送的第一分片的dash时间戳和第一分片的序号获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,若后续第二流媒体服务器将包括第三分片的第二dash时间戳在内的第三分片发送至播放终端,由于第三分片的第二dash时间戳与第三分片的第一dash时间戳是对齐的,第三分片的第一dash时间戳为第二分片的dash时间戳与第二分片的时长之和,因此播放终端可以正常解码播放第三分片。可以看出,上述方案可以解决播放终端在两个不同的流媒体服务器上进行切换获取直播服务的情况下,出现的播放终端向切换后的流媒体服务器请求的直播流的时间戳与播放终端已经播放的直播流的时间戳无法对齐的问题,避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
51.在一种可能的实现方式中,在接收所述播放终端发送的第一分片的dash时间戳和第一分片的序号之前,所述方法还包括:
52.对接收到的第三分片之前的分片的时长进行累加得到第三分片的第三dash时间戳;
53.所述根据所述第一分片的dash时间戳和第一分片的序号获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,包括:
54.查找与所述第一分片的序号相同的分片,获取所述序号相同的分片的dash时间戳,其中,所述序号相同的分片的dash时间戳为所述第二流媒体服务器对接收到的所述序号相同的分片之前的分片的时长进行累加得到;
55.计算得到所述序号相同的分片的dash时间戳与所述第一分片的dash时间戳之间的差值;
56.将所述差值与所述第三分片的第三dash时间戳进行累加得到与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳。
57.第五方面,提供了一种时间戳生成装置,应用于第一流媒体服务器,所述第一流媒体服务器与第二流媒体服务器均基于超文本传输协议流媒体直播hls协议接收直播流,所述第一流媒体服务器与播放终端之间以及所述第二流媒体服务器与所述播放终端之间均基于超文本传输协议动态自适应流dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述装置包括:
58.处理模块,用于根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定目标时间戳和第二分片的dash时间戳,其中,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳,所述dash时间戳为基于所述dash协议生成的时间戳;
59.接收模块,用于接收所述播放终端发送的索引请求和分片请求;
60.发送模块,用于根据所述播放请求向所述播放终端返回所述目标时间戳,根据所
述索引请求向所述播放终端返回包括所述第二分片的dash时间戳在内的第二分片,使得所述播放终端在播放完所述第二分片时将所述目标时间戳转发至所述第二流媒体服务器,
61.其中,所述目标时间戳用于所述第二流媒体服务器获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳与所述第二分片的时长之和,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片。
62.在一种可能的实现方式中,所述第一分片的时间戳包括第一分片的绝对时间戳和第一分片的hls时间戳,所述处理模块具体用于:
63.根据第一分片的时间戳和第二分片的绝对时间戳确定第二分片的hls时间戳是否发生跳变;
64.在确定所述第二分片的hls时间戳没有发生跳变的情况下,将所述第一分片的时间戳确定为目标时间戳;
65.在确定所述第二分片的hls时间戳发生跳变的情况下,将所述第二分片的绝对时间戳和所述第二分片的hls时间戳确定为目标时间戳。
66.在一种可能的实现方式中,所述处理模块具体用于:
67.在确定所述第二分片的hls时间戳没有发生跳变的情况下,根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳计算得到第二分片的dash时间戳;
68.在确定所述第二分片的hls时间戳发生跳变的情况下,确定所述第二分片的绝对时间戳为所述第二分片的dash时间戳。
69.第六方面,提供了一种时间戳生成装置,应用于第二流媒体服务器,所述第二流媒体服务器与第一流媒体服务器均基于hls协议接收直播流,所述第二流媒体服务器与播放终端之间以及所述第一流媒体服务器与所述播放终端之间均基于dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述装置包括:
70.接收模块,用于接收所述播放终端发送的第一目标时间戳,其中,所述第一目标时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定并发送至所述播放终端,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳;
71.处理模块,用于根据所述第一目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,
72.其中,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳与所述第二分片的时长之和,所述第二分片的dash时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定并发送至所述播放终端,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片,所述dash时间戳为基于所述dash协议生成的时间戳。
73.在一种可能的实现方式中,所述处理模块具体用于:
74.根据所述第一目标时间戳和第三分片的绝对时间戳确定所述第三分片的hls时间戳是否发生跳变;
75.在确定所述第三分片的hls时间戳没有发生跳变的情况下,根据所述第一目标时间戳、第三分片的绝对时间戳和第三分片的hls时间戳计算得到与第三分片的第一dash时
间戳对齐的第三分片的第二dash时间戳。
76.在一种可能的实现方式中,所述处理模块还用于:
77.在确定所述第三分片的hls时间戳发生跳变的情况下,确定所述第三分片的绝对时间戳为所述第三分片的第二dash时间戳。
78.在一种可能的实现方式中,所述处理模块还用于:
79.在确定所述第三分片的hls时间戳没有发生跳变的情况下,
80.将所述第一目标时间戳确定为第二目标时间戳;
81.在确定所述第三分片的hls时间戳发生跳变的情况下,所述处理模块还用于:
82.将所述第三分片的绝对时间戳和所述第三分片的hls时间戳确定为所述第二目标时间戳;
83.所述装置还包括发送模块,
84.所述处理模块,还用于根据所述第二目标时间戳、第四分片的绝对时间戳和第四分片的hls时间戳确定第四分片的dash时间戳;
85.所述接收模块,还用于接收所述播放终端发送的索引请求和分片请求;
86.所述发送模块,用于根据所述索引请求向所述播放终端返回所述第二目标时间戳,根据所述分片请求向所述播放终端返回包括所述第四分片的dash时间戳在内的第四分片,使得所述播放终端在播放完所述第四分片时将所述第二目标时间戳转发至第三流媒体服务器,
87.其中,所述第二目标时间戳用于所述第三流媒体服务器获取与第五分片的第一dash时间戳对齐的第五分片的第二dash时间戳,所述第五分片的第一dash时间戳为所述第四分片的dash时间戳与所述第四分片的时长之和,所述第三流媒体服务器也基于所述hls协议接收所述直播流,所述第三流媒体服务器与所述播放终端之间也基于所述dash协议传输所述直播流。
88.第七方面,提供了一种时间戳生成装置,应用于播放终端,所述播放终端与第一流媒体服务器之间以及所述播放终端与第二流媒体服务器之间均基于dash协议传输直播流,所述第一流媒体服务器与所述第二流媒体服务器均基于hls协议接收所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述装置包括:
89.发送模块,用于向所述第一流媒体服务器发送索引请求和分片请求;
90.接收模块,用于接收所述第一流媒体服务器根据所述索引请求返回的目标时间戳和根据所述分片请求返回的包括第二分片的dash时间戳在内的第二分片,其中,所述目标时间戳和第二分片的dash时间戳为所述第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定,所述第一分片为所述第一流媒体服务器接收到的第一个分片,所述hls时间戳为基于所述hls协议生成的时间戳,所述dash时间戳为基于所述dash协议生成的时间戳;
91.切换模块,用于在播放完所述第二分片时接收调度设备发送的切换指令,根据所述切换指令向所述第二流媒体服务器发送所述目标时间戳,其中,所述目标时间戳用于所述第二流媒体服务器获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳所述第二分片的时长之和,所述第三分片为所述播放终端播放完所述第二分片后即将要播放的分片。
92.在一种可能的实现方式中,所述第一分片的时间戳包括第一分片的绝对时间戳和第一分片的hls时间戳。
93.第八方面,提供了一种时间戳生成装置,应用于第二流媒体服务器,所述第二流媒体服务器与第一流媒体服务器均基于hls协议接收直播流,所述第二流媒体服务器与播放终端之间以及所述第一流媒体服务器与所述播放终端之间均基于dash协议传输所述直播流,所述直播流包括第一分片、第二分片和第三分片,所述第一分片的序号≤所述第二分片的序号≤第三分片的序号,所述装置包括:
94.接收模块,用于接收所述播放终端发送的第一分片的dash时间戳和所述第一分片的序号,其中,所述第一分片的dash时间戳和第一分片的序号为所述第一流媒体服务器发送至所述播放终端,所述第一分片的dash时间戳为所述第一流媒体服务器对接收到的第一分片之前的分片的时长进行累加得到,所述dash时间戳为基于所述dash协议生成的时间戳;
95.处理模块,用于根据所述第一分片的dash时间戳和第一分片的序号获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳,
96.其中,所述第三分片的第一dash时间戳为所述第二分片的dash时间戳与所述第二分片的时长之和,所述第二分片的dash时间戳为所述第一流媒体服务器对接收到的第二分片之前的分片的时长进行累加得到并发送至所述播放终端。
97.在一种可能的实现方式中,在接收所述播放终端发送的第一分片的dash时间戳和第一分片的序号之前,所述接收模块还用于:
98.对接收到的第三分片之前的分片的时长进行累加得到第三分片的第三dash时间戳;
99.所述处理模块具体用于:
100.查找与所述第一分片的序号相同的分片,获取所述序号相同的分片的dash时间戳,其中,所述序号相同的分片的dash时间戳为所述第二流媒体服务器对接收到的所述序号相同的分片之前的分片的时长进行累加得到;
101.计算得到所述序号相同的分片的dash时间戳与所述第一分片的dash时间戳之间的差值;
102.将所述差值与所述第三分片的第三dash时间戳进行累加得到与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳。
103.第九方面,提供了一种流媒体服务器,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行第一方面或第一方面的任一可能实施方式中所述的方法,或者,执行第二方面或第二方面的任一可能实施方式中所述的方法,或者,执行第四方面或第四方面的任一可能实施方式中所述的方法。
104.第十方面,提供了一种播放终端,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行第三方面或第三方面的任一可能实施方式中所述的方法。
105.第十一方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第一方面的任一可能实施方式中所述的方法,或者,实现如上述第二方面或第二方面的任一可能实施方式中所述的
方法,或者,实现如上述第四方面或第四方面的任一可能实施方式中所述的方法。
106.第十二方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第三方面或第三方面的任一可能实施方式中所述的方法。
107.第十三方面,提供了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,实现如上述第一方面或第一方面的任一可能实施方式中所述的方法,或者,实现如上述第二方面或第二方面的任一可能实施方式中所述的方法,或者,实现如上述第四方面或第四方面的任一可能实施方式中所述的方法。
108.第十四方面,提供了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,实现如上述第三方面或第三方面的任一可能实施方式中所述的方法。
附图说明
109.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
110.图1是本技术实施例提供的一种应用场景的结构示意图;
111.图2是本技术实施例提供的另一种应用场景的结构示意图;
112.图3是本技术实施例提供的一种时间戳生成方法的交互示意图;
113.图4是本技术实施例提供的一种第一流媒体服务器确定第一目标时间戳的流程示意图;
114.图5是本技术实施例提供的一种第一流媒体服务器确定第二分片的dash时间戳的流程示意图;
115.图6是本技术实施例提供的另一种时间戳生成方法的交互示意图;
116.图7是本技术实施例提供的一种时间戳生成装置的结构示意图;
117.图8是本技术实施例提供的另一种时间戳生成装置的结构示意图;
118.图9是本技术实施例提供的一种流媒体服务器的结构示意图;
119.图10是本技术实施例提供的一种播放终端的结构示意图。
具体实施方式
120.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
121.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
122.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
123.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
124.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
125.为了便于理解本技术实施例,下面先对本技术实施例涉及的应用场景进行说明。
126.图1为本技术实施例涉及的一种直播系统的结构示意图,该直播系统可以用于实现音视频直播功能,直播内容提供方可以将正在进行的现场音视频状况以音视频同步的形式直播给观众观看,观众收看到的音视频具有较高的实时性。目前,直播已经广泛应用在新闻、会议、培训、商演、娱乐、体育等业务,本技术实施例涉及的直播系统可以为上述新闻、会议、培训、商演、娱乐、体育等任一业务中的直播系统,此处不作具体限定。
127.如图1所示,该直播系统可以包括:直播流采集设备100、流媒体服务器200、播放终端300,其中,
128.直播流采集设备100用于直播内容提供方对正在进行的现场音视频实况进行实时采集得到直播流,然后将采集得到的直播流通过任何通信机制/通信标准的通信网络发送至流媒体服务器200。具体地,直播流采集设备100中通常包括编码器和流分割器,直播流采集设备100利用编码器对直播流进行编码和封装,编码格式可以是视频的h.264和音频的he-aac格式等,封装协议可以是hls协议。然后,编码器将编码和封装好的直播流输入流分割器,由流分割器将直播流切分成一系列的分片,包括分片1、分片2、

、分片n,n为大于1的自然数,每个分片的时长可以相同也可以不相同,大约2-10秒,流分割器在将直播流切分封装成分片的同时,还会创建一个包含分片索引信息(如分片对应的统一资源定位符(uniform resource locator,url)的索引文件,分片索引信息用于播放终端300确认分片的位置。
129.在实际使用中,直播流采集设备100可以为具有音视频采集功能的摄像机、智能手机、平板电脑或者无人机等电子设备,也可以是个人计算机,或者基于云的服务器等,此处不作具体限定。上述通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合,此处不作具体限定。
130.在具体实现中,直播内容提供方在将采集得到的直播流发送至流媒体服务器200之前,还可以对直播流进行剪辑或者去噪等处理,此处不作具体限定。
131.流媒体服务器200,可以是个人计算机,也可以是基于云的服务器,用于接收直播流采集设备100以分片形式发送的hls直播流和索引文件,然后根据播放终端400上的视频播放应用所支持的流媒体协议(如hls协议或者dash协议等),向播放终端400提供符合视频播放应用所支持的流媒体协议的索引文件和分片。
132.播放终端300,也可以称为终端设备或者用户终端等,其可以从流媒体服务器200获取索引文件,并根据索引文件中的分片索引信息获取分片进行解码播放。具体地,播放终端300可以利用其安装的视频播放应用播放分片,该视频播放应用可以为视频播放应用程序,也可以是浏览器中配置的视频播放器,此处不作具体限定。播放终端300可以为手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mid,mobile internet device)、可穿戴
设备(例如智能手表、智能手环、计步器等)等电子设备,也可以为智能电视等各种具有互联网访问能力和展示界面的智能设备,此处不作具体限定。播放终端300上还可以安装有其他客户端应用,例如语音识别类应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等,此处不作具体限定。
133.应该理解,图1所示的直播系统仅仅是作为具体的示例,在实际应用中,直播系统可以包括任意数目的采集设备100、流媒体服务器200以及播放终端300,此处不作具体限定。
134.由上述对图1所示的直播系统的描述可知,直播流的编码、封装和解码等操作均需要基于一定的协议,如上述hls协议或者dash协议。其中,
135.hls协议仅支持h.264编码格式编码的直播流,支持mpeg-2ts(以下简称为m2ts)传输格式,能快速渗透广播电视领域,但是在终端解码播放方面,不同终端的播放器则对hls协议的支持程度参差不齐。
136.dash协议,又可以称为mpeg-dash协议,是一种基于http的动态自适应比特率流技术,是国际标准组mpeg2014年推出的技术标准,不同于hls协议,dash协议不关心编码器和解码器,它可以接受任何编码格式编码的直播流,如h.265、h.264、vp9等,dash协议支持的媒体流格式包括mp4文件或分片mp4(以下简称为fmp4)以及mpeg-2ts两类。
137.由上述对hls协议和dash协议的介绍可知,dash协议相比hls协议具有更多的优点,因此,目前很多应用开发商在开发视频播放应用时,均将视频播放应用支持的协议设置为dash协议。但是,直播流采集设备100提供给流媒体服务器200的直播流依旧是hls直播流,因此,若用户想要利用支持dash协议的视频播放应用播放上述hls直播流,流媒体服务器200需要先将hls直播流转码成dash直播流,再将dash直播流发送至播放终端300,由播放终端300上支持dash协议的视频播放应用进行解码播放。
138.hls直播流和dash直播流中的每个分片通常包括该分片的时间戳(包括展示时间戳(presentation time stamp,pts)和解码时间戳(decode time stamp,dts))和时长(duration)等信息,其中,分片的时间戳用于播放终端300按照一定的时间顺序对直播流进行解码播放。按照hls协议要求,hls直播流中包括的分片的时间戳和时长是以33位二进制数表示的,按照dash协议要求,dash直播流中包括的分片的时间戳和时长是以64位二进制数表示的,因此,流媒体服务器200在将hls直播流转码成dash直播流时,需要重新生成符合dash协议要求的以64位二进制数表示的时间戳。
139.由上述对图1所示的直播系统的介绍可知,直播流采集设备100是以分片为单位向流媒体服务器200传输hls直播流的。为了便于理解与描述,在本技术接下来的实施例中,均以直播流采集设备100按照分片1、分片2、

、分片n(n为大于1的自然数,1、2、

、n分别为n个分片的序号)的顺序传输hls直播流为例进行解释说明,可以理解,在直播流采集设备100按照分片1、分片2、

、分片n的顺序传输hls直播流的情况下,流媒体服务器200可以从任何一个分片开始接收直播流采集设备100传输的hls直播流。
140.目前,按照dash协议,流媒体服务器200在接收到hls直播流时,可以通过累加的方法生成每个分片的dash时间戳(指基于dash协议生成的符合dash协议要求的以64位二进制数表示的时间戳)。
141.具体地,流媒体服务器200可以将接收到分片i(这里,分片i表示流媒体服务器200
接收到的第一个分片,i为自然数,1≤i≤n)的时刻确定为“0”(“0”是以64位二进制数来表示的)时刻,然后从分片i的dash时间戳“0”时刻开始累加分片i的时长、以及后续接收到的第二个分片的时长、第三个分片的时长

、第n-1个分片的时长,从而得到后续接收到的每个分片的dash时间戳,其中,每个分片的时长也是以64位二进制数来表示的。
142.可以理解,由于是直播场景,若存在不同的流媒体服务器200接收直播流采集设备100传输的hls直播流,那么不同的流媒体服务器200在同一时刻接收到的分片是相同的,若其中一个流媒体服务器200晚于另一个流媒体服务器200与直播流采集设备100进行通信,则先与直播流采集设备100进行通信的流媒体服务器200接收到的第一个分片的序号小于后与直播流采集设备100进行通信的流媒体服务器200接收到的第一个分片的序号,也就是说,后与直播流采集设备100进行通信的流媒体服务器200错过了一部分分片的接收。
143.在实际使用中,若只有少量用户观看某个直播,即图1所示的直播系统中只有少量的播放终端300,通常一个流媒体服务器200便可满足上述少量播放终端300的播放需求,上述少量用户在观看直播的过程中,播放终端300无需切换流媒体服务器200便可看完整个直播。但是,若大量用户同时观看某个直播,即图1所示的直播系统中有大量的播放终端300,这时直播系统中若只有一个流媒体服务器200,通常无法满足上述大量播放终端300的播放需求,因此直播系统也需要部署多个流媒体服务器200才能满足大量播放终端300并发接入的需求。
144.在直播系统中部署了多个流媒体服务器200的情况下,若用户在观看直播的过程中正在为用户提供直播服务的流媒体服务器200出现了故障,无法再为播放终端300提供直播服务,播放终端300可以向调度设备(如调度器)发送调度请求,以请求调度设备向该播放终端300发送切换指令,播放终端300可以根据切换指令从出现故障的流媒体服务器200切换到另一个正常的流媒体服务器200。
145.在具体实现中,播放终端300在解码播放dash直播流时,关注的是分片之间的相对时间,而不是绝对时间,所以如果一个用户利用其持有的播放终端300仅从多个流媒体服务器200中的一个流媒体服务器200上获取dash直播流观看直播,且该流媒体服务器200利用上述累加的方法得到每个分片的dash时间戳,那么播放终端300在播放完分片j该播放分片j 1(j为自然数,i≤j≤n)时,接收到流媒体服务器200发送的包括分片j 1的dash时间戳在内的分片j 1,会发现分片j 1的dash时间戳与自身播放完分片j所到达的时间是对齐的,可以对分片j 1进行正常解码播放。
146.可以理解,由于播放终端300解码播放的分片j和分片j 1是由同一个流媒体服务器200发送,播放终端300播放完分片j所到达的时间为分片j的dash时间戳与分片j的时长dj之和,且该流媒体服务器200也是将分片j的dash时间戳与分片j的时长进行累加得到分片j 1的dash时间戳,因此播放终端300播放完分片j所到达的时间与该流媒体服务器200发送的分片j 1的dash时间戳是对齐的。
147.但是,如果播放终端300在播放完分片j该播放分片j 1时,正在为其提供直播服务的流媒体服务器200出现了故障,播放终端300在接收到调度设备发送的切换指令后,根据切换指令在两个流媒体服务器200之间进行了切换,由于在直播场景下,上述切换前后的两个流媒体服务器200开始接收到hls直播流的时刻通常是不相同的,若上述两个流媒体服务器200均是通过上述累加的方法得到每个分片的dash时间戳,则会导致播放终端300在切换
流媒体服务器200后,接收到切换后的流媒体服务器200发送的包括分片j 1的dash时间戳在内的分片j 1时,会发现分片j 1的dash时间戳与播放终端300播放完切换前的流媒体服务器200发送的分片j所到达的时间不对齐的,无法对分片j 1进行正常解码播放,因此播放终端300会出现播放卡住或者黑屏等现象。
148.举例来讲,如图2所示,假设流媒体服务器210为上述切换前的流媒体服务器200,流媒体服务器220为上述切换后的流媒体服务器200,流媒体服务器210在s1时刻接收到第一个分片,该分片是分片1,流媒体服务器220在s2时刻接收到第一个分片,该分片是分片2,在流媒体服务器210中,分片2的dash时间戳t2'=分片1的dash时间戳“0”时刻 分片1的时长d1,分片3的dash时间戳t3'=分片2的dash时间戳t2' 分片2的时长d2,

,分片j的dash时间戳tj'=分片j-1的dash时间戳t
j-1
' 分片j-1的时长d
j-1
,分片j 1的dash时间戳t
j 1
'=分片j的dash时间戳tj' 分片j的时长dj,在流媒体服务器220中,分片2的dash时间戳t
2”=分片2的dash时间戳“0”时刻,分片3的dash时间戳t
3”=分片2的dash时间戳 分片2的时长d2,分片4的dash时间戳t
4”=分片3的dash时间戳t
3”= 分片3的时长d3,

,分片j的dash时间戳t
j”=分片j-1的dash时间戳t
j-1” 分片j-1的时长d
j-1
,分片j 1的dash时间戳t
j 1”=分片j的dash时间戳t
j” 分片j的时长dj,可以看出,t
2”≠t2'=t1' d1,t
3”≠t3'=t2' d2,

,t
j 1”≠t
j 1
'=tj' dj,可以看出,流媒体服务器210发送给播放终端300的分片j 1中包括的分片j 1的dash时间戳t
j 1”与播放终端300播放完分片j所达到的时间t
j 1
'不对齐。
149.综上所述,在直播系统中仅部署一个流媒体服务器200便能满足少量播放终端300的直播需求的情况下,上述时间戳生成方法是适用的。然而,随着互联网技术的不断发展,越来越多的用户学会使用直播服务,直播系统中仅部署一个流媒体服务器200无法满足大量播放终端300并发接入直播的需求,直播系统中部署多个流媒体服务器200的现象越来越普遍,在这种情况下,上述时间戳生成方法不再适用。
150.为了解决上述问题,本技术提供两种时间戳生成方法、装置及相关设备,为了便于理解本技术实施例提供的两种时间戳生成方法、装置及相关设备,下面先对本技术实施例涉及的第一流媒体服务器、第二流媒体服务器、分片的绝对时间戳等相关概念进行简单介绍。
151.(1)第一流媒体服务器,表示播放终端300在执行调度设备发送的第一切换指令或者第三切换指令前与播放终端300进行通信的流媒体服务器200,如图2所示的流媒体服务器210。在本实施例中,第一流媒体服务器与播放终端300之间基于dash协议传输直播流,第一流媒体服务器基于hls协议接收直播流。
152.(2)第二流媒体服务器,表示播放终端300在执行调度设备发送的第一切换指令后或者第三切换指令与播放终端300进行通信的流媒体服务器200,如图2所示的流媒体服务器220。在本实施例中,第二流媒体服务器与播放终端300之间也基于dash协议传输直播流,第二流媒体服务器基于hls协议接收直播流。
153.(3)第三流媒体服务器,表示播放终端300在执行调度设备发送的第二切换指令后与播放终端300进行通信的流媒体服务器200。在本实施例中,第三流媒体服务器与播放终端300之间也基于dash协议传输直播流,第三流媒体服务器基于hls协议接收直播流。
154.(4)分片的绝对时间戳t,是由直播流采集设备100中的编码器对hls直播流进行编码生成分片的绝对时间戳p,然后直播流采集设备100在向流媒体服务器200发送hls直播流
时,会将上述分片的绝对时间戳p与分片一起发送给流媒体服务器200,流媒体服务器200在接收到分片的绝对时间戳p之后,会将分片的绝对时间戳p转换成符合dash协议要求的以64位二进制数表示的分片的绝对时间戳t,但是由于分片的绝对时间戳p的精度为秒,因此,转换之后的分片的绝对时间戳t精度也是秒,精度较低,不满足dash时间戳的精度要求。
155.(5)分片的hls时间戳,可以为pts或dts,是由直播流采集设备100中的编码器对hls直播流进行编码时生成的符合hls协议要求的以33位二进制数表示的时间戳,然后直播流采集设备100在向流媒体服务器200发送hls直播流时,会将上述分片的hls时间戳与分片一起发送给流媒体服务器200,分片的hls时间戳的精度为90000分之1秒,分片的hls时间戳的精度较高,满足dash时间戳的精度要求。
156.请参见图3,图3为本技术实施例提供的第一种时间戳生成方法的交互示意图,如图3所示,该方法可以包括如下步骤:
157.s301、第一流媒体服务器根据第一分片的时间戳、第二分片的绝对时间戳和第二分片的hls时间戳确定第一目标时间戳和第二分片的dash时间戳。
158.其中,第一分片为第一流媒体服务器接收到的第一个分片,第二分片可以为第一分片,也可以为第一流媒体服务器接收到的第一分片之后的分片。例如,继续以直播流采集设备100是按照分片1、分片2、

、分片n的顺序传输直播流为例,假设第一流媒体服务器接收到的第一分片为分片2,那么第二分片可以为分片2、分片3或者分片5等,此处不作具体限定。
159.为了便于区分与描述,在接下来的实施例中,以第一分片为分片h,第二分片为分片l进行描述,h,l均为自然数,1≤h≤l≤n。
160.在本技术具体的实施例中,第一分片h的时间戳包括第一分片h的绝对时间戳th和第一分片的hls时间戳th(th为ptsh或dtsh),第一流媒体服务器根据第一分片h的时间戳、第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
(t
l
为pts
l
或dts
l
)确定第一目标时间戳的具体过程(如图4所示)可以包括如下步骤:
161.a11、根据第一分片h的时间戳和第二分片l的绝对时间戳t
l
确定第二分片l的hls时间戳t
l
是否发生跳变。
162.在本技术具体的实施例中,第一流媒体服务器可以通过以下方式确定第二分片l的hls时间戳t
l
是否发生跳变:
163.a111、计算得到第一低位和第二低位,其中,第一低位为第一分片h的绝对时间戳th和第二分片l的绝对时间戳t
l
之间的差值的低位,第二低位为第一分片h的绝对时间戳th与第二分片l的dash时间戳t
l
'之间的差值d的低位。
164.具体地,第一低位=(t
l-th)的低位,
[0165][0166]
其中,(t
l-th)的低位为(t
l-th)的低33位二进制数,d的低位为d的低33位二进制数,"1"是以34位二进制数表示的。
[0167]
a112、根据第一低位和第二低位确定第二分片l的hls时间戳t
l
是否发生跳变。
[0168]
具体地,若确定第一低位和第二低位满足0《"1" 第二低位-第一低位《1s、0《"1" 第一低位-第二低位《1s和|第一低位-第二低位|《1s三个条件中的任意一个,则确定第二分
片l的hls时间戳t
l
没有发生跳变,若三个条件均不满足,则确定第二分片l的hls时间戳t
l
发生跳变。
[0169]
可以看出,若第一低位和第二低位满足0《"1" 第二低位-第一低位《1s、0《"1" 第一低位-第二低位《1s和|第一低位-第二低位|《1s三个条件中的任意一个,则表示第一低位和第二低位的精度差小于1秒,说明第一分片h到第二分片l之间的hls时间戳的变化与第一分片h到第二分片l之间的绝对时间戳的变化基本一致,即第一分片h到第二分片l之间的这一段直播流是连续的,反之,说明直播流不连续。
[0170]
a12、在确定第二分片l的hls时间戳t
l
没有发生跳变的情况下,将第一分片h的时间戳确定为第一目标时间戳。
[0171]
即,第一目标时间戳包括第一分片h的绝对时间戳th和第一分片h的hls时间戳th。
[0172]
a13、在确定第二分片l的hls时间戳t
l
发生跳变的情况下,将第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
确定为第一目标时间戳。
[0173]
即,第一目标时间戳包括第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l

[0174]
在本技术具体的实施例中,根据第一分片h的时间戳、第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
确定第二分片的dash时间戳t
l
'的具体过程(如图5所示)可以包括如下步骤:
[0175]
a21、根据第一分片h的时间戳和第二分片l的绝对时间戳t
l
确定第二分片l的hls时间戳t
l
是否发生跳变。
[0176]
可以看出,a21与上述a11相同,具体可以参考a11以及相关描述,为了简便陈述,此处不再展开赘述。
[0177]
a22、在确定第二分片l的hls时间戳t
l
没有发生跳变的情况下,根据第一分片h的时间戳、第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
计算得到第二分片l的dash时间戳t
l
'。
[0178]
具体地,可以先计算得到第一高位,第一高位为第一分片h的绝对时间戳th和第二分片l的绝对时间戳t
l
之间的差值的高位,即第一高位=(t
l-th)的高位,第一高位为(t
l-th)的高33位二进制数。
[0179]
在计算得到第一高位后,可以通过以下公式计算得到第二高位:
[0180]
若0《"1" 第二低位-第一低位《1s,则第一高位 1=第二高位;
[0181]
若0《"1" 第一低位-第二低位《1s,则第一高位-1=第二高位;
[0182]
若|第一低位-第二低位|《1s,则第一高位=第二高位。
[0183]
在本技术具体的实施例中,第二高位还为第一分片h的dash时间戳th与第二分片l的dash时间戳t
l
'之间的差值d的高位,即第二高位=(t
l
'-th)的高位=d的高位,第二高位为d的高33位二进制数。
[0184]
在计算出第二低位和第二高位之后,将第二低位和第二高位组合在一起即可得到d,然后可以根据公式t
l
'=th d计算出第二分片l的第二时间戳t
l
'。
[0185]
a23、在确定第二分片l的hls时间戳t
l
发生跳变的情况下,确定第二分片l的绝对时间戳t
l
为第二分片l的dash时间戳t
l
'。
[0186]
即,t
l
'=t
l

[0187]
其中,确定第二分片l的hls时间戳t
l
发生跳变,表示第二分片l与第二分片l之前
的直播流是不连续的,在第二分片l与第二分片l之前的直播流不连续的情况下,由于第二分片l的绝对时间戳t
l
一定是大于分片l-1的dash时间戳t
l-1
'的,将第二分片l的绝对时间戳t
l
确定为第二分片l的dash时间戳t
l
',这样可以防止转换后的第二分片l的dash时间戳t
l
'回跳。
[0188]
需要说明的是,在第一分片h的hls时间戳th为ptsh的情况下,第二分片l的hls时间戳t
l
为pts
l
,通过上述a21至a23计算得到的第二分片l的dash时间戳t
l
'也为第二分片l的展示时间戳,用于播放终端300对第二分片l进行展示;在第一分片h的hls时间戳th为dtsh的情况下,第二分片l的hls时间戳t
l
为dts
l
,通过上述a21至a23计算得到的第二分片l的dash时间戳t
l
'也为第二分片l的解码时间戳,用于播放终端300对第二分片l进行解码。
[0189]
s302、播放终端300向第一流媒体服务器发送第一索引请求和第一分片请求。
[0190]
s303、第一流媒体服务器接收播放终端300发送的第一索引请求和第一分片请求,根据第一索引请求向播放终端300返回第一目标时间戳,根据第一分片请求向播放终端300返回包括第二分片的dash时间戳在内的第二分片。
[0191]
在具体实现中,第一索引请求用于向第一流媒体服务器请求包括第一目标时间戳在内的第一媒体展示描述(medha presentathon descrhpthon,mpd)文件,也就是说,第一流媒体服务器可以通过向播放终端300返回第一mpd文件实现向播放终端300返回第一目标时间戳。
[0192]
更具体地,第一mpd文件中包括第一url和第一目标时间戳对应的分片对应的统一资源定位符(unhform resource locator,url),这两个url中均包括第一目标时间戳。也就是说,第一流媒体服务器可以通过向播放终端300返回包括第一url和第一目标时间戳对应的分片对应的url在内的第一mpd文件实现向播放终端300返回第一目标时间戳。在本实施例中,在第一目标时间戳包括第一分片h的绝对时间戳th和第一分片h的hls时间戳th的情况下,第一目标时间戳对应的分片为第一分片h,在第一目标时间戳包括第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
的情况下,第一目标时间戳对应的分片为第二分片l。其中,第一url可以用于播放终端300向第一流媒体服务器请求刷新后的第一mpd文件或者用于播放终端300向下文所述切换后的第二流媒体服务器请求mpd文件。
[0193]
在具体实现中,上述第一mpd文件中除了可以包括第一目标时间戳对应的分片对应的url,还可以包括第一流媒体服务器在第一目标时间戳对应的分片之后接收到的分片对应的url,例如,在第一目标时间戳对应的分片为第一分片h的情况下,上述第一mpd文件中除了可以包括第一分片h对应的urlh,还可以包括分片h 1对应的url
h 1
,分片h 2对应的url
h 2


,分片l-1的url
l-1
,分片l对应的url
l

[0194]
播放终端300在接收到第一流媒体服务器返回的第一mpd文件之后,播放终端300可以根据第一mpd文件中包括的分片的url向第一流媒体服务器请求对应的分片进行解码播放,例如,在上述第一mpd文件中包括第一分片h对应的urlh,分片h 1对应的url
h 1
,分片h 2对应的url
h 2


,分片l-1对应的url
l-1
,分片l对应的url
l
的情况下,播放终端300可以根据urlh向第一流媒体服务器发送用于请求第一分片h对应的分片请求,请求获取第一分片h进行解码播放,播放终端300还可以根据url
l
向第一流媒体服务器发送用于请求第二分片l的第一分片请求,请求获取第二分片l进行解码播放。
[0195]
s304、播放终端300接收第一流媒体服务器返回的第一目标时间戳和包括第二分
片的dash时间戳在内的第二分片,在播放完第二分片时接收调度设备发送的第一切换指令,根据第一切换指令向第二流媒体服务器发送第一目标时间戳。
[0196]
在具体实现中,播放终端300可以将第一目标时间戳携带于第二索引请求,通过向第二流媒体服务器发送第二索引请求,实现向第二流媒体服务器发送第一目标时间戳。
[0197]
s305、第二流媒体服务器接收播放终端300发送的第一目标时间戳,根据第一目标时间戳获取与第三分片的第一dash时间戳对齐的第三分片的第二dash时间戳。
[0198]
其中,第三分片为播放终端300播放完第二分片l后即将要播放的分片,也就是说,第三分片为播放终端300在切换到第二流媒体服务器之后,即将向第二流媒体服务器请求的分片。为了便于描述,以下以分片l 1表示第三分片,第三分片l 1的第一dash时间戳t
l 1
'为第二分片l的dash时间戳t
l
'与第二分片l的时长d
l
之和,换句话说,第三分片l 1的第一dash时间戳t
l 1
'为播放终端300播放完第二分片l所到达的时刻。
[0199]
在本技术具体的实施例中,第二流媒体服务器根据第一目标时间戳获取与第三分片l 1的第一dash时间戳t
l 1
'对齐的第三分片l 1的第二dash时间戳t
l 1”的具体过程可以包括如下步骤:
[0200]
s3051、根据第一目标时间戳和第三分片l 1的绝对时间戳t
l 1
确定第三分片l 1的hls时间戳t
l 1
是否发生跳变。
[0201]
s3052、在确定第三分片l 1的hls时间戳t
l 1
没有发生跳变的情况下,根据第一目标时间戳、第三分片l 1的绝对时间戳t
l 1
和第三分片l 1的hls时间戳t
l 1
计算得到与第三分片l 1的第一dash时间戳t
l 1
'对齐的第三分片的第二dash时间戳t
l 1”。
[0202]
可以理解,在第二流媒体服务器获取了与第三分片l 1的第一dash时间戳t
l 1
'与第三分片l 1的第二dash时间戳t
l 1”的情况下,若后续第二流媒体服务器将包括第三分片l 1的第二dash时间戳t
l 1”在内的第三分片l 1发送至播放终端300,由于第三分片l 1的第二dash时间戳t
l 1”与第三分片l 1的第一dash时间戳t
l 1
'是对齐的,因此播放终端300可以正常解码播放第三分片l 1。
[0203]
在本技术具体的实施例中,第二流媒体服务器在确定第三分片l 1的hls时间戳t
l 1
发生跳变的情况下,可以确定第三分片l 1的绝对时间戳t
l 1
为第三分片l 1的第二dash时间戳t
l 1”。
[0204]
其中,确定第三分片l 1的hls时间戳t
l 1
发生跳变,表示第三分片l 1与第三分片l 1前面的直播流是不连续的,在第三分片l 1与第三分片l 1前面的直播流不连续的情况下,由于第三分片l 1的绝对时间戳t
l 1
一定是大于分片l的dash时间戳t
l
'的,将第三分片l 1的绝对时间戳t
l 1
确定为第三分片l 1的第二dash时间戳t
l 1”,这样可以防止转换后的第三分片l 1的第二dash时间戳t
l 1”回跳。
[0205]
另外,在本技术具体的实施例中,第二流媒体服务器在确定第三分片l 1的hls时间戳t
l 1
没有发生跳变的情况下,会将第一目标时间戳确定为第二目标时间戳,在确定第三分片l 1的hls时间戳t
l 1
发生跳变的情况下,会将第三分片l 1的绝对时间戳t
l 1
和第三分片l 1的hls时间戳t
l 1
确定为第二目标时间戳,在确定第二目标时间戳之后,第二流媒体服务器还可以进行如下操作:
[0206]
第一步、第二流媒体服务器根据第二目标时间戳、第四分片的绝对时间戳和第四分片的hls时间戳确定第四分片的dash时间戳。
[0207]
这里,第四分片可以为第三分片l 1,也可以为第二流媒体服务器接收到的第三分片l 1之后的分片。
[0208]
第二步、第二流媒体服务器接收播放终端300发送的第三索引请求和第二分片请求,根据第三索引请求向播放终端300返回第二目标时间戳,根据第二分片请求向播放终端300返回包括第四分片的dash时间戳在内的第四分片,使得播放终端300在播放完第四分片时将第二目标时间戳转发至第三流媒体服务器。
[0209]
其中,第二目标时间戳用于第三流媒体服务器获取与第五分片的第一dash时间戳对齐的第五分片的第二dash时间戳,第五分片的第一dash时间戳为第四分片的dash时间戳与第四分片的时长之和,第五分片为播放终端300播放完第四分片后即将要播放的分片,也就是说,第四分片为播放终端300在切换到第三流媒体服务器之后,即将向第三流媒体服务器请求的分片。
[0210]
在具体实现中,第三索引请求用于向第二流媒体服务器请求包括第二目标时间戳在内的第二mpd文件,也就是说,第二流媒体服务器可以通过向播放终端300返回第二mpd文件实现向播放终端300返回第二目标时间戳。
[0211]
更具体地,第二mpd文件中包括第二url和第二目标时间戳对应的分片对应的url,这两个url中均包括第二目标时间戳,也就是说,第二流媒体服务器可以通过向播放终端300返回包括第二url和第二目标时间戳对应的分片对应的url在内的第二mpd文件实现向播放终端300返回第二目标时间戳。在本实施例中,在第二目标时间戳为第一目标时间戳的情况下,第二目标时间戳对应的分片为第一分片h,在第二目标时间戳包括第三分片l 1的绝对时间戳t
l 1
和第三分片l 1的hls时间戳t
l 1
的情况下,第二目标时间戳对应的分片为第三分片l 1。其中,第二url可以用于播放终端300向第二流媒体服务器请求刷新后的第二mpd文件或者用于播放终端300向下文所述切换后的第三流媒体服务器请求mpd文件。
[0212]
在具体实现中,播放终端300是在接收到调度设备发送的第二切换指令后,根据第二切换指令将第二目标时间戳转发至第三流媒体服务器。
[0213]
为了简便陈述,上述实施例没有对第二流媒体服务器根据第一目标时间戳和第三分片l 1的绝对时间戳t
l 1
确定第三分片l 1的hls时间戳t
l 1
是否发生跳变的过程进行展开描述,该过程与上述a11所述第一流媒体服务器根据第一分片h的时间戳和第二分片l的绝对时间戳t
l
确定第二分片l的hls时间戳t
l
是否发生跳变的过程相类似,具体可以参考上述a11以及相关描述,此处不再展开赘述。上述实施例也没有对第二流媒体服务器根据第一目标时间戳、第三分片l 1的绝对时间戳t
l 1
和第三分片l 1的hls时间戳t
l 1
计算得到第三分片l 1的第二dash时间戳t
l 1”的过程进行展开描述,该过程与上述a22所述第一流媒体服务器根据第一分片h的时间戳、第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
计算得到第二分片l的dash时间戳t
l
'的过程相类似,具体可以参考上述a22以及相关描述,此处不再展开赘述。
[0214]
为了简便陈述,上述实施例也没有对第二流媒体服务器根据第二目标时间戳、第四分片的绝对时间戳和第四分片的hls时间戳确定第四分片的dash时间戳的过程进行展开描述,该过程与上述s301中第一流媒体服务器根据第一分片h的时间戳、第二分片l的绝对时间戳t
l
和第二分片l的hls时间戳t
l
确定第二分片l的dash时间戳t
l
'的过程相类似,具体可以参考上述s301以及相关描述,此处不再展开赘述。上述实施例也没有对第三流媒体服
务器根据第二目标时间戳获取与第五分片的第一dash时间戳对齐的第五分片的第二dash时间戳的过程进行展开描述,该过程与上述s305中第二流媒体服务器根据第一目标时间戳获取与第三分片l 1的第一dash时间戳t
l 1
'对齐的第三分片l 1的第一dash时间戳t
l 1”的过程相类似,具体可以参考上述s305以及相关描述,此处不再展开赘述。
[0215]
可以看出,上述第一种时间戳生成方法中,第二流媒体服务器可以根据播放终端300转发的第一流媒体服务器发送的第一目标时间戳获取与第三分片l 1的第一dash时间戳t
l 1
'对齐的第三分片l 1的第二dash时间戳t
l 1”,若后续第二流媒体服务器将包括第三分片l 1的第二dash时间戳t
l 1”在内的第三分片l 1发送至播放终端300,由于第三分片l 1的第二dash时间戳t
l 1”与第三分片l 1的第一dash时间戳t
l 1
'是对齐的,第三分片l 1的第一dash时间戳t
l 1
'为第二分片l的dash时间戳t
l
'与第二分片的时长d
l
之和,因此播放终端300可以正常解码播放第三分片l 1,能够避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
[0216]
还可以看出,上述第一种时间戳生成方法中,第二流媒体服务器可以在确定第二分片l的hls时间戳t
l
没有发生跳变的情况下,将第一目标时间戳确定为第二目标时间戳,在确定第二分片l的hls时间戳t
l
发生跳变的情况下,将第三分片l 1的绝对时间戳t
l 1
和第三分片l 1的hls时间戳t
l 1
确定为第二目标时间戳,然后根据播放终端200发送的第三索引请求将第二目标时间戳返回至播放终端300,使得播放终端300在第二流媒体服务器出现故障的情况下,将第二目标时间戳转发至第三流媒体服务器,便于第三流媒体服务器根据第二目标时间戳获取与第五分片的第一dash时间戳对齐的第五分片的第二dash时间戳,在后续第三流媒体服务器将包括第五分片的第二dash时间戳在内的第五分片发送至播放终端300后,由于第五分片的第二dash时间戳与第五分片的第一dash时间戳是对齐的,因此播放终端300可以直接解码播放第五分片,能够避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
[0217]
下面介绍本技术实施例提供的第二种时间戳生成方法。
[0218]
请参见图6,图6为本技术实施例提供的第二种时间戳生成方法的交互示意图,如图6所示,该方法可以包括如下步骤:
[0219]
s601、第一流媒体服务器对接收到的第六分片之前的分片的时长进行累加得到第六分片的dash时间戳,以及对接收到的第七分片之前的分片的时长进行累加得到第七分片的dash时间戳。
[0220]
其中,第六分片可以为第一流媒体服务器接收到的第一个分片,也可以是第一流媒体服务器接收到的第二个分片、第三个分片等,此处不作具体限定;第七分片可以为第六分片,也可以为第一流媒体服务器在第六分片后接收到的分片。
[0221]
s602、播放终端300向第一流媒体服务器发送第四索引请求和第三分片请求。
[0222]
s603、第一流媒体服务器接收播放终端300发送的第四索引请求和第三分片请求,根据第四索引请求向播放终端300返回第六分片的dash时间戳和第六分片的序号,根据第三分片请求向播放终端300返回包括第七分片的dash时间戳在内的第七分片。
[0223]
在具体实现中,第四索引请求用于向第一流媒体服务器请求包括第六分片的dash时间戳和第六分片的序号在内的第三mpd文件,也就是说,第一流媒体服务器可以通过向播放终端300返回第三mpd文件实现向播放终端300返回第六分片的dash时间戳和第六分片的
序号。
[0224]
更具体地,第三mpd文件中包括第三url和第六分片对应的url,这两个url中均包括第六分片的dash时间戳和第六分片的序号,也就是说,第一流媒体服务器可以通过向播放终端300返回包括第三url和第六分片对应的url在内的第三mpd文件实现向播放终端300返回第六分片的dash时间戳和第六分片的序号。其中,第三url可以用于播放终端300向第一流媒体服务器请求刷新后的第三mpd文件或者用于播放终端300向下文所述切换后的第二流媒体服务器请求mpd文件。
[0225]
在具体实现中,上述第三mpd文件中除了可以包括第六分片对应的url,还可以包括第一流媒体服务器在第六分片之后接收到的分片对应的url,如第七分片对应的url。
[0226]
播放终端300在接收到第一流媒体服务器返回的第三mpd文件之后,播放终端300可以根据第三mpd文件中包括的url向第一流媒体服务器请求对应的分片进行解码播放,例如,在上述第一mpd文件中包括第六分片对应的url和第七分片对应的url的情况下,播放终端300可以根据第六分片对应的url向第一流媒体服务器发送用于请求第六分片的分片请求,请求获取第六分片进行解码播放,播放终端300可以向第一流媒体服务器发送用于请求第七分片的第三分片请求,请求获取第七分片进行解码播放。
[0227]
s604、播放终端300接收第一流媒体服务器返回的第六分片的dash时间戳、第六分片的序号和包括第七分片的dash时间戳在内的第七分片,在播放完第七分片时接收调度设备发送的第三切换指令,根据第三切换指令向第二流媒体服务器发送第六分片的dash时间戳和第六分片的序号。
[0228]
在具体实现中,播放终端300可以将第六分片的dash时间戳和第六分片的序号携带于第五索引请求,通过向第二流媒体服务器发送第五索引请求,实现向第二流媒体服务器发送第六分片的dash时间戳和第六分片的序号。
[0229]
s605、第二流媒体服务器接收播放终端300发送的第六分片的dash时间戳和第六分片的序号,根据第六分片的dash时间戳和第六分片的序号获取与第八分片的第一dash时间戳对齐的第八分片的第二dash时间戳。
[0230]
其中,第八分片为播放终端300播放完第七分片后即将要播放的分片,第八分片的第一dash时间戳为播放终端300播放完第二分片所到达的时刻,可以理解,第八分片的第一dash时间戳为第七分片的dash时间戳与第七分片的时长之和。
[0231]
在本技术具体的实施例中,第二流媒体服务器在接收播放终端300发送的第六分片的dash时间戳和第六分片的序号之前,第二流媒体服务器还会对接收到的第八分片之前的分片的时长进行累加得到第八分片的第三dash时间戳,在得到第八分片的第三dash时间戳之后,第二流媒体服务器可以通过如下步骤获取与第八分片的第一dash时间戳对齐的第八分片的第二dash时间戳:
[0232]
第一步、第二流媒体服务器根据第六分片的序号查找与第六分片的序号相同的分片,并获取序号相同的分片的dash时间戳。
[0233]
其中,序号相同的分片的dash时间戳为第二流媒体服务器对接收到的序号相同的分片之前的分片的时长进行累加得到。
[0234]
第二步、计算得到序号相同的分片的dash时间戳与第六分片的dash时间戳之间的差值。
[0235]
第三步、将差值与第八分片的第三dash时间戳进行累加得到与第八分片的第一dash时间戳对齐的第八分片的第二dash时间戳。
[0236]
为了简便陈述,本实施例没有对第一流媒体服务器通过累加得到第六分片的dash时间戳、第一流媒体服务器通过累加得到第七分片的dash时间戳、第二流媒体服务器通过累加得到第八分片的第三dash时间戳,以及第二流媒体服务器通过累加得到序号相同的分片的dash时间戳的过程进行展开描述,上述通过累加得到dash时间戳的过程均与上述图2所示实施例中流媒体服务器210通过累加得到分片l的dash时间戳t
l
'的过程相类似,具体可以参考上述图2所示实施例以及相关描述,此处不再展开赘述。
[0237]
上述第二种时间戳生成方法中,第一流媒体服务器可以根据播放终端300发送的第四索引请求将第六分片的dash时间戳和第六分片的序号发送至播放终端300,使得播放终端300在第一流媒体服务器出现故障的情况下,将第六分片的dash时间戳和第六分片的序号转发至第二流媒体服务器,便于第二流媒体服务器根据第六分片的dash时间戳和第六分片的序号获取与第八分片的第一dash时间戳对齐的第八分片的第二dash时间戳,在后续第二流媒体服务器将包括第八分片的第二dash时间戳在内的第八分片发送至播放终端300后,由于第八分片的第二dash时间戳与第八分片的第一dash时间戳是对齐的,因此播放终端300可以直接解码播放第八分片,能够避免直播出现卡住或者黑屏等现象,优化用户观看直播的体验。
[0238]
上文详细阐述了本技术实施例提供的两种时间戳生成方法,基于相同的发明构思,下面继续提供本技术实施例的时间戳生成装置,本技术提供的时间戳生成装置可以应用于图1所示的直播系统。
[0239]
参见图7,图7是本技术实施例提供的一种时间戳生成装置400的结构示意图,该时间戳生成装置400具体可以应用于上文所述的第一流媒体服务器或者第二流媒体服务器,该时间戳生成装置400至少包括:处理模块410、接收模块420和发送模块430,其中,
[0240]
在时间戳生成装置400应用于第一流媒体服务器的情况下,处理模块410可以用于执行图3中的s301,接收模块420用于接收图3所示的s302中由播放终端300发送的第一索引请求和第一分片请求,发送模块430用于执行图3中的s303。
[0241]
在时间戳生成装置400应用于第一流媒体服务器的情况下,处理模块410还可以用于执行图6中的s601,接收模块420用于接收图6所示的s602中由播放终端300发送的第四索引请求和第三分片请求,发送模块430用于执行图6中的s603。
[0242]
在时间戳生成装置400应用于第二流媒体服务器的情况下,处理模块410可以用于执行图3中的s305,接收模块420用于接收图3所示的s304中由播放终端300发送的第一目标时间戳,发送模块430可以用于向播放终端300发送包括第三分片l 1的第二dash时间戳t
l 1”在内的第三分片l 1。
[0243]
在时间戳生成装置400应用于第二流媒体服务器的情况下,处理模块410可以用于执行图3中的s605,接收模块420用于接收图6所示的s604中由播放终端300发送的第六分片的dash时间戳和第六分片的序号,发送模块430可以用于向播放终端300发送包括第八分片的第二dash时间戳在内的第八分片。
[0244]
具体地,上述时间戳生成装置400执行各种操作的具体实现可参照上述图3或者图6所示时间戳生成方法实施例中的第一流媒体服务器或者第二流媒体服务器所实施的各种
memory)。存储器还可以包括上述种类的存储器的组合。
[0255]
总线640可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线640可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0256]
应当理解,流媒体服务器600仅为本技术实施例提供的一个例子,并且,流媒体服务器600可具有比图9示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
[0257]
本技术实施例还提供一种播放终端700,参见图10,图10是本技术实施例提供的一种播放终端700的结构示意图,该播放终端700包括:处理器710、存储器720以及通信接口730,其中,处理器710、通信接口730和存储器720通过总线740进行耦合。其中,
[0258]
处理器710可以包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括cpu、微处理器、微控制器、主处理器、控制器以及asic等等。处理器710读取存储器720中存储的程序代码,与通信接口730配合执行本技术上述实施例中由时间戳生成装置500执行的方法的部分或者全部步骤。
[0259]
通信接口730可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。
[0260]
存储器720可以存储有程序代码以及程序数据。其中,程序代码包括:发送模块510的代码、接收模块520的代码和切换模块530的代码等,程序数据包括:第一索引请求、第一分片请求、第一目标时间戳和包括第二分片l的dash时间戳t
l
'在内的第二分片l等等。在实际应用中,存储器720可以包括易失性存储器,例如ram;存储器也可以包括非易失性存储器,例如rom、快闪存储器。存储器还可以包括上述种类的存储器的组合。
[0261]
总线740可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线740可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0262]
应当理解,播放终端700仅为本技术实施例提供的一个例子,并且,播放终端700可具有比图10示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
[0263]
本技术实施例还提供一种非瞬态计算机可读存储介质,非瞬态计算机可读存储介质中存储有指令,当其在处理器上运行时,可以实现上述实施例中记载的时间戳生成方法的部分或者全部步骤,计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例的具体操作,在此不再赘述。
[0264]
本本技术实施例还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,以实现上述方法实施例中记载的时间戳生成方法的部分或者全部步骤。
[0265]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0266]
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包
括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
[0267]
本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例装置中的单元可以根据实际需要进行划分、合并或删减。
[0268]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献