CN111107104A - 视频发送方法、视频接收方法、装置、设备及存储介质 - Google Patents
视频发送方法、视频接收方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111107104A CN111107104A CN201911416069.1A CN201911416069A CN111107104A CN 111107104 A CN111107104 A CN 111107104A CN 201911416069 A CN201911416069 A CN 201911416069A CN 111107104 A CN111107104 A CN 111107104A
- Authority
- CN
- China
- Prior art keywords
- video
- queue
- terminal
- packet
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了视频发送方法、视频接收方法、装置、设备及存储介质,属于多媒体技术领域。方法包括:第一终端获取第一视频包的发送属性信息。响应于发送属性信息不满足第一条件,停止向获取队列加入视频数据,删除获取队列中未被编码的视频数据。响应于发送属性信息在参考时长内满足第一条件,继续向获取队列中加入视频数据,对新加入获取队列中的视频数据进行编码,得到第二视频包,将第二视频包加入发送队列,基于发送队列进行视频发送。本实施例在第一终端根据发送属性信息来触发部分未编码的视频数据的删除,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
Description
技术领域
本申请涉及多媒体技术领域,特别涉及一种视频发送方法、视频接收方法、装置、设备及存储介质。
背景技术
随着多媒体技术的发展,不同终端之间所进行的视频传输也越来越多。在视频传输过程中,作为发送端的终端对视频进行编码,将编码后的视频发送给作为接收端的终端。相应地,作为接收端的终端在接收编码后的视频之后,对编码后的视频进行解码,以便于进行视频的播放。
然而,在网络波动的情况下,编码后的视频的传输速度较慢。因此,在网络波动的时间段内,作为接收端的终端会延迟接收到编码后的视频,从而导致所播放的视频持续卡顿,播放效果较差。因此,亟待提供一种视频发送方法及视频接收方法,以改善网络波动情况下的播放效果。
发明内容
本申请实施例提供了一种视频发送方法、视频接收方法、装置、设备及存储介质,以改善网络波动情况下的视频播放效果。所述技术方案如下:
第一方面,提供了一种视频发送方法,所述方法包括:
第一终端获取第一视频包的发送属性信息,所述第一视频包是与第二终端对应的发送队列中的视频包,所述第一视频包通过编码获取队列中的视频数据得到;
响应于所述发送属性信息不满足第一条件,停止向所述获取队列加入视频数据,删除所述获取队列中未被编码的视频数据;
响应于所述发送属性信息在参考时长内满足所述第一条件,继续向所述获取队列中加入视频数据,对新加入所述获取队列中的视频数据进行编码,得到第二视频包,将所述第二视频包加入所述发送队列,基于所述发送队列进行视频发送。
在示例性实施例中,所述发送属性信息不满足第一条件包括所述发送队列中的第一视频包的数量大于第一阈值。
在示例性实施例中,所述对新加入所述获取队列中的视频数据进行编码,得到第二视频包,包括:
基于与所述第二终端之间的网络延迟时长,确定与所述第二终端之间的相对时间差;
根据所述第一终端的当前时间及所述相对时间差确定适用于所述第二终端的目标时间戳,将所述目标时间戳添加在所述新加入所述获取队列的视频数据中,得到更新后的视频数据;
对所述更新后的视频数据进行编码,得到所述第二视频包。
在示例性实施例中,所述将所述第二视频包加入所述发送队列之后,所述方法还包括:
响应于接收到所述第二终端发送的终止指令,清空所述发送队列,所述终止指令用于指示所述第二视频包对应的视频质量不满足播放要求,所述第二视频包对应的视频质量由所述第二终端根据所述目标时间戳确定。
在示例性实施例中,所述方法还包括:响应于所述发送属性信息在参考时长内未满足所述第一条件,删除所述发送队列中的未发送的第一视频包。
一方面,提供了一种视频接收方法,所述方法包括:
第二终端获取视频包的接收属性信息,所述视频包是与第一终端对应的接收队列中的视频包,所述视频包由所述第一终端编码视频数据得到;
响应于所述接收属性信息不满足第二条件,停止将所述接收队列中的视频包加入解码队列,确定所述接收队列中的每个视频包的类型;
根据每个视频包的类型,删除所述接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入所述解码队列,基于所述解码队列进行视频接收。
在示例性实施例中,所述响应于所述接收属性信息不满足第二条件包括所述接收队列中的视频包的数量大于第二阈值。
在示例性实施例中,所述其他视频包中包含有目标时间戳,所述目标时间戳基于与所述第一终端之间的网络延迟时长确定,所述将除前参考数量个视频包以外的其他视频包加入所述解码队列之后,所述方法还包括:
根据所述目标时间戳确定所述其他视频包对应的视频质量;
响应于所述其他视频包对应的视频质量不满足播放要求,向所述第一终端发送终止指令,所述终止指令用于所述第一终端清空所述第一终端中的发送队列。
一方面,提供了一种视频发送装置,所述装置包括:
获取模块,用于第一终端获取第一视频包的发送属性信息,所述第一视频包是与第二终端对应的发送队列中的视频包,所述第一视频包通过编码获取队列中的视频数据得到;
停止模块,用于响应于所述发送属性信息不满足第一条件,停止向所述获取队列加入视频数据,删除所述获取队列中未被编码的视频数据;
发送模块,用于响应于所述发送属性信息在参考时长内满足所述第一条件,继续向所述获取队列中加入视频数据,对新加入所述获取队列中的视频数据进行编码,得到第二视频包,将所述第二视频包加入所述发送队列,基于所述发送队列进行视频发送。
在示例性实施例中,所述发送属性信息不满足第一条件包括所述发送队列中的第一视频包的数量大于第一阈值。
在示例性实施例中,所述发送模块,用于基于与所述第二终端之间的网络延迟时长,确定与所述第二终端之间的相对时间差;根据所述第一终端的当前时间及所述相对时间差确定适用于所述第二终端的目标时间戳,将所述目标时间戳添加在所述新加入所述获取队列的视频数据中,得到更新后的视频数据;对所述更新后的视频数据进行编码,得到所述第二视频包。
在示例性实施例中,所述装置还包括:清空模块,用于响应于接收到所述第二终端发送的终止指令,清空所述发送队列,所述终止指令用于指示所述第二视频包对应的视频质量不满足播放要求,所述第二视频包对应的视频质量由所述第二终端根据所述目标时间戳确定。
在示例性实施例中,所述装置还包括:删除模块,用于响应于所述发送属性信息在参考时长内未满足所述第一条件,删除所述发送队列中的未发送的第一视频包。
一方面,提供了一种视频接收装置,所述装置包括:
获取模块,用于第二终端获取视频包的接收属性信息,所述视频包是与第一终端对应的接收队列中的视频包,所述视频包由所述第一终端编码视频数据得到;
确定模块,用于响应于所述接收属性信息不满足第二条件,停止将所述接收队列中的视频包加入解码队列,确定所述接收队列中的每个视频包的类型;
接收模块,用于根据每个视频包的类型,删除所述接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入所述解码队列,基于所述解码队列进行视频接收。
在示例性实施例中,所述响应于所述接收属性信息不满足第二条件包括所述接收队列中的视频包的数量大于第二阈值。
在示例性实施例中,所述其他视频包中包含有目标时间戳,所述目标时间戳基于与所述第一终端之间的网络延迟时长确定,所述装置还包括:发送模块,用于根据所述目标时间戳确定所述其他视频包对应的视频质量;响应于所述其他视频包对应的视频质量不满足播放要求,向所述第一终端发送终止指令,所述终止指令用于所述第一终端清空所述第一终端中的发送队列。
一方面,提供了一种电子设备,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现本申请的任一种示例性实施例所提供的视频发送方法或视频接收方法。
另一方面,提供了一种可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现本申请的任一种示例性实施例所提供的视频发送方法或视频接收方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过在第一终端根据发送属性信息来触发部分未编码的视频数据的删除,从而将与当前时间相差较小的视频数据新加入获取队列,得到第二视频包。因此,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的实施环境示意图;
图2是本申请实施例提供的视频发送方法的流程图;
图3是本申请实施例提供的网络架构图;
图4是本申请实施例提供的确定目标时间戳的示意图;
图5是本申请实施例提供的视频接收方法的流程图;
图6是本申请实施例提供的视频发送装置的结构示意图;
图7是本申请实施例提供的视频接收装置的结构示意图;
图8是本申请实施例提供的终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种视频发送方法及视频接收方法,上述方法可应用于如图1所示的实施环境中。图1中,包括第一终端11和第二终端12,第一终端11可与第二终端12进行通信连接,以向第二终端12发送视频包。
其中,第一终端11及第二终端12均可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑、智能车机、智能电视、智能音箱等。
本领域技术人员应能理解上述第一终端11和第二终端12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,参见图2,本申请实施例提供了一种视频发送方法,该方法可应用于图1所示的第一终端中。如图2所示,该方法包括:
步骤201,第一终端获取第一视频包的发送属性信息,第一视频包是与第二终端对应的发送队列中的视频包,第一视频包通过编码获取队列中的视频数据得到。
其中,获取队列中的视频数据是未编码的数据。该视频数据可以是第一终端通过摄像头等采集设备直接采集得到的数据,也可以是第一终端从其他终端接收、通过解码存储于第一终端本地的数据。视频数据中包括多个视频帧,在对获取队列中的视频数据进行编码的过程中,以视频帧为单位进行编码,得到多个第一视频包。
在实施中,参见图3,第一终端将获取的视频数据放入获取队列中。之后,由编码器从获取队列中依次取出视频数据,对所取出的视频数据进行编码,得到第一视频包。最后,将第一视频包放入第二终端对应的发送队列中,则第一终端会依次从发送队列中取出第一视频包进行发送,从而将第一视频包发送给第二终端。示例性地,第一终端在发送第一视频包的过程中,是将第一视频包与第二终端的地址发送给服务器。这样,服务器根据第二终端的地址将接收到的第一视频包转发给第二终端,从而实现第一视频包的发送。另外,本实施例中可通过基于UDP(User Datagram Protocol,用户数据报协议)开发的KCP(快速可靠协议的一种,由国人定义,暂无官方缩写,暂且解释成Kuai ControlProtocol,快速控制协议)对第一视频包进行发送,以保证第一视频包的快速无损传输。
基于以上发送过程可以看出,若网络在发送过程中发生波动,则第一终端发送一个第一视频包所需的时间较长,第一终端从发送队列中取出第一视频包的速度降低。因此,发送队列中的第一视频包会存在滞留,这样的滞留不仅会导致第二终端在对第一视频包进行解码后所播放的视频存在延迟卡顿,还会导致第二终端所播放的视频与音频不同步,播放效果较差,影响了第二终端用户的观看体验。
对此,本实施例通过获取第一视频包的发送属性信息,来确认第一视频包是否存在滞留,以便于对滞留现象进行及时处理。在示例性实施中,第一视频包的发送属性信息可以是发送队列中第一视频包的数量,可以是第一终端的网速,也可以是由第二终端发送的滞留指令。
需要说明的是,第一视频包往往具有对应的视频时间戳,以便于第二终端通过将视频时间戳与第二终端的音频对应的音频时间戳进行对齐,从而实现第一视频包与音频的同步播放。在第一终端的第一视频包滞留的情况下,第一终端发送的第一视频包对应的视频时间戳所指示的时间便会与当前真实时间的时间差较大,则视频时间戳与音频时间戳的时间差也较大。这样,第二终端便可以响应于视频时间戳与音频时间戳的时间差大于阈值,将上述滞留指令发送给第一终端,从而使得第一终端可根据该滞留指令确认第一视频包存在滞留。
步骤202,响应于发送属性信息不满足第一条件,停止向获取队列加入视频数据,删除获取队列中未被编码的视频数据。
在发送属性信息为发送队列中第一视频包的数量的情况下,发送属性信息不满足第一条件包括发送队列中的第一视频包的数量大于第一阈值。在发送属性信息为第一终端网速的情况下,发送属性信息不满足第一条件包括第一终端网速小于网速阈值。在发送属性信息为第二终端发送的滞留指令的情况下,第一终端接收到该滞留指令即为发送属性信息不满足第一条件。
无论采用怎样的发送属性信息,在发送属性信息满足第一条件的情况下,则说明网络未发生波动、网络环境较好,因而发送队列中的第一视频包未存在滞留。在发送属性信息不满足第一条件的情况下,则可认为网络发生波动、网络环境较差,发送队列中的第一视频包存在滞留。因此,可停止向获取队列中加入视频数据,即第一终端停止采集或接收用于发送给第二终端的数据。另外,还删除获取队列中未被编码的视频数据,从而避免编码器继续从获取队列中取出视频数据进行编码,得到第一视频包。通过以上处理,使得第一视频包的数量不会继续增加,从而避免了发送队列中的第一视频包发生更严重的滞留。
以发送属性信息为发送队列中第一视频包的数量为例,将第一视频包的数量表示为N,将第一阈值表示为M(M取值为大于0的正整数),对上述过程进行说明:
若N≤M,则说明当前网络环境较好,编码器正常从获取队列中取出视频数据进行编码、将编码得到的第一视频包放入发送队列中进行发送即可。
若N>M,则说明当前网络环境较差,发送队列发生第一视频包的滞留。因此,便可触发停止向获取队列中加入视频数据,删除获取队列中未被编码的视频数据,从而避免第一视频包发生更严重的滞留。
需要说明的是,在发送属性信息不满足第一条件的情况下,虽然停止了视频数据的加入、删除了未被编码的视频数据,但是第一终端仍在对已被放入发送队列中的第一视频包进行发送。因此,发送队列中的第一视频包的数量会不断减少,且发送属性信息有满足第一条件的可能。例如,第一视频包的数量可以会降低至小于第一阈值,第一终端网速可能会增大至大于网速阈值,第二终端可能会撤销已发送的滞留指令。基于这一考虑,本实施例可以将检测到发送属性信息不满足第一条件的时刻作为起点,开始进行计时。对于在起点之后的参考时长内满足第一条件以及仍不满足第一条件两种情况,采用不同的处理方式,详见步骤203。
步骤203,响应于发送属性信息在参考时长内满足第一条件,继续向获取队列中加入视频数据,对新加入获取队列中的视频数据进行编码,得到第二视频包,将第二视频包加入发送队列,基于发送队列进行视频发送。
响应于发送属性信息在参考时长内满足第一条件,则说明第一终端的网络恢复正常,发送队列中的第一视频包不再滞留。因此,可以不再停止向获取队列中加入视频数据,而是继续向获取队列中加入视频数据。这样,编码器便可从获取队列中取出新加入获取队列中的视频数据进行编码,得到第二视频包。需要说明的是,编码器在编码得到第二视频包的过程中,会将首帧编码为IDR(Instantaneous Decoding Refresh,即时解码刷新)帧,位于IDR帧之后的帧无需参考位于IDR帧之前的帧便可实现解码,以便于后续第二终端可对首帧为IDR帧的第二视频包进行解码。
在得到第二视频包之后,编码器将得到的第二视频包加入发送队列,从而可基于发送队列进行视频发送。需要说明的是,若在停止加入视频数据的过程中,即参考时长内,发送队列中的第一视频包已全部被发送至第二终端,则继续加入视频数据之后,发送队列中仅包含对新加入获取队列中的视频数据进行编码得到的第二视频包。因此,基于发送队列进行视频发送是指对发送队列中的第二视频包依次进行发送。或者,若在参考时长内,发送队列中的第一视频包仅有部分被发送至第二终端,则继续加入视频数据之后,发送队列中既包含未发送的第一视频包,又包含第二视频包。因此,基于发送队列进行视频发送是指,对发送队列中的第一视频包及第二视频包进行发送。
基于上述说明,本实施例删除了时间顺序上最后一个第一视频包与首个第二视频包之间的视频数据,未对这部分视频数据进行编码,也就是没有将这部分视频数据发送给第二终端。相比于这部分视频数据,第二视频包所对应的新加入获取队列中的视频数据是与当前时间相差较小的数据。可见,本实施例在网络波动的情况下,通过发送属性信息触发与当前时间相差较大的视频数据的删除,而发送了与当前时间相差较小的视频数据,从而避免了视频数据的持续延迟及卡顿,该过程也可以称为第一终端的追帧。
相应地,第二终端对第一视频包及第二视频包进行解码播放的过程中,由于缺失了与当前时间相差较大的视频数据,因而第二终端所播放的视频会产生一次跳动,从而跳转至与当前时间相差较小的视频帧进行播放。若是不对与当前时间相差较大的这部分视频数据进行删除,则第二终端所播放的视频会持续延迟卡顿、音画不同步。而相比于延迟卡顿及音画不同步,用户对视频发生一次跳动的适应程度往往更高。因此,本实施例提升了播放效果,提高了用户的观看体验。
在示例性实施例中,本实施所提供的方法还包括:响应于发送属性信息在参考时长内未满足第一条件,删除发送队列中的未发送的第一视频包。其中,响应于发送属性信息在参考时长内未满足第一条件,则说明参考时长内网络环境持续较差,发送队列中的第一视频包仍在滞留。因此,便可认为网络环境无法恢复,若是继续对第一视频包进行发送,则第二终端对第一视频包进行解码播放得到的视频仍存在延迟卡顿,播放效果较差。对此,便可删除发送队列中未发送的第一视频包,则第一终端不再向第二终端发送第一视频包。之后,可采用其他对网络环境要求较低的编码方式重新进行编码。
仍以发送属性信息为发送队列中第一视频包的数量为例,将第一视频包的数量表示为N,将第一阈值表示为M(M取值为大于0的正整数),对上述过程进行说明:
若N在参考时长T内满足N≤M,则说明网络环境恢复。因此,可继续向获取队列中加入视频数据,编码器从获取队列中取出新加入获取队列中的视频数据进行编码,且将获取队列中的首帧编码为IDR帧,得到第二视频包。之后,编码器将第二视频包加入发送队列,以便于基于发送队列进行发送。
若N在参考时长内保证N大于M,则说明网络环境无法恢复。因此,可删除发送队列中未发送的第一视频包,从而停止向第二终端发送第一视频包。在第一终端通过服务器向第二终端发送第一视频包的情况下,第一终端还可向服务器发送停止发送指令,以便于服务器不再将第一视频包发送给第二终端。
在示例性实施例中,对新加入获取队列中的视频数据进行编码,得到第二视频包,包括:基于与第二终端之间的网络延迟时长,确定与第二终端之间的相对时间差。根据第一终端的当前时间及相对时间差确定适用于第二终端的目标时间戳,将目标时间戳添加在新加入获取队列的视频数据中,得到更新后的视频数据。对更新后的视频数据进行编码,得到第二视频包。
参见图4,第一终端可以向第二终端发送测试信号,并接收第二终端对于该测试信号的响应,从而根据发送测试信号的时刻与接收响应的时刻之间的差值,确定第一终端与第二终端之间的网络延迟时长tx。之后,第一终端可以请求第二终端的时间戳T0,第二终端根据该请求向第一终端响应第二终端的时间戳T0,该时间戳用于指示第二终端对应的时间坐标系中的时间。另外,第一终端接收到该时间戳T0的时间为t0,t0为第一终端对应的时间坐标系中的时间。根据时间的一致性,第一终端便可通过tx、T0及t0计算出第一终端与第二终端之间的相对时间差dx=T0-t0-tx。
例如,第二终端发送的时间戳T0所指示的时间为第二终端对应的时间坐标系中的3点,第一终端与第二终端之间的网络延迟时长tx为5分钟,即该时间戳T0由第二终端传输至第一终端所需的时间为5分钟。因此,第一终端接收到该时间戳T0的时间在第二终端对应的时间坐标系中的时间应该是3:05。若第一终端接收到该时间戳T0的时间在第一终端对应的时间坐标系中的时间为2:05,则说明第一终端与第二终端的相对时间差为1小时。通过上述公式计算得到的相对时间差dx=3点-2点零5分-5分钟=1小时也正为1小时。
这样,第一终端在对新加入获取队列中的视频数据进行编码的过程中,可根据第一终端对应的时间坐标系下的当前时间及上述计算得到的相对时间差,换算出第二终端对应的时间坐标系下的时间,换算出的时间便可作为适用于第二终端的目标时间戳。因此,第一终端将目标时间戳添加在新加入获取队列的视频数据中,得到更新后的视频数据。最后,第一终端再通过编码器对更新后的视频数据进行编码,即可得到对应有目标时间戳的第二视频包。
综上所述,本实施例在第一终端根据发送属性信息来触发部分未编码的视频数据的删除,从而将与当前时间相差较小的视频数据新加入获取队列,得到第二视频包。因此,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
基于上述图1所示的实施环境,参见图5,本申请实施例提供了一种视频接收方法,该方法可应用于图1所示的第二终端中。如图5所示,该方法包括:
步骤501,第二终端获取视频包的接收属性信息,视频包是与第一终端对应的接收队列中的视频包,视频包由第一终端编码视频数据得到。
其中,第二终端所获取的视频包可包括上述步骤201-203中所说明的第一视频包及第二视频包。由于第一终端可对视频包进行发送,因而第二终端可相应地对视频包进行接收。在实施中,参见图3,第二终端在接收到第一终端发送的视频包之后,首先将视频包加入与第一终端对应的接收队列中。之后,解码器从接收队列中依次取出视频包,将取出的视频包加入解码队列中,以便于对视频包进行解码。通过对视频包的解码,可将视频包还原为视频数据,以便于第二终端对视频数据进行播放。
基于以上接收过程可以看出,若第二终端发生卡顿,则解码器解码一个视频包所需的时间较长,因此解码器从接收队列中取出视频包进行解码的速度小于接收队列中接收新的视频包的速度,从而导致接收队列中的视频包存在滞留,从而导致解码视频包所播放的视频存在延迟卡顿。对此,本实施例通过视频包的接收属性信息来确认视频包是否存在滞留,以便于对接收队列中的滞留现象进行及时处理。在示例性实施例中,视频包的接收属性信息可以是接收队列中视频包的数量。
步骤502,响应于接收属性信息不满足第二条件,停止将接收队列中的视频包加入解码队列,确定接收队列中的每个视频包的类型。
在视频包的接收属性信息为接收队列中视频包的数量的情况下,接收属性信息不满足第二条件包括接收队列中的视频包的数量大于第二阈值。在实施中,第二阈值可根据经验或实际需要进行设置,本实施例不对第二阈值加以限定。在接收属性信息不满足第二条件的情况下,则说明第二终端的解码器的解码速率较低,第二终端的解码队列中视频包存在滞留。因此,可停止将接收队列中的视频包加入解码队列,从而减少解码器所需解码的视频包数量,避免解码队列中滞留更多的视频包。
以接收队列中视频包的数量为X,第二阈值为Y为例,则若X≤Y,则说明第二终端未发生卡顿,解码器按照步骤501中的说明正常进行解码即可。若X大于Y,则说明第二终端发生卡顿,解码队列中的视频包存在滞留。因此,便需要进一步减少解码器所需的视频包数量。
对此,本实施例在接收属性信息不满足第二条件的情况下,除了停止将接收队列中的视频包加入解码队列,还确定接收队列中的每个视频包的类型。在实施中,解码器从接收队列中读取每个视频包,从而确定接收队列中的视频包是IDR帧、P帧(预测帧)还是B帧(双向预测帧),以便于基于每个视频包的类型来选择性地进行解码,从而减少解码器所需解码的视频包数量,详见步骤503。
步骤503,根据每个视频包的类型,删除接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入解码队列,基于解码队列进行视频接收。
由于解码器在对视频包进行解码时,需要从IDR帧开始进行解码,因而可基于接收队列中的IDR帧来确定该参考数量。例如,在实施中解码器可以从接收队列中的首帧开始进行读取,无论首帧是IDR帧、P帧还是D帧,均对首帧进行删除,从首帧之后的第二帧继续进行读取。若读取到P帧或B帧则进行丢弃,直至读取到下一个IDR帧时,停止继续读取,从下一个IDR帧开始进行解码。当然,除了从下一个IDR帧开始进行解码,本实施例还可以从首帧之后的第二个或第更多个IDR帧开始进行解码,本实施例对此不加以限定。
需要说明的是,接收队列中的视频包中,往往每30-60帧中才具有一个IDR帧。因此,通过上述删除过程,可以减少解码器所需解码的视频包数量,从而使第二终端跳转至与当前时间相差较小的视频包开始进行解码,进而实现与当前时间相差较小的视频包对应的视频数据的播放,保证了播放效果。该过程也可以称为第二终端的追帧。
在删除接收队列中的前参考数量个视频包之后,便可将接收队列中除前参考数量个视频包以外的其他视频包依次加入解码队列。这样,便可对解码队列中的其他视频包进行解码,从而基于解码队列进行视频接收。在实施中,其他视频包往往对应有目标时间戳,该目标时间戳是基于第一终端与第二终端之间的网络延迟时长所确定的。因此,第二终端可以根据该目标时间戳将对其他视频包解码得到视频数据与音频数据进行对应播放,从而保证了所播放的视频数据与音频之间的音画同步。
在示例性实施例中,将除前参考数量个视频包以外的其他视频包加入解码队列之后,方法还包括:根据目标时间戳确定其他视频包对应的视频质量。响应于其他视频包对应的视频质量不满足播放要求,向第一终端发送终止指令,终止指令用于第一终端清空第一终端中的发送队列。
其中,参见图3,第二终端可以对接收到的其他视频包的时间戳进行对比,以进行视频质量监控。在监控过程中,若第二终端发现各个其他视频包对应的目标时间戳所指示的时间相差较大,则说明第一终端由于网络波动原因对获取队列中的视频数据进行了连续多次的删除,也就是第一终端进行了多次追帧。由于这样的视频数据播放所产生的效果是多次进行画面跳转,因而视频质量较差,影响了用户的观看体验。因此,第二终端可向第一终端发送终止指令。相应地,第一终端响应于第二终端发送的终止指令,可清空第一终端中的发送队列,即第一终端不再向第二终端发送质量不满足要求的视频包。这样,第一终端可根据网络环境更换新的编码方式,以便于在无需追帧的情况下向第二终端提供视频包,以保证第二终端所播放视频的视频质量,进而保证第二终端用户的视频观看体验。
综上所述,本实施例在第二终端根据接收属性信息来触发部分未解码视频包的删除,从而将与当前时间相差较小的视频包进行解码播放。因此,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
基于相同构思,本申请实施例提供了一种视频发送装置,参见图6,装置包括:
获取模块601,用于第一终端获取第一视频包的发送属性信息,第一视频包是与第二终端对应的发送队列中的视频包,第一视频包通过编码获取队列中的视频数据得到;
停止模块602,用于响应于发送属性信息不满足第一条件,停止向获取队列加入视频数据,删除获取队列中未被编码的视频数据;
发送模块603,用于响应于发送属性信息在参考时长内满足第一条件,继续向获取队列中加入视频数据,对新加入获取队列中的视频数据进行编码,得到第二视频包,将第二视频包加入发送队列,基于发送队列进行视频发送。
在示例性实施例中,发送属性信息不满足第一条件包括发送队列中的第一视频包的数量大于第一阈值。
在示例性实施例中,发送模块603,用于基于与第二终端之间的网络延迟时长,确定与第二终端之间的相对时间差;根据第一终端的当前时间及相对时间差确定适用于第二终端的目标时间戳,将目标时间戳添加在新加入获取队列的视频数据中,得到更新后的视频数据;对更新后的视频数据进行编码,得到第二视频包。
在示例性实施例中,装置还包括:清空模块,用于响应于接收到第二终端发送的终止指令,清空发送队列,终止指令用于指示第二视频包对应的视频质量不满足播放要求,第二视频包对应的视频质量由第二终端根据目标时间戳确定。
在示例性实施例中,装置还包括:删除模块,用于响应于发送属性信息在参考时长内未满足第一条件,删除发送队列中的未发送的第一视频包。
综上所述,本实施例在第一终端根据发送属性信息来触发部分未编码的视频数据的删除,从而将与当前时间相差较小的视频数据新加入获取队列,得到第二视频包。因此,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
基于相同构思,本实施例还提供了一种视频接收装置,参见图7,装置包括:
获取模块701,用于第二终端获取视频包的接收属性信息,视频包是与第一终端对应的接收队列中的视频包,视频包由第一终端编码视频数据得到;
确定模块702,用于响应于接收属性信息不满足第二条件,停止将接收队列中的视频包加入解码队列,确定接收队列中的每个视频包的类型;
接收模块703,用于根据每个视频包的类型,删除接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入解码队列,基于解码队列进行视频接收。
在示例性实施例中,响应于接收属性信息不满足第二条件包括接收队列中的视频包的数量大于第二阈值。
在示例性实施例中,其他视频包中包含有目标时间戳,目标时间戳基于与第一终端之间的网络延迟时长确定,装置还包括:发送模块,用于根据目标时间戳确定其他视频包对应的视频质量;响应于其他视频包对应的视频质量不满足播放要求,向第一终端发送终止指令,终止指令用于第一终端清空第一终端中的发送队列。
综上所述,本实施例在第二终端根据接收属性信息来触发部分未解码视频包的删除,从而将与当前时间相差较小的视频包进行解码播放。因此,避免了视频的延迟卡顿,播放效果较好,提高了用户的视频观看体验。
参见图8,其示出了本申请实施例提供的一种终端800的结构示意图。该终端800可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(MovingPicture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(ProgrammableLogic Array,可编程逻辑阵列)所组成的群组中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏805所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的视频发送方法及视频接收方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头806、音频电路807、定位组件808和电源809所组成的群组中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或Wi-Fi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器810可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在显示屏805的下层时,由处理器801根据用户对显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件所组成的群组中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制显示屏805的显示亮度。具体地,当环境光强度较高时,调高显示屏805的显示亮度;当环境光强度较低时,调低触示屏808的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
基于相同构思,本申请实施例提供了一种电子设备,设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请的任一种示例性实施例所提供的视频发送方法或视频接收方法。
另一方面,提供了一种可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现本申请的任一种示例性实施例所提供的视频发送方法或视频接收方法。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种视频发送方法,其特征在于,所述方法包括:
第一终端获取第一视频包的发送属性信息,所述第一视频包是与第二终端对应的发送队列中的视频包,所述第一视频包通过编码获取队列中的视频数据得到;
响应于所述发送属性信息不满足第一条件,停止向所述获取队列加入视频数据,删除所述获取队列中未被编码的视频数据;
响应于所述发送属性信息在参考时长内满足所述第一条件,继续向所述获取队列中加入视频数据,对新加入所述获取队列中的视频数据进行编码,得到第二视频包,将所述第二视频包加入所述发送队列,基于所述发送队列进行视频发送。
2.根据权利要求1所述的方法,其特征在于,所述发送属性信息不满足第一条件包括所述发送队列中的第一视频包的数量大于第一阈值。
3.根据权利要求1所述的方法,其特征在于,所述对新加入所述获取队列中的视频数据进行编码,得到第二视频包,包括:
基于与所述第二终端之间的网络延迟时长,确定与所述第二终端之间的相对时间差;
根据所述第一终端的当前时间及所述相对时间差确定适用于所述第二终端的目标时间戳,将所述目标时间戳添加在所述新加入所述获取队列的视频数据中,得到更新后的视频数据;
对所述更新后的视频数据进行编码,得到所述第二视频包。
4.根据权利要求3所述的方法,其特征在于,所述将所述第二视频包加入所述发送队列之后,所述方法还包括:
响应于接收到所述第二终端发送的终止指令,清空所述发送队列,所述终止指令用于指示所述第二视频包对应的视频质量不满足播放要求,所述第二视频包对应的视频质量由所述第二终端根据所述目标时间戳确定。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
响应于所述发送属性信息在参考时长内未满足所述第一条件,删除所述发送队列中的未发送的第一视频包。
6.一种视频接收方法,其特征在于,所述方法包括:
第二终端获取视频包的接收属性信息,所述视频包是与第一终端对应的接收队列中的视频包,所述视频包由所述第一终端编码视频数据得到;
响应于所述接收属性信息不满足第二条件,停止将所述接收队列中的视频包加入解码队列,确定所述接收队列中的每个视频包的类型;
根据每个视频包的类型,删除所述接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入所述解码队列,基于所述解码队列进行视频接收。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述接收属性信息不满足第二条件包括所述接收队列中的视频包的数量大于第二阈值。
8.根据权利要求6或7所述的方法,其特征在于,所述其他视频包中包含有目标时间戳,所述目标时间戳基于与所述第一终端之间的网络延迟时长确定,所述将除前参考数量个视频包以外的其他视频包加入所述解码队列之后,所述方法还包括:
根据所述目标时间戳确定所述其他视频包对应的视频质量;
响应于所述其他视频包对应的视频质量不满足播放要求,向所述第一终端发送终止指令,所述终止指令用于所述第一终端清空所述第一终端中的发送队列。
9.一种视频发送装置,其特征在于,所述装置包括:
获取模块,用于第一终端获取第一视频包的发送属性信息,所述第一视频包是与第二终端对应的发送队列中的视频包,所述第一视频包通过编码获取队列中的视频数据得到;
停止模块,用于响应于所述发送属性信息不满足第一条件,停止向所述获取队列加入视频数据,删除所述获取队列中未被编码的视频数据;
发送模块,用于响应于所述发送属性信息在参考时长内满足所述第一条件,继续向所述获取队列中加入视频数据,对新加入所述获取队列中的视频数据进行编码,得到第二视频包,将所述第二视频包加入所述发送队列,基于所述发送队列进行视频发送。
10.一种视频接收装置,其特征在于,所述装置包括:
获取模块,用于第二终端获取视频包的接收属性信息,所述视频包是与第一终端对应的接收队列中的视频包,所述视频包由所述第一终端编码视频数据得到;
确定模块,用于响应于所述接收属性信息不满足第二条件,停止将所述接收队列中的视频包加入解码队列,确定所述接收队列中的每个视频包的类型;
接收模块,用于根据每个视频包的类型,删除所述接收队列中的前参考数量个视频包,将除前参考数量个视频包以外的其他视频包加入所述解码队列,基于所述解码队列进行视频接收。
11.一种电子设备,其特征在于,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-8任一所述的方法。
12.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416069.1A CN111107104B (zh) | 2019-12-31 | 2019-12-31 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416069.1A CN111107104B (zh) | 2019-12-31 | 2019-12-31 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111107104A true CN111107104A (zh) | 2020-05-05 |
CN111107104B CN111107104B (zh) | 2022-02-18 |
Family
ID=70425392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911416069.1A Active CN111107104B (zh) | 2019-12-31 | 2019-12-31 | 视频发送方法、视频接收方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107104B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017161998A1 (zh) * | 2016-03-24 | 2017-09-28 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、计算机存储介质 |
CN107846621A (zh) * | 2017-09-28 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 延时处理方法、系统和电子设备 |
CN108495142A (zh) * | 2018-04-11 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 视频编码方法及装置 |
CN108540855A (zh) * | 2018-04-18 | 2018-09-14 | 王健 | 一种适用于网络直播场景下的自适应低延时流媒体播放软件 |
CN109327716A (zh) * | 2018-10-31 | 2019-02-12 | 北京达佳互联信息技术有限公司 | 延迟控制方法、延迟控制装置和计算机可读存储介质 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109660879A (zh) * | 2018-12-20 | 2019-04-19 | 广州虎牙信息科技有限公司 | 直播丢帧方法、系统、计算机设备和存储介质 |
CN110177308A (zh) * | 2019-04-15 | 2019-08-27 | 广州虎牙信息科技有限公司 | 移动终端及其录屏中的音视频丢帧方法、计算机存储介质 |
CN110418186A (zh) * | 2019-02-01 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音视频播放方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-31 CN CN201911416069.1A patent/CN111107104B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017161998A1 (zh) * | 2016-03-24 | 2017-09-28 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、计算机存储介质 |
CN107846621A (zh) * | 2017-09-28 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 延时处理方法、系统和电子设备 |
CN108495142A (zh) * | 2018-04-11 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 视频编码方法及装置 |
CN108540855A (zh) * | 2018-04-18 | 2018-09-14 | 王健 | 一种适用于网络直播场景下的自适应低延时流媒体播放软件 |
CN109327716A (zh) * | 2018-10-31 | 2019-02-12 | 北京达佳互联信息技术有限公司 | 延迟控制方法、延迟控制装置和计算机可读存储介质 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109660879A (zh) * | 2018-12-20 | 2019-04-19 | 广州虎牙信息科技有限公司 | 直播丢帧方法、系统、计算机设备和存储介质 |
CN110418186A (zh) * | 2019-02-01 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音视频播放方法、装置、计算机设备和存储介质 |
CN110177308A (zh) * | 2019-04-15 | 2019-08-27 | 广州虎牙信息科技有限公司 | 移动终端及其录屏中的音视频丢帧方法、计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111107104B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110881136B (zh) | 视频帧率控制方法、装置、计算机设备及存储介质 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN110022489B (zh) | 视频播放方法、装置及存储介质 | |
CN110368689B (zh) | 游戏界面的显示方法、系统、电子设备及存储介质 | |
CN109788303B (zh) | 直播视频流的推送方法、装置、电子设备及存储介质 | |
CN110324689B (zh) | 音视频同步播放的方法、装置、终端及存储介质 | |
CN110572722A (zh) | 视频剪辑方法、装置、设备及可读存储介质 | |
CN108769738B (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
CN112929654B (zh) | 检测音画同步的方法、装置、设备及存储介质 | |
CN110213308A (zh) | 一种解码视频数据的方法及装置 | |
CN108900921A (zh) | 连麦直播方法、装置及存储介质 | |
CN111787347A (zh) | 直播时长计算方法、直播显示方法、装置及设备 | |
CN111092991B (zh) | 歌词显示方法及装置、计算机存储介质 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN111083554A (zh) | 直播礼物显示的方法和装置 | |
CN111586433B (zh) | 码率调整方法、装置、设备及存储介质 | |
CN111131272B (zh) | 流服务器的调度方法、装置及系统、计算设备、存储介质 | |
CN110113669B (zh) | 获取视频数据的方法、装置、电子设备及存储介质 | |
CN109714628B (zh) | 播放音视频的方法、装置、设备、存储介质及系统 | |
CN110321059B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN111107104B (zh) | 视频发送方法、视频接收方法、装置、设备及存储介质 | |
CN112153404B (zh) | 码率调整方法、检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |