一种实时视频的传输方法及装置与流程

文档序号:15744481发布日期:2018-10-23 22:52阅读:157来源:国知局

本发明实施例涉及计算机技术,尤其涉及一种实时视频的传输方法及装置。



背景技术:

随着互联网的不断普及和发展,移动互联网视频直播正处于如火如荼的井喷式发展当中。传统的直播大多是单向型的,比如电视台或者运营商直播,用户只需要打开终端收看即可,对于实时性并没有太大的要求。而移动互联网视频直播往往在功能上需要录制端和播放端有交互,这种交互不限于文字的互动,还包括视频的互动,因此,移动互联网视频直播实时性要求较高。

目前,移动互联网视频直播中实时视频的传输方法为,录制端采集视频数据并按照X264格式进行视频编码,通过QoS(Quality of Service,服务质量)算法将视频流数据基于TCP(Transmission Control Protocol,传输控制协议)之上的RTMP(Real Time Messaging Protocol,实时消息传输协议)推流到CDN(Content Delivery Network,内容分发网络)服务器进行分发,播放端从CDN服务器拉流解码来播放。

现有技术的实时视频直播延时表现在将视频流数据基于RTMP推流到CDN和从CDN基于RTMP拉流缓存播放,且基于TCP的数据传输过程过于复杂,从而使得整个网络链路的视频传输延迟通常在1-3秒或者更差。



技术实现要素:

本发明实施例提供一种实时视频的传输方法及装置,以实现降低视频传输延迟,提高用户体验。

第一方面,本发明实施例提供了一种实时视频的传输方法,包括:

视频发送端向视频服务器发送连接请求,并接收所述视频服务器返回的连接确认信息,以与所述视频服务器建立连接;

其中,所述连接请求包括所述视频发送端的身份标识信息;所述视频服务器在接收到所述连接请求后,根据所述身份标识信息激活关联的至少一个视频播放端打开与所述视频发送端对应的传输通道;

所述视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至所述视频服务器,以使所述视频服务器将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

第二方面,本发明实施例还提供了一种实时视频的传输方法,包括:

视频服务器根据所述视频发送端发送的连接请求,向所述视频发送端返回对应的连接确认信息,以与所述视频发送端建立连接,其中,所述连接请求包括所述视频发送端的身份标识信息;

所述视频服务器将所述身份标识信息发送至关联的至少一个视频播放端,以激活所述视频播放端打开与所述视频发送端对应的传输通道;

所述视频服务器接收所述视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

第三方面,本发明实施例还提供了一种实时视频的传输方法,该方法包括:

视频播放端接收视频服务器发送的视频发送端的身份标识信息;

所述视频播放端根据所述身份标识信息,查询传输通道列表,确定并打开与所述视频发送端对应的传输通道,其中,所述传输通道列表中记录有身份标识信息与传输通道之间的对应关系;

所述视频播放器通过所述传输通道接收所述视频服务器转发的所述视频发送端根据设定数据传输参数发送的实时生成的视频编码帧的视频帧分片;

所述视频播放端根据接收到的所述视频帧分片,进行实时视频播放。

第四方面,本发明实施例还提供了一种实时视频的传输装置,配置于视频发送端,该装置包括:

连接请求发送模块,用于向视频服务器发送连接请求,并接收所述视频服务器返回的连接确认信息,以与所述视频服务器建立连接;

其中,所述连接请求包括所述视频发送端的身份标识信息;所述视频服务器在接收到所述连接请求后,根据所述身份标识信息激活关联的至少一个视频播放端打开与所述视频发送端对应的传输通道;

视频分片发送模块,用于所述视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至所述视频服务器,以使所述视频服务器将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

第五方面,本发明实施例还提供了一种实时视频的传输装置,配置于视频服务器,该装置包括:

连接确认返回模块,用于根据所述视频发送端发送的连接请求,向所述视频发送端返回对应的连接确认信息,以与所述视频发送端建立连接,其中,所述连接请求包括所述视频发送端的身份标识信息;

标识信息发送模块,用于将所述身份标识信息发送至关联的至少一个视频播放端,以激活所述视频播放端打开与所述视频发送端对应的传输通道;

视频分片转发模块,用于接收所述视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

第六方面,本发明实施例还提供了一种实时视频的传输装置,配置于视频播放端,该装置包括:

标识信息接收模块,用于接收视频服务器发送的视频发送端的身份标识信息;

传输通道打开模块,用于根据所述身份标识信息,查询传输通道列表,确定并打开与所述视频发送端对应的传输通道,其中,所述传输通道列表中记录有身份标识信息与传输通道之间的对应关系;

视频分片接收模块,用于通过所述传输通道接收所述视频服务器转发的所述视频发送端根据设定数据传输参数发送的实时生成的视频编码帧的视频帧分片;

实时视频播放模块,用于所述视频播放端根据接收到的所述视频帧分片,进行实时视频播放。

本发明实施例通过视频发送端向视频服务器发送连接请求,以与视频服务器建立连接后,视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器,进而由视频服务器转发给视频播放端进行实时视频播放。由于只发送一次请求即建立连接,并在连接建立后将视频编码帧分为若干个视频帧分片进行发送,解决了现有技术中因基于TCP进行连接之前需要经过三次握手的复杂过程,且采用直接基于视频数据流进行传输和播放的方法,而导致视频传输延迟高的问题,实现了降低视频传输延迟,提高用户体验的效果。

附图说明

图1是本发明实施例一提供的一种实时视频的传输方法的流程示意图;

图2是本发明实施例二提供的一种实时视频的传输方法的流程示意图;

图3是本发明实施例三提供的一种实时视频的传输方法的流程示意图;

图4是本发明实施例四提供的一种实时视频的传输方法的流程示意图;

图5是本发明实施例五提供的一种实时视频的传输装置的结构示意图;

图6是本发明实施例六提供的一种实时视频的传输装置的结构示意图;

图7是本发明实施例七提供的一种实时视频的传输装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种实时视频的传输方法的流程示意图。该方法可适用于实时视频的传输情况,该方法可以由实时视频的传输装置来执行,该装置可由硬件和/或软件组成,并一般可集成在视频发送端以及所有包含视频发送功能的智能终端中。具体包括如下:

S110、视频发送端向视频服务器发送连接请求,并接收视频服务器返回的连接确认信息,以与视频服务器建立连接。

其中,视频发送端例如可以是群视频发起者,也可以是群视频新加入者。示例性的,当一个客户端向视频服务器新发起一个群视频会话,则相对于其他参与群视频的客户端而言,该客户端是视频发送端;当一个客户端需要新加入一个群视频时,则相对于其他已参与群视频的客户端而言,该客户端是视频发送端。

可选的,连接请求可以包括视频发送端的UID(User Identification,用户身份标识),还可以包括视频发送端的IP(Internet Protocol,网络之间互联的协议)地址。

相对于面向连接的TCP所采用的三次握手的连接方式,本发明实施例采用的连接方式降低了连接过程的复杂度,缩短了连接建立时间,而对于面向无连接的UDP(User Datagram Protocol,用户数据报协议)的传输方式,本发明实施例采用的基于连接的传输方式提供了可靠的传输机制,使得后续数据传输过程更加可靠。因此,通过视频发送端向视频服务器发送连接请求以与视频服务器建立连接的好处在于,可以在降低延迟的同时提高后续数据传输的可靠性。

S120、其中,连接请求包括视频发送端的身份标识信息;视频服务器在接收到连接请求后,根据身份标识信息激活关联的至少一个视频播放端打开与视频发送端对应的传输通道。

其中,身份标识信息可以为视频发送端的UID。示例性的,视频服务器连接有多个视频播放端,当有视频发送端连接视频服务器时,视频服务器需要将该视频发送端的身份标识信息发送给与视频服务器相连的所有视频播放端,以使视频播放端打开与该视频发送端对应的传输通道。其中,传输通道具体可以为网络端口。打开与视频发送端对应的传输通道的目的在于,为后续步骤中视频帧分片的传输提供与该视频发送端对应专用的数据传输通道,以使当存在多个视频发送端同时向同一个视频播放端传输数据时能够互不影响。

S130、视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器,以使视频服务器将视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

可选的,设定数据传输参数可以包括设定视频编码器的分辨率,和/或设定数据传输码率。优选的,视频编码帧可以由视频编码器按照预设的分辨率并采用h264的形式对实时采集到的视频数据进行编码得到。

其中,视频帧分片可以由视频编码帧经分片处理后得到。示例性的,当视频编码器编码出一帧完整的h264视频编码帧时,视频发送端需要对该视频编码帧进行发送,而对于高分辨率的视频编码帧,帧的大小往往高于基于UDP的传输方式中的网络最大传输单元,因此需要视频发送端对视频编码帧进行分片处理再发送,每次以视频帧分片为单位进行视频数据的发送,从而有效地解决了因传输单元过大而导致的视频延迟高的问题,降低了视频的传输延迟。

优选的,在视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器之后,还包括:视频发送端发送断开请求至视频服务器,并接收视频服务器返回的断开确认信息,以与视频服务器断开连接;其中,视频服务器在接收到断开请求后,控制关联的至少一个视频播放端关闭与视频发送端对应的传输通道。

示例性的,当群视频中有客户端需要退出群视频时,相对于其他参与群视频的客户端而言,需要退出群视频的客户端可被视为视频发送端,而其他参与群视频的客户端可被视为视频播放端,此时视频发送端可通过发送断开请求以断开与视频服务器之间的连接,进而释放相关连接资源,视频服务器也需要在收到断开请求后,通知所有视频播放端关闭与该视频发送端对应的传输通道,以节约通道资源。

本实施例的技术方案,通过视频发送端向视频服务器发送连接请求,以与视频服务器建立连接后,视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器,进而由视频服务器转发给视频播放端进行实时视频播放。由于只发送一次请求即建立连接,并在连接建立后将视频编码帧分为若干个视频帧分片进行发送,解决了现有技术中因基于TCP进行连接之前需要经过三次握手的复杂过程,且采用直接基于视频数据流进行传输和播放的方法,而导致视频传输延迟高的问题,实现了降低视频传输延迟,提高用户体验的效果。

实施例二

图2为本发明实施例二提供的一种实时视频的传输方法的流程示意图。本实施例以上述实施例为基础进行优化,提供了优选的实时视频的传输方法,具体是,在视频发送端向视频服务器发送连接请求,并接收视频服务器返回的连接确认信息之后进行了进一步优化。具体包括如下:

S210、视频发送端向视频服务器发送连接请求,并接收视频服务器返回的连接确认信息,以与视频服务器建立连接。

S220、其中,连接请求包括视频发送端的身份标识信息;视频服务器在接收到连接请求后,根据身份标识信息激活关联的至少一个视频播放端打开与视频发送端对应的传输通道。

S230、视频发送端根据视频服务器发送的视频同步请求,向视频服务器返回对应的视频同步确认信息。

其中,视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;视频服务器在确认有目标视频播放端打开与视频发送端对应的传输通道时,向视频发送端发送视频同步请求,以使目标视频播放端获取实时视频的播放进度。

可选的,同步确认信息可通过握手信号发送给视频服务器,并由视频服务器通过握手信号转发给视频发送端。其中,起始视频帧分片可以是视频画面组中的关键帧(I帧)对应的第一个视频帧分片。提供起始视频帧分片的序列号的目的在于,使视频播放端可从该起始视频帧分片所在的关键帧进行播放,从而避免播放时出现花屏现象。提供当前发送视频帧分片的序列号的目的在于,使视频播放端能够根据当前发送视频帧分片的序列号更新当前播放进度。由此可见,视频发送端向视频服务器返回对应的视频同步确认信息的好处在于,可以及时使目标视频播放端获取实时视频的播放进度,以降低视频延迟。

可选的,S220与S230的执行顺序可以调换,也可以同时进行。

S240、视频发送端根据当前发送视频帧分片的时间和最后收到接收确认响应的时间计算网络延迟时间。

由于网络具有不可预测性,可能会出现抖动、拥塞或者大量丢包的情况,如果按照固定的码率和参数来发送视频帧分片,可能会导致视频发送端与视频播放端之间的传输通道更拥塞,从而使播放端的播放延迟更高或者出现大量马赛克。所以需要通过在视频发送端实时估算当前带宽来探测当前网络情况,以便实时根据当前网络情况来调整视频编码器的帧率或者码率。可选的,可在视频发送端设置一个定时器,每隔预定时间做一次带宽统计。

优选的,可根据公式delay_ts_delta=cur_ts-acked_ts计算网络延迟时间,其中,delay_ts_delta表示网络延迟时间;cur_ts表示当前发送视频帧分片的时间;acked_ts表示最后收到接收确认响应的时间。示例性的,当前发送视频帧分片的时间,即当前正发送的视频帧分片的时间为t1,最后收到接收确认响应的时间,即最近一次收到接收确认响应的时间为t2,则当前的网络延迟时间为t1-t2。

S250、视频发送端根据当前单位时间内收到接收确认响应的带宽以及上一阶段的带宽抖动修正值确定当前带宽抖动修正值。

示例性的,根据当前单位时间内收到接收确认响应的情况可估计出相应的带宽值,即当前单位时间内收到接收确认响应的带宽。其中,上一阶段的带宽抖动修正值是指上一次带宽测量时计算得到的带宽抖动修正值。

优选的,所述视频发送端根据当前单位时间内收到接收确认响应的带宽以及上一阶段的带宽抖动修正值计算当前带宽抖动修正值,包括:视频发送端根据公式计算当前带宽抖动修正值;其中,acked_bw为当前带宽抖动修正值,acked_bw0为上一阶段的带宽抖动修正值,bw为当前单位时间内收到接收确认响应的带宽。另外,由acked_bw的计算公式可知,acked_bw的值为整数值。当首次计算acked_bw时,acked_bw0的取值为0。

S260、视频发送端根据网络延迟时间和当前带宽抖动修正值更新数据传输参数。

优选的,每10秒统计一次带宽,进而更新一次数据传输参数。周期性更新数据传输参数的好处在于,可以根据当前网络情况实时调整数据传输参数,进而最大限度的提高传输效率,降低视频延迟,提高用户体验。

优选的,根据网络延迟时间和当前带宽抖动修正值更新数据传输参数,包括:若当前存在重发的视频帧分片且网络延迟时间大于预设阈值,则将期望带宽值设置为当前带宽抖动修正值,并根据期望带宽值降低数据传输参数的取值,其中,数据传输参数包括:视频编码器的分辨率,和/或数据传输码率;若当前不存在重发的视频帧分片且当前带宽抖动修正值大于0,则将期望带宽值设置为当前带宽抖动修正值的预设倍数,并根据期望带宽值提高数据传输参数的取值;若当前带宽抖动修正值等于0,则保持数据传输参数的取值。

示例性的,若delay_ts_delta大于8×MAX(rtt+rtt_var,100),则dst_bw=acked_bw,进而根据更新后的dst_bw的值降低视频编码器的分辨率、帧率和/或数据传输码率来保证播放的实时性和流畅性;若acked_bw大于0,则dst_bw=acked_bw*9/8,进而根据更新后的dst_bw的值提高视频编码器的分辨率、帧率和/或数据传输码率,来恢复清晰度和提高用户播放体验;若acked_bw等于0,则不更新dst_bw的值,即保持当前的视频编码器的分辨率、帧率和/或数据传输码率不变。其中,delay_ts_delta表示网络延迟时间;rtt表示当前视频帧分片的往返传输时间;rtt的修正值为rtt_var,rtt_var可根据现有的rtt修正算法得到;dst_bw表示期望带宽值;acked_bw为当前带宽抖动修正值。

S270、视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器,以使视频服务器将视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

可选的,本实施例中的S240至S260可与S270同时执行。

本实施例的技术方案,通过视频发送端向视频服务器发送视频同步确认信息,以最终使目标视频播放端进行同步确认,另外,根据计算得到的网络延迟时间和当前带宽抖动修正值来更新数据传输参数,进而根据该数据传输参数发送视频帧分片,从而降低了视频传输和播放延迟,提升了用户播放体验。

实施例三

图3为本发明实施例三提供的一种实时视频的传输方法的流程示意图。该方法可适用于实时视频的传输情况,该方法可以由实时视频的传输装置来执行,该装置可由硬件和/或软件组成,并一般可集成在视频服务器以及所有包含视频传输功能的智能终端中。具体包括如下:

S310、视频服务器根据视频发送端发送的连接请求,向视频发送端返回对应的连接确认信息,以与视频发送端建立连接,其中,连接请求包括视频发送端的身份标识信息。

示例性的,视频服务器收到由视频发送端发送的连接请求后,向视频发送端返回相应的连接确认信息,通过返回的连接确认信息与视频发送端建立连接。

其中,身份标识信息可以为视频发送端的UID。优选的,连接请求可以包括视频发送端的UID以及视频发送端的IP地址。为了统一管理各个客户端的连接信息,可在视频服务器上设置相应的信息存储表格,以存储各个客户端的UID以及IP地址,以使视频发送端发送的视频信息或视频数据能够通过该信息存储表格所对应存储的IP地址得到转发。

S320、视频服务器将身份标识信息发送至关联的至少一个视频播放端,以激活视频播放端打开与视频发送端对应的传输通道。

可选的,与视频服务器关联的至少一个视频播放端可以是与视频服务器建立连接的至少一个视频播放端。

示例性的,当群视频中新加入了客户端时,或当参与群视频的客户端的IP地址发生改变时,则视频服务器需要将该客户端的UID发送至参与群视频的其他客户端,以使其他客户端记录该客户端的UID,并分配和打开与该UID对应的传输通道。

优选的,在视频服务器将身份标识信息发送至关联的至少一个视频播放端之后,还包括:视频服务器在确认有目标视频播放端打开与视频发送端对应的传输通道时,向视频发送端发送视频同步请求;视频服务器接收视频发送端返回的视频同步确认信息,其中,视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;将视频同步确认信息转发至目标视频播放端,以使目标视频播放端获取实时视频的播放进度。

可选的,当有目标视频播放端打开与视频发送端对应的传输通道时,会通过握手确认信息告知视频服务器传输通道已打开,视频服务器收到该握手确认信息后即可确认有目标视频播放端打开与视频发送端对应的传输通道。向视频发送端发送视频同步请求的目的在于,获取并转发视频同步确认信息,以使视频发送端的数据发送情况与视频播放端的数据接收情况一致,从而减小视频传输延迟。

S330、视频服务器接收视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

可选的,视频服务器作为中转,将视频发送端发送的视频帧分片转发给关联的视频播放端。示例性的,群视频中与视频服务器相连的每个客户端相较于其他客户端而言均可以看做是视频发送端,当某个客户端将实时采集并编码生成的视频编码帧的视频帧分片发送给视频服务器时,视频服务器会将该视频帧分片发送给其他客户端以在其他客户端上进行实时视频播放。

优选的,在视频服务器接收视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片之后,还包括:视频服务器根据接收的视频帧分片,实时更新生成设定时间区间内的视频编码帧组,其中,视频编码帧组包括至少一个关键帧;将视频同步确认信息转发至目标视频播放端,进一步包括:将所述视频同步确认信息以及所述视频编码帧组转发至所述目标视频播放端,以使所述视频播放端对所述视频编码帧组进行即收即放显示。

可选的,设定时间区间内的视频编码帧组具体可以包括至少一个完整GOP(Group of Pictures,画面组)。其中,关键帧具体可以为I帧。在视频服务器中实时缓存设定时间区间内的视频编码帧组,并将该视频编码帧组作为首屏画面与视频同步确认信息一起转发至视频播放端进行即收即放的好处在于,可以使视频播放端首次进行数据同步的同时能够及时播放第一个视频画面组,降低实时视频的播放延迟,提高播放体验。

优选的,在视频服务器接收视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放之后,还包括:视频服务器接收视频发送端发送的断开请求;视频服务器根据断开请求,控制关联的至少一个视频播放端关闭与视频发送端对应的传输通道;视频服务器向视频发送端返回对应的断开确认信息,以与视频发送端断开连接。

示例性的,群视频中若视频服务器接收到某个客户端发来的断开请求,则视频服务器会将包含该客户端UID的视频断开请求发送给群视频中的其他客户端,以使其他客户端关闭与该客户端对应的传输通道,并发送断开确认信息给该客户端,确认完成断开连接。

本实施例的技术方案,通过视频服务器响应视频发送端的连接请求建立可靠连接,并将视频发送端的身份识别信息发送至视频播放端,以使视频播放端打开相应的传输通道,最后配合视频发送端将实时生成的视频编码帧的视频帧分片转发至关联的视频播放端,以使视频播放端进行实时视频播放,从而降低了视频传输延迟,提高了视频传输的可靠性,提高了用户体验。

实施例四

图4为本发明实施例四提供的一种实时视频的传输方法的流程示意图。该方法可适用于实时视频的传输情况,该方法可以由实时视频的传输装置来执行,该装置可由硬件和/或软件组成,并一般可集成在视频播放端以及所有包含视频接收和播放功能的智能终端中。具体包括如下:

S410、视频播放端接收视频服务器发送的视频发送端的身份标识信息。

其中,视频发送端的身份标识信息可以是视频发送端的UID。

示例性的,每当接收到视频服务器发送的视频发送端的UID,即可确定该视频发送端已加入群视频,因此需要分配和打开相应的传输通道,以进行视频数据的传输。

S420、视频播放端根据身份标识信息,查询传输通道列表,确定并打开与视频发送端对应的传输通道,其中,传输通道列表中记录有身份标识信息与传输通道之间的对应关系。

示例性的,对于新加入群视频的客户端而言,已参与群视频的其他客户端为视频播放端,而新加入群视频的客户端为视频发送端。若存储于群视频中其他客户端上的传输通道列表中不包含新加入群视频的客户端的UID以及该UID所对应的传输通道号,则将该客户端的UID以及分配给该UID的传输通道号添加至各传输通道列表中,当下次该UID对应的客户端再次加入群视频时,只需各客户端查询各自传输通道列表中找到相应的UID后,打开相应记录的传输通道号的传输通道即可。

优选的,在视频播放端根据身份标识信息,查询传输通道列表,确定并打开与视频发送端对应的传输通道之后,还包括:视频播放端向视频服务器发送传输通道开启确认信息,以使视频服务器向视频发送端发送视频同步请求;视频播放端接收视频服务器转发的视频同步确认信息,以获取实时视频的播放进度;其中,视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;视频同步确认信息为视频发送端根据视频同步请求返回的信息。

优选的,在视频播放端接收视频服务器转发的视频同步确认信息的同时,还包括:视频播放端接收视频服务器发送的与视频发送端对应的视频编码帧组,并对视频编码帧组进行即收即放显示;其中,视频服务器根据接收的视频帧分片,实时更新生成设定时间区间内的视频编码帧组,其中,视频编码帧组包括至少一个关键帧。

可选的,设定时间区间内的视频编码帧组可以为至少一个GOP。对视频编码帧组进行即收即放显示的好处在于,可以减小播放等待时间,进而降低视频的播放延迟。

S430、视频播放器通过传输通道接收视频服务器转发的视频发送端根据设定数据传输参数发送的实时生成的视频编码帧的视频帧分片。

示例性的,根据存储于本地的传输通道列表中各视频发送端的UID与传输通道之间的关系,视频播放器可通过不同的传输通道接收视频服务器转发的不同的视频发送端所发送的视频帧分片,以实现视频数据之间互不干扰的传输方式,提高数据传输效率,降低视频传输延迟。

S440、视频播放端根据接收到的视频帧分片,进行实时视频播放。

可选的,视频播放端根据接收到的视频帧分片,将不同视频编码帧对应的视频帧分片进行合并处理后,按帧进行实时视频播放。

优选的,在视频播放端根据接收到的视频帧分片,进行实时视频播放之后,还包括:视频播放端接收视频服务器发送的断开指令,其中,断开指令中包括视频发送端的身份标识信息;视频播放端根据断开指令中的身份标识信息,关闭与视频发送端对应的传输通道。

示例性的,当群视频中客户端收到视频服务器发送的有关其他客户端UID的断开指令时,关闭传输通道列表中与该客户端UID对应的传输通道,以释放该通道资源。

本实施例的技术方案,通过视频播放端配合视频发送端与视频服务器进行的相关操作,实现了降低视频传输延迟,提高用户体验的效果。

实施例五

图5为本发明实施例五提供的一种实时视频的传输装置的结构示意图。该装置可适用于对实时视频进行传输的情况,该装置可由硬件和/或软件组成,并一般可集成在视频发送端以及所有包含视频发送功能的智能终端中。参考图5,实时视频的传输装置包括:连接请求发送模块510以及视频分片发送模块520,下面对各模块进行具体说明。

连接请求发送模块510,用于向视频服务器发送连接请求,并接收所述视频服务器返回的连接确认信息,以与所述视频服务器建立连接;

其中,所述连接请求包括所述视频发送端的身份标识信息;所述视频服务器在接收到所述连接请求后,根据所述身份标识信息激活关联的至少一个视频播放端打开与所述视频发送端对应的传输通道;

视频分片发送模块520,用于根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至所述视频服务器,以使所述视频服务器将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

本实施例提供的实时视频的传输装置,通过视频发送端向视频服务器发送连接请求,以与视频服务器建立连接后,视频发送端根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至视频服务器,进而由视频服务器转发给视频播放端进行实时视频播放。由于只发送一次请求即建立连接,并在连接建立后将视频编码帧分为若干个视频帧分片进行发送,解决了现有技术中因基于TCP进行连接之前需要经过三次握手的复杂过程,且采用直接基于视频数据流进行传输和播放的方法,而导致视频传输延迟高的问题,实现了降低视频传输延迟,提高用户体验的效果。

在上述各实施例的基础上,还可以包括:

同步确认返回模块,用于在向视频服务器发送连接请求,并接收所述视频服务器返回的连接确认信息之后,根据所述视频服务器发送的视频同步请求,向所述视频服务器返回对应的视频同步确认信息;

其中,所述视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;所述视频服务器在确认有目标视频播放端打开与所述视频发送端对应的传输通道时,向所述视频发送端发送所述视频同步请求,以使所述目标视频播放端获取实时视频的播放进度。

在上述各实施例的基础上,还可以包括:

网络延迟计算模块,用于在根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至所述视频服务器的同时,根据当前发送视频帧分片的时间和最后收到接收确认响应的时间计算网络延迟时间;

带宽抖动修正模块,用于根据当前单位时间内收到接收确认响应的带宽以及上一阶段的带宽抖动修正值确定当前带宽抖动修正值;

传输参数更新模块,用于根据所述网络延迟时间和所述当前带宽抖动修正值更新所述数据传输参数。

在上述各实施例的基础上,所述带宽抖动修正模块,具体可以用于:

所述视频发送端根据公式计算当前带宽抖动修正值;

其中,acked_bw为当前带宽抖动修正值,acked_bw0为上一阶段的带宽抖动修正值,bw为当前单位时间内收到接收确认响应的带宽。

在上述各实施例的基础上,所述传输参数更新模块,具体可以用于:

若当前存在重发的视频帧分片且所述网络延迟时间大于预设阈值,则将期望带宽值设置为所述当前带宽抖动修正值,并根据所述期望带宽值降低所述数据传输参数的取值,其中,所述数据传输参数包括:视频编码器的分辨率,和/或数据传输码率;

若当前不存在重发的视频帧分片且所述当前带宽抖动修正值大于0,则将期望带宽值设置为所述当前带宽抖动修正值的预设倍数,并根据所述期望带宽值提高所述数据传输参数的取值;

若所述当前带宽抖动修正值等于0,则保持所述数据传输参数的取值。

在上述各实施例的基础上,还可以包括:

服务器连接断开模块,用于在根据设定数据传输参数将实时生成的视频编码帧的视频帧分片发送至所述视频服务器之后,发送断开请求至所述视频服务器,并接收所述视频服务器返回的断开确认信息,以与所述视频服务器断开连接;

其中,所述视频服务器在接收到所述断开请求后,控制所述关联的至少一个视频播放端关闭与所述视频发送端对应的传输通道。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

实施例六

图6为本发明实施例六提供的一种实时视频的传输装置的结构示意图。该装置可适用于对实时视频进行传输的情况,该装置可由硬件和/或软件组成,并一般可集成在视频服务器以及所有包含视频传输功能的智能终端中。参考图6,实时视频的传输装置包括:连接确认返回模块610、标识信息发送模块620以及视频分片转发模块630,下面对各模块进行具体说明。

连接确认返回模块610,用于根据所述视频发送端发送的连接请求,向所述视频发送端返回对应的连接确认信息,以与所述视频发送端建立连接,其中,所述连接请求包括所述视频发送端的身份标识信息;

标识信息发送模块620,用于将所述身份标识信息发送至关联的至少一个视频播放端,以激活所述视频播放端打开与所述视频发送端对应的传输通道;

视频分片转发模块630,用于接收所述视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放。

本实施例提供的实时视频的传输装置,通过视频服务器响应视频发送端的连接请求建立可靠连接,并将视频发送端的身份识别信息发送至视频播放端,以使视频播放端打开相应的传输通道,最后配合视频发送端将实时生成的视频编码帧的视频帧分片转发至关联的视频播放端,以使视频播放端进行实时视频播放,从而降低了视频传输延迟,提高了视频传输的可靠性,提高了用户体验。

在上述各实施例的基础上,还可以包括:

同步请求发送模块,用于在将所述身份标识信息发送至关联的至少一个视频播放端之后,在确认有目标视频播放端打开与所述视频发送端对应的传输通道时,向所述视频发送端发送所述视频同步请求;

同步确认接收模块,用于接收所述视频发送端返回的视频同步确认信息,其中,所述视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;

同步确认转发模块,用于将所述视频同步确认信息转发至目标视频播放端,以使所述目标视频播放端获取实时视频的播放进度。

在上述各实施例的基础上,还可以包括:

编码帧组生成模块,用于在接收所述视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片之后,根据接收的所述视频帧分片,实时更新生成设定时间区间内的视频编码帧组,其中,所述视频编码帧组包括至少一个关键帧;

所述同步确认转发模块,进一步用于:将所述视频同步确认信息以及所述视频编码帧组转发至所述目标视频播放端,以使所述视频播放端对所述视频编码帧组进行即收即放显示。

在上述各实施例的基础上,还可以包括:

断开请求接收模块,用于在接收所述视频发送端根据设定数据传输参数发送的,实时生成的视频编码帧的视频帧分片,并将所述视频帧分片转发至打开对应传输通道的视频播放端进行实时视频播放之后,接收所述视频发送端发送的断开请求;

传输通道关闭模块,用于根据所述断开请求,控制所述关联的至少一个视频播放端关闭与所述视频发送端对应的传输通道;

断开确认返回模块,用于向所述视频发送端返回对应的断开确认信息,以与所述视频发送端断开连接。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

实施例七

图7为本发明实施例七提供的一种实时视频的传输装置的结构示意图。该装置可适用于对实时视频进行传输的情况,该装置可由硬件和/或软件组成,并一般可集成在视频播放端以及所有包含视频接收和播放功能的智能终端中。参考图7,实时视频的传输装置包括:标识信息接收模块710、传输通道打开模块720、视频分片接收模块730以及实时视频播放模块740,下面对各模块进行具体说明。

标识信息接收模块710,用于接收视频服务器发送的视频发送端的身份标识信息;

传输通道打开模块720,用于根据所述身份标识信息,查询传输通道列表,确定并打开与所述视频发送端对应的传输通道,其中,所述传输通道列表中记录有身份标识信息与传输通道之间的对应关系;

视频分片接收模块730,用于通过所述传输通道接收所述视频服务器转发的所述视频发送端根据设定数据传输参数发送的实时生成的视频编码帧的视频帧分片;

实时视频播放模块740,用于根据接收到的所述视频帧分片,进行实时视频播放。

本实施例提供的实时视频的传输装置,通过视频播放端配合视频发送端与视频服务器进行的相关操作,实现了降低视频传输延迟,提高用户体验的效果。

在上述各实施例的基础上,还可以包括:

通道开启确认模块,用于在根据所述身份标识信息,查询传输通道列表,确定并打开与所述视频发送端对应的传输通道之后,向所述视频服务器发送传输通道开启确认信息,以使所述视频服务器向所述视频发送端发送所述视频同步请求;

同步确认接收模块,用于接收所述视频服务器转发的视频同步确认信息,以获取实时视频的播放进度;

其中,所述视频同步确认信息包括:起始视频帧分片的序列号,以及当前发送视频帧分片的序列号;所述视频同步确认信息为所述视频发送端根据所述视频同步请求返回的信息。

在上述各实施例的基础上,还可以包括:

即收即放显示模块,用于在接收所述视频服务器转发的视频同步确认信息的同时,所述视频播放端接收所述视频服务器发送的与所述视频发送端对应的视频编码帧组,并对所述视频编码帧组进行即收即放显示;

其中,所述视频服务器根据接收的所述视频帧分片,实时更新生成设定时间区间内的所述视频编码帧组,其中,所述视频编码帧组包括至少一个关键帧。

在上述各实施例的基础上,还可以包括:

断开指令接收模块,用于在根据接收到的所述视频帧分片,进行实时视频播放之后,接收所述视频服务器发送的断开指令,其中,所述断开指令中包括所述视频发送端的身份标识信息;

传输通道关闭模块,用于根据所述断开指令中的所述身份标识信息,关闭与所述视频发送端对应的传输通道。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1