所属的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。基于相同的发明构思,本技术实施例还提供一种电子设备。在一种实施例中,该电子设备可以是数据发送端,也可以是终端设备。参阅图13所示,其为本技术实施例中提供的一种可能的电子设备的结构示意图,图13中,电子设备1300包括:处理器1310和存储器1320。其中,存储器1320存储有可被处理器1310执行的计算机程序,处理器1310通过执行存储器1320存储的指令,可以执行上述音视频数据传输方法的步骤。存储器1320可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1320也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器1320是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1320也可以是上述存储器的组合。处理器1310可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器1310,用于执行存储器1320中存储的计算机程序时实现上述音视频数据传输方法。在一些实施例中,处理器1310和存储器1320可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。本技术实施例中不限定上述处理器1310和存储器1320之间的具体连接介质。本技术实施例中以处理器1310和存储器1320之间通过总线连接为例,总线在图13中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线可以分为地址总线、数据总线、控制总线等。为便于描述,图13中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。基于同一发明构思,本技术实施例提供了一种计算机可读存储介质,其包括计算机程序,当计算机程序在电子设备上运行时,计算机程序用于使电子设备执行上述音视频数据传输方法的步骤。在一些可能的实施方式中,本技术提供的音视频数据传输方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行上述音视频数据传输方法中的步骤,例如,电子设备可以执行如图3中所示的步骤。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、ram、rom、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(compact disk read only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。本技术的实施方式的程序产品可以采用cd-rom并包括计算机程序,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被命令执行系统、装置或者器件使用或者与其结合使用。可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的计算机程序。尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
背景技术:
1、随着音视频技术的不断发展,网络直播业务、音视频点播业务、音视频通话等各种形式的音视频业务,给对象带给了多样化的使用体验。然而,音视频业务主要依赖网络传输服务来实现,因此,音视频数据的传输过程至关重要。
2、相关技术中,数据发送端将音视频数据传输至客户端时,根据实时的网络状态(如丢包率、时延等),通过协议改进、拥塞控制等方式,调整音视频数据的发送策略,以确保客户端接收到完整的音视频数据,保证音视频的播放质量。
3、然而,客户端的音视频播放效果并不完全取决于网络传输性能,还可能与客户端的播放器缓存情况相关,如果数据发送端仅根据网络传输性能来调整数据发送策略,无法及时、有效地调整数据发送策略,严重影响数据发送效率和音频播放效果,此外,由于播放器缓存具有高度动态性,数据发送端无法及时感知客户端的播放器缓存情况,从而导致数据发送端难以根据播放器缓存情况调整数据发送策略,影响流量控制效果。
4、例如,音视频数据在传输过程中发生丢包,若客户端的播放器缓存中的缓存数据较少,此时,即便根据网络传输性能进行报文重传,将丢失的报文重传至客户端时,由于客户端无缓存数据,仍会出现播放卡顿。
技术实现思路
1、本技术实施例提供一种音视频数据传输方法及相关装置,用以提高数据传输效率和音视频播放质量。
2、第一方面,本技术实施例提供一种音视频数据传输方法,包括:
3、获取待传输的各音视频帧,并分别向数据接收端发送所述各音视频帧各自的流量报文集,以及分别接收所述数据接收端返回的各响应报文;
4、当基于所述各响应报文,确定所述数据接收端接收到所述各音视频帧中的至少一个完整帧时,基于所述各音视频帧的播放顺序,从所述至少一个完整帧中,检测支持所述数据接收端完整播放的可播放帧;
5、基于检测结果,获得所述数据接收端的预测缓存状态,并采用针对所述预测缓存状态预设的数据传输策略,向所述数据接收端发送新的待传输音视频帧。
6、第二方面,本技术实施例提供一种音视频数据传输装置,包括:
7、流量收发单元,用于获取待传输的各音视频帧,并分别向数据接收端发送所述各音视频帧各自的流量报文集,以及分别接收所述数据接收端返回的各响应报文;
8、帧完整度感知单元,用于当基于所述各响应报文,确定所述数据接收端接收到所述各音视频帧中的至少一个完整帧时,基于所述各音视频帧的播放顺序,从所述至少一个完整帧中,检测支持所述数据接收端完整播放的可播放帧;
9、播放器缓存预测单元,用于基于检测结果,获得所述数据接收端的预测缓存状态,并采用针对所述预测缓存状态预设的数据传输策略,向所述数据接收端发送新的待传输音视频帧。
10、第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述方法的步骤。
11、第四方面,本技术实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述方法的步骤。
12、第五方面,本技术实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质中读取并执行所述计算机程序,使得电子设备执行上述方法的步骤。
13、本技术实施例中,数据发送端向数据接收端发送待传输的各音视频帧各自的流量报文集,并接收数据接收端返回的各响应报文,然后,当基于各响应报文,确定数据接收端接收到各音视频帧中的至少一个完整帧时,基于各音视频帧的播放顺序,从至少一个完整帧中,检测支持数据接收端完整播放的可播放帧,之后,基于检测结果,获得数据接收端的预测缓存状态,并采用针对预测缓存状态预设的数据传输策略,向数据接收端发送新的待传输音视频帧。
14、这样,数据发送端通过响应报文,确定各音视频帧中,客户端完整接收到的音视频帧,以及预测支持客户端完整播放的音视频帧,从而赋予数据发送端预测客户端播放器缓存信息的能力,从而根据预测的客户端播放器缓存信息的能力,可以及时、有效地调整数据发送策略,提高了数据传输效率,提升了音视频播放效果,此外,基于采用针对预测缓存状态(如数据充足状态或数据不足状态)预设的数据传输策略进行后续的数据传输,可以更好地适配音视频直播场景下客户端的业务体验需求,从而提升服务提供方的音视频服务质量,进而提升对象使用感受。
15、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种音视频数据传输方法,其特征在于,应用于数据发送端,包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述各音视频帧的播放顺序,从所述至少一个完整帧中,检测支持所述数据接收端完整播放的可播放帧,包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述至少一个其他帧各自对应的检测结果,检测所述一个完整帧是否为支持所述数据接收端完整播放的可播放帧,包括:
4.如权利要求1、2或3所述的方法,其特征在于,所述基于检测结果,获得所述数据接收端的预测缓存状态,包括:
5.如权利要求4所述的方法,其特征在于,所述缓存评估信息包括:所述数据接收端中缓存的音视频帧的缓存数量和缓存时长;
6.如权利要求4所述的方法,其特征在于,所述基于所述缓存评估信息,获得所述数据接收端的预测缓存状态,包括:
7.如权利要求1、2或3所述的方法,其特征在于,所述采用针对所述预测缓存状态预设的数据传输策略,向所述数据接收端发送新的待传输音视频帧,包括:
8.如权利要求7所述的方法,其特征在于,所述基于针对所述预测缓存状态预设的数据传输策略,对所述初始传输参数进行调整,获得目标传输参数,包括:
9.如权利要求1、2或3所述的方法,其特征在于,所述各音视频帧的播放顺序是通过以下方式确定的:
10.如权利要求1、2或3所述的方法,其特征在于,所述基于所述各响应报文,确定所述数据接收端接收到所述各音视频帧中的至少一个完整帧,包括:
11.一种音视频数据传输装置,其特征在于,包括:
12.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~10中任一所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~10中任一所述方法的步骤。
14.一种计算机程序产品,其特征在于,其包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得所述电子设备执行权利要求1~10中任一所述方法的步骤。