DASH点播快进快退方法及系统与流程

文档序号:30087733发布日期:2022-05-18 06:34阅读:243来源:国知局
DASH点播快进快退方法及系统与流程
dash点播快进快退方法及系统
技术领域
1.本发明涉及数据处理领域,尤其涉及一种dash点播快进快退方法及系统。


背景技术:

2.当前互联网和移动通信技术处于飞速发展的阶段,而音视频传输业务已经是互联网中比较主流的业务,用户可以利用个人的电脑和移动终端方便快捷地获取视频资源。dash是基于http的动态自适应的比特率流技术,使用的传输协议是tcp,具体是指把视频分割成多个小段,通过http协议进行传输,客户端得到之后进行播放。目前针对dash点播只实现了点播播放、拖放等功能,在这种情况下,用户通过终端针对dash点播向服务器请求快进快退服务时,终端请求的数据会比较大,只能拉取完整的视频段之后,快进快退的内容才会显示出来,这种情况下用户不能快速观看到快进快退的画面,用户的体验感也会变差。


技术实现要素:

3.本发明的主要目的在于提供一种dash点播快进快退方法及系统,旨在终端请求快进快退服务时,只能拉取完整视频段,导致用户体验感较差的问题。
4.第一方面,本发明提供一种dash点播快进快退方法,所述dash点播快进快退方法包括:
5.获取各个dash视频段;
6.解析各个dash视频段,得到各个dash视频段的关键帧偏移信息;
7.终端在接收到快进或快退指令时,发送目标关键帧获取请求至服务器;
8.服务器基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧;
9.将目标关键帧发送至终端。
10.可选的,所述获取各个dash视频段的步骤包括:
11.向源站请求dash点播视频段列表;
12.解析dash点播视频段列表,得到各个dash视频段。
13.可选的,在所述解析各个dash视频段,得到各个dash视频段的关键帧偏移信息的步骤之后,还包括:
14.将各个dash视频段的关键帧偏移信息添加到dash点播视频段列表中。
15.可选的,目标关键帧获取请求中包含终端当前播放的dash视频段的编号和指示字段,指示字段为快进字段或快退字段。
16.可选的,所述服务器基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧的步骤包括:
17.服务器解析目标关键帧获取请求,得到终端当前播放的dash视频段的编号以及指示字段;
18.当指示字段为快进字段时,根据终端当前播放的dash视频段的编号以及各个dash
视频段的关键帧偏移信息获取终端当前播放的dash视频段的后一视频段的关键帧,作为目标关键帧;
19.当指示字段为快退字段时,根据终端当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端当前播放的dash视频段的前一视频段的关键帧,作为目标关键帧。
20.第二方面,本发明还提供一种dash点播快进快退系统,所述dash点播快进快退系统包括:
21.终端,用于在接收到快进或快退指令时,发送目标关键帧获取请求;
22.服务器,用于:
23.获取各个dash视频段;
24.解析各个dash视频段,得到各个dash视频段的关键帧偏移信息至服务器;
25.基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧;
26.将目标关键帧发送至终端。
27.可选的,所述终端还用于:
28.发送目标关键帧获取请求,目标关键帧获取请求中包含终端当前播放的 dash视频段的编号和指示字段,指示字段为快进字段或快退字段。
29.可选的,所述服务器还用于:
30.服务器解析目标关键帧获取请求,得到终端当前播放的dash视频段的编号以及指示字段;
31.当指示字段为快进字段时,根据终端当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端当前播放的dash视频段的后一视频段的关键帧,作为目标关键帧;
32.当指示字段为快退字段时,根据终端当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端当前播放的dash视频段的前一视频段的关键帧,作为目标关键帧。
33.可选的,所述服务器还用于:
34.向源站请求dash点播视频段列表;
35.解析dash点播视频段列表,得到各个dash视频段。
36.可选的,所述服务器还用于将各个dash视频段的关键帧偏移信息添加到dash点播视频段列表中。
37.本发明提供了一种dash点播快进快退方法,所述dash点播快进快退方法包括:获取各个dash视频段;解析各个dash视频段,得到各个dash 视频段的关键帧偏移信息;终端在接收到快进或快退指令时,发送目标关键帧获取请求至服务器;服务器基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧;将目标关键帧发送至终端。本发明可以有效减少终端在请求快进快退服务时,请求的数据;缩短终端播放快进快退内容需要的时间,进而提高用户的体验感。
附图说明
38.图1为本发明dash点播快进快退方法的第一实施例的流程示意图;
39.图2为本发明dash点播快进快退系统的第一实施例的功能模块示意图。
40.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
41.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
42.第一方面,本发明实施例提供了一种dash点播快进快退方法。
43.一实施例中,参照图1,图1为本发明dash点播快进快退方法方法第一实施例的流程示意图。如图1所示,dash点播快进快退方法包括:
44.步骤s10,获取各个dash视频段;
45.本实施例中,dash是一种流化和http渐进式下载的混合分发方法,具体的原理是针对同一个视频或者音频的源文件,该文件会被编码为不同质量级别的媒体副本,每个视频或者音频副本又会被分成小的片段。得到的小的片段信息会储存在媒体表示描述文件中,及存储在mpd中。视频或音频分段以及mpd文件存储在web服务器中。用户使用终端观看视频或收听音频时,终端会向会向web服务器发送http get请求,之后web服务器会将视频或音频对应的mpd文件发送回终端。终端会解析mpd文件,得到不同质量视频段或音频段的描述信息,同时根据播放设备的能力和网络带宽的变化情况,服务器或者终端会动态地选择合适的码率播放视频分段或音频分段。
46.mpd文件是用来描述上述提到的抽象概念和它们之间的关系的元数据文件。dash系统中的mpd文件是用xml编写的,一个mpd文件包含了如下关键元素:
47.媒体时段,在传输直播流时,可能会随着mpd文件更新而移除旧媒体时段并加入新媒体时段,通过这种方法达到直播的效果。一个媒体时段内可用的媒体内容的编码版本不会变更,即可选的码率集合、语言集合、字幕集合不会再改变。
48.自适应集合,在mpd文件中,一个媒体时段由一个或多个自适应集合组成,每一个自适应集合对应一个媒体内容组件
49.媒体文件描述构成,具体是指,具有相同语言、内容类型、图像宽高比属性的媒体文件会被分到同一个自适应集合中。每个媒体文件描述对应一个可独立解码播放的媒体流。dash中的自适应切换就是根据网络环境或其他因素在同一个自适应集合的不同媒体文件描述之间进行切换。媒体文件描述时 mpd中最小的抽象集合概念。
50.切片,也可以被称为分片,在mpd文件中,每个媒体文件描述由一个或多个一定时长的切片组成,每个切片都对应各自的url,或对应同一url的不同字节范围。在dash中,一个切片就对应一次http请求可以取回的最大数据单元。一个媒体文件描述中的切片往往具有完全相同或近似相同的时长,不同媒体文件描述之间的切片的时长会不同。切片时长是可以被定义的,切片时长代表了客户端和服务器端传输延时的下限,在dash直播应用时通常会选择较短的切片时长。自适应切换是在同一个自适应结合的不同媒体文件描述之间进行切换,更具体地说,就是在播放完一个媒体文件描述地一个切片之后紧接着播放另一个媒体文件描述地一个切片,在这种情况下,可以避免在客户端同时下载下载,解码来自不同媒体文件描述地多个切片,使切换动作的实现更加简单。
51.http定义了终端与服务器交互的不同方法,最基本的方法是get和 post。http-get是使用http的标准协议动词,用于编码和传送变量名/变量值对参数,并且还会使用相关请求语义。http是超文本传输协议,主要的作用是保证客户端和服务器之间的通信。http的工作方式是客户端与服务器之间的请求-应答协议。客户端和服务器不做限定,web浏览器可能也会是客户端,而计算机上的网络应用程序也可能作为服务器。以浏览器作为客户端为例,客户端向服务器提交http请求,服务器向客户端返回响应。响应包含请求的状态信息以及可能被请求的内容。在客户端和服务器之间进行请求响应时,两种最常用到的方法是get和post。这里重点说明http get请求, get是指从指定的资源中请求数据。在使用http get时,查询字符串(键值对)被附加在url地址后面一起发送到服务器。http get请求有几点特点,一是http get请求能够被缓存;二是http get请求会保存在浏览器的浏览记录中;三是以http get请求的url能够保存为浏览器书签;四是httpget请求有长度限制;五是http get请求主要用于获取数据。
52.步骤s20,解析各个dash视频段,得到各个dash视频段的关键帧偏移信息;
53.本实施例中,关键帧偏移信息实际上记录了关键帧在分片中的位置,分片就是各个dash视频段。关键帧具体是指i帧,也就是实际的画面帧,也叫帧内编码帧,i帧显示的是最大限度去除图像多余信息来压缩传输数据量的帧内编码图像。对应的还有p帧和b帧,p帧也可以被称为前向预测编码帧,具体是指通过充分将低于图像序列前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,p帧也叫预测帧。b帧也可以被称为双向预测内插编码帧,具体特点是b帧既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间。在通常情况下,i帧压缩效率最低,p帧较高,b帧最高。
54.步骤s30,终端在接收到快进或快退指令时,发送目标关键帧获取请求至服务器;
55.本实施例中,用户有快进播放或快退播放请求时,会向终端发出快进或快退指令。具体的方式是通过按钮、触屏等操作实现的。终端播放的快进或快退内容实际上是连续的关键帧,关键帧中有视频中的画面,将画面连续播放,串联起来就会形成快件或快退的连续画面。基于这样的方式,终端需要连续发送目标关键帧获取请求,因为如果只请求一次是无法实现快进或快退功能的。只有持续发送目标关键帧获取请求,终端才可以连续播放关键帧,最终将快进或快退的完整画面展现出来。
56.步骤s40,服务器基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧;
57.本实施例中,服务器对于终端发出的目标关键帧请求,需要进行解析。终端发出的目标关键帧获取请求中包含终端当前播放的dash视频段的编号和指示字段,指示字段为快进字段或快退字段。各个dash视频段的关键帧偏移信息可以将关键帧的位置传送给服务器,服务器根据各个dash视频段的关键帧偏移信息和终端发出的目标关键帧请求会得到目标关键帧的信息,目标关键帧具体是指基于当前播放的dash视频段的位置,根据用户的请求,锁定的前一个dash视频段的关键帧或后一个dash视频段的关键帧。因为终端是连续发送目标关键帧获取请求的,所以服务器也需要连续响应目标关键帧获取请求。比如当前终端正在播放编号为3的dash视频段,终端向服务器发送目标关键帧获取请求,目标关键帧获取请求中的指示字段为快进字段,服务器在解析目标关键帧获取请求之后会确定编号为4的dash视频段的关键帧为目标关键帧,并将该目标关键帧发送给终端。之后终端会发送含
有编号为4的dash视频段的目标关键帧获取请求至服务器,服务器会将编号为5的dash视频段的关键帧作为目标关键帧,以此类推,直到终端不再发送目标关键帧获取请求至服务器。
58.步骤s50,将目标关键帧发送至终端。
59.本实施例中,服务器根据根据各个dash视频段的关键帧偏移信息和终端发出的目标关键帧请求会得到目标关键帧的信息后,会得到目标关键帧信息,之后服务器会将目标关键帧信息对应的目标关键帧发送给终端,终端接收到目标关键帧后会播放当前dash视频段的关键帧,关键帧中有对应的画面。终端是连续播放关键帧的,因为终端对于目标关键帧的获取动作是连续的,也即终端是在接收到快进或快退指令后,终端会连续向服务器发出目标关键帧获取请求。如果这个动作只执行一次,最终终端给用户呈现的只是一帧的画面,不是连续的视频内容,这样就没有实现快进或快退的功能。
60.进一步地,一实施例中,所述获取各个dash视频段的步骤包括:
61.向源站请求dash点播视频段列表;
62.解析dash点播视频段列表,得到各个dash视频段。
63.本实施例中,dash点播内容是预先在源站存储好的,源站里存储的是 dash点播内容,这些内容是由完整的视频内容被分割成小的片段,这些小的片段就是dash视频段。为了让这些dash视频段排列有序,方便后续的处理,服务器在请求dash内容时,没有直接请求包含了整个dash点播内容的文件,而是请求dash点播视频段列表。在dash点播视频段列表中,一个完整的dash点播内容被分割成分片,这些分片按照分片序号的大小从小到大或从大到小的规则排列好的,目的是为了在后续过程中终端发送目标关键帧获取指令和服务器发送目标关键帧时,可以快速准确锁定需要的dash 视频段关键帧。
64.在dash中将一组不同编码参数的媒体内容和相应的描述集合定义为媒体展示。所述媒体内容是由单个或多个事件连续的媒体时段组成的,这些媒体时段的内容相互之间可能完全独立,例如在正片中插入的广告内容。每一个媒体时段包含一个或多个媒体内容组件,比如不同语言的音频组件、为同一节目提供不同视角的视频组件、不同语言的字幕组件等。每一个媒体内容组件都有对应的媒体组件类型标识,比如音频或视频。每一个媒体内容组件可能有多个编码的版本,这些被称为媒体流。每一个媒体流继承了媒体内容、媒体时段和媒体内容组件的属性,同时还拥有自己的编码参数属性,例如码率、分辨率、编码器类型等。
65.进一步地,一实施例中,在所述解析各个dash视频段,得到各个dash 视频段的关键帧偏移信息的步骤之后,还包括:
66.将各个dash视频段的关键帧偏移信息添加到dash点播视频段列表中。
67.本实施例中,服务器将i帧偏移信息添加到dash点播视频段列表中的动作具体是指服务器将i帧偏移信息写入到分片中。因为在后续的步骤中,终端需要利用在分片中的i帧偏移信息来向服务器发出目标关键帧获取请求。i 帧偏移信息在分片中可以帮助服务器锁定关键帧的位置。
68.进一步地,一实施例中,目标关键帧获取请求中包含终端当前播放的 dash视频段的编号和指示字段,指示字段为快进字段或快退字段。
69.本实施例中,终端和服务器是需要进行信息通信的,具体的方式是首先终端向服务器发送目标关键帧获取请求,然后服务器响应目标关键帧获取请求,之后向终端发送目
标关键帧,最后终端播放目标关键帧。目标关键帧获取请求中包含终端当前播放的dash视频段的编号和指示字段,基于终端当前播放的dash视频段的编号,服务器锁定当前正在播放的dash视频段的位置。可以用不同的数值代表不同的指示字段,比如将快进字段设置为0,将快退字段设置为1。
70.进一步地,一实施例中,所述服务器基于目标关键帧获取请求和各个 dash视频段的关键帧偏移信息,获取目标关键帧的步骤包括:
71.服务器解析目标关键帧获取请求,得到终端当前播放的dash视频段的编号以及指示字段;
72.当指示字段为快进字段时,根据终端当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端当前播放的dash视频段的后一视频段的关键帧,作为目标关键帧;
73.当指示字段为快退字段时,根据终端当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端当前播放的dash视频段的前一视频段的关键帧,作为目标关键帧。
74.本实施例中,服务器在收到由终端发送的目标关键帧获取请求后,会基于各个dash视频段的关键帧偏移信息和目标关键帧确定目标关键帧。目标关键帧的确定还需要终端接收到的快进或快退请求。当终端接收到用户的快进请求,终端会将当前正在播放的dash视频段编号和快进指令合成目标关键帧获取请求,并将目标关键帧获取请求发送到服务器,服务器收到目标关键帧获取请求后,确定了当前正在播放的dash视频段的位置和快进的请求,之后服务器会将当前正在播放的dash视频段的后一个视频段的关键帧为目标关键帧,并将目标关键帧发送给终端,让终端播放。同理,当终端接收到用户的快退请求,终端会将当前正在播放的dash视频段编号和快退指令合成目标关键帧获取请求,并将目标关键帧获取请求发送到服务器,服务器收到目标关键帧获取请求后,确定了当前正在播放的dash视频段的位置和快退的请求,之后服务器会将当前正在播放的dash视频段的前一个视频段的关键帧为目标关键帧,并将目标关键帧发送给终端,让终端播放。因为终端是连续发送目标关键帧获取请求的,所以服务器也需要连续响应目标关键帧获取请求。比如当前终端正在播放编号为3的dash视频段,终端向服务器发送目标关键帧获取请求,目标关键帧获取请求中的指示字段为快进字段,服务器在解析目标关键帧获取请求之后会确定编号为4的dash视频段的关键帧为目标关键帧,并将该目标关键帧发送给终端。之后终端会发送含有编号为4的dash 视频段的目标关键帧获取请求至服务器,服务器会将编号为5的dash视频段的关键帧作为目标关键帧,以此类推,直到终端不再发送目标关键帧获取请求至服务器。
75.另一实施例中,在服务器解析终端发送的目标关键帧获取请求后,得到了快进字节,服务器会将当前终端播放的dash视频段的后一个视频段的关键帧作为目标关键帧,并将目标关键帧发送给终端,服务器会连续执行发送目标关键帧的动作,直到终端向服务器发送快进终止请求。比如比如当前终端正在播放编号为3的dash视频段,终端向服务器发送目标关键帧获取请求,目标关键帧获取请求中的指示字段为快进字段,服务器在解析目标关键帧获取请求之后会确定编号为4的dash视频段的关键帧为目标关键帧,并将该目标关键帧发送给终端。之后服务器会连续依次发送编号为5、6、7的dash 视频段的关键帧到终
端,因为当终端播放编号为7的dash视频段时,终端发送快进终止请求至服务器。
76.本发明涉及的第一实施例提供了一种dash点播快进快退方法,所述dash点播快进快退方法包括:获取各个dash视频段;解析各个dash视频段,得到各个dash视频段的关键帧偏移信息;终端在接收到快进或快退指令时,发送目标关键帧获取请求;服务器基于目标关键帧获取请求和各个 dash视频段的关键帧偏移信息,获取目标关键帧;将目标关键帧发送至终端。本发明涉及的第一实施例可以有效减少终端在请求快进快退服务时,请求的数据;缩短终端播放快进快退内容需要的时间,进而提高用户的体验感。
77.第二方面,本发明实施例还提供一种dash点播快进快退系统。
78.参照图2,dash点播快进快退系统的第一实施例的功能模块示意图。
79.一实施例中,所述dash点播快进快退系统包括:
80.终端10,用于在接收到快进或快退指令时,发送目标关键帧获取请求至服务器;
81.服务器20,用于:
82.获取各个dash视频段;
83.解析各个dash视频段,得到各个dash视频段的关键帧偏移信息;
84.基于目标关键帧获取请求和各个dash视频段的关键帧偏移信息,获取目标关键帧;
85.将目标关键帧发送至终端10。
86.进一步地,一实施例中,所述终端10还用于:
87.发送目标关键帧获取请求,目标关键帧获取请求中包含终端10当前播放的dash视频段的编号和指示字段,指示字段为快进字段或快退字段。
88.进一步地,一实施例中,所述服务器20还用于:
89.服务器20解析目标关键帧获取请求,得到终端10当前播放的dash视频段的编号以及指示字段;
90.当指示字段为快进字段时,根据终端10当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端10当前播放的dash视频段的后一视频段的关键帧,作为目标关键帧;
91.当指示字段为快退字段时,根据终端10当前播放的dash视频段的编号以及各个dash视频段的关键帧偏移信息获取终端10当前播放的dash视频段的前一视频段的关键帧,作为目标关键帧。
92.进一步地,一实施例中,所述服务器20还用于:
93.向源站请求dash点播视频段列表;
94.解析dash点播视频段列表,得到各个dash视频段。
95.进一步地,一实施例中,所述服务器20还用于将各个dash视频段的关键帧偏移信息添加到dash点播视频段列表中。
96.其中,上述dash点播快进快退装置中各个模块的功能实现与上述dash 点播快进快退方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
97.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有
的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
98.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
99.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
100.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1