CN116055810A - 音视频播放方法、装置、系统、电子设备及存储介质 - Google Patents

音视频播放方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116055810A
CN116055810A CN202310096241.XA CN202310096241A CN116055810A CN 116055810 A CN116055810 A CN 116055810A CN 202310096241 A CN202310096241 A CN 202310096241A CN 116055810 A CN116055810 A CN 116055810A
Authority
CN
China
Prior art keywords
audio
video
playing
data
server
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.)
Pending
Application number
CN202310096241.XA
Other languages
English (en)
Inventor
胡纪祥
李琨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310096241.XA priority Critical patent/CN116055810A/zh
Publication of CN116055810A publication Critical patent/CN116055810A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Abstract

本申请提供了一种音视频播放方法、装置、系统、电子设备及存储介质。音视频播放方法包括:响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;在第一时长大于时长阈值的情况下,向音视频生成设备发送第一控制信号;获取音视频生成设备基于第一控制信号反馈的实时音视频数据;向音视频播放设备发送实时音视频数据;实时音视频数据的第一帧为关键帧。依据本申请提供的技术方案,可以减少单次播放时的瞬时流量,避免过多的流量消耗,进而降低互联网带宽的负荷和成本。

Description

音视频播放方法、装置、系统、电子设备及存储介质
技术领域
本申请涉及音视频处理技术领域,尤其涉及一种音视频播放方法、装置、系统、电子设备及存储介质。
背景技术
近年来,随着互联网的发展,网络带宽成本逐步的降低,大量物联网音视频设备直接通过互联网接入到云服务,越来越多的用户能够通过手机、平板电脑等终端设备随时随地查看视频设备的音视频直播。在基于物联网音视频设备的直播场景中,首屏播放速度是影响用户体验的核心指标,为了提高播放速度以快速打开直播视频,往往会先缓存部分音视频数据,当有新用户观看直播时,会先向用户发送缓存数据,再发送实时直播数据,然而当缓存的数据较多时,每次观看时会因发送较多的缓存数据导致流量增加,进而增加了互联网带宽的负荷和成本。
发明内容
本申请实施例提供一种音视频播放方法、装置、系统、电子设备及存储介质,以解决现有技术存在的问题。
第一方面,本申请实施例提供了一种音视频播放方法,应用于服务器,该方法包括:
响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;
在第一时长大于时长阈值的情况下,向音视频生成设备发送第一控制信号;
获取音视频生成设备基于第一控制信号反馈的实时音视频数据;
向音视频播放设备发送实时音视频数据;实时音视频数据的第一帧为关键帧。
第二方面,本申请实施例提供了一种音视频播放方法,应用于音视频生成设备,方法包括:
响应于来自服务器的第一控制信号,生成实时音视频数据;第一控制信号是服务器通过本申请实施例第一方面提供的音视频播放方法传输至音视频生成设备的;
向服务器发送实时音视频数据。
第三方面,本申请实施例提供了一种音视频播放方法,应用于音视频播放设备,方法包括:
向服务器发送播放请求;
接收服务器响应于播放请求反馈的实时音视频数据;实时音视频数据是服务器通过本申请实施例第一方面提供的音视频播放方法传输至音视频播放设备的;
播放实时音视频数据。
第四方面,本申请实施例提供了一种音视频播放装置,应用于服务器,装置包括:
分析模块,用于响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;
控制模块,用于在第一时长大于时长阈值的情况下,向音视频生成设备发送第一控制信号;
获取模块,用于获取音视频生成设备基于第一控制信号反馈的实时音视频数据;
发送模块,用于向音视频播放设备发送实时音视频数据;实时音视频数据的第一帧为关键帧。
第五方面,本申请实施例提供了一种音视频播放装置,应用于音视频生成设备,装置包括:
生成模块,用于响应于来自服务器的第一控制信号,生成实时音视频数据;第一控制信号是服务器通过本申请实施例第一方面提供的音视频播放方法传输至音视频生成设备的;
发送模块,用于向服务器发送实时音视频数据。
第六方面,本申请实施例提供了一种音视频播放装置,应用于音视频播放设备,该装置包括:
请求模块,用于向服务器发送播放请求;
接收模块,用于接收服务器响应于播放请求反馈的实时音视频数据;实时音视频数据是服务器通过本申请实施例第一方面提供的音视频播放方法传输至音视频播放设备的;
播放模块,用于播放实时音视频数据。
第七方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请实施例第一方面提供的音视频播放方法。
第八方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请实施例第二方面提供的音视频播放方法。
第九方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请实施例第三方面提供的音视频播放方法。
第十方面,本申请实施例提供了一种音视频播放系统,包括:服务器、音视频生成设备和音视频播放设备;
服务器为本申请实施例第七方面提供的电子设备,音视频生成设备为本申请实施例第八方面提供的电子设备,音视频播放设备为本申请实施例第九方面提供的电子设备;
音视频生成设备和服务器之间通过互联网通信,服务器和音视频播放设备之间通过互联网通信。
第十一方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上本申请实施例提供的任意一种音视频播放方法。
与现有技术相比,本申请具有如下优点:
依据本申请实施例提供的音视频播放方案,可利用缓存数据的可播放时长即第一时长来反映缓存数据的数据量大小,在第一时长大于设定的时长阈值,可认为第一时长较长,对应的缓存数据的数据量较大,此时通过第一控制信号控制音视频生成设备生成并反馈新的音视频数据即上述实时音视频数据,从而可将新的音视频数据反馈至音视频播放设备,使音视频播放设备可以播放新的音视频播放设备,而无需播放缓存数据,在保证直播快速播放的同时可减少单次播放时的瞬时流量,避免过多的流量消耗,进而降低互联网带宽的负荷和成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请实施例提供的音视频播放方案的应用场景的示意图;
图2为本申请实施例提供的一种音视频播放方法的流程示意图;
图3为本申请实施例提供的另一种音视频播放方法的流程示意图;
图4为本申请实施例提供的又一种音视频播放方法的流程示意图;
图5为本申请实施例中服务器、音视频生成设备和音视频播放设备的一种交互原理的示意图;
图6为本申请实施例中服务器、音视频生成设备和音视频播放设备的另一种交互原理的示意图;
图7为本申请实施例提供的一种音视频播放装置的结构框架示意图;
图8为本申请实施例提供的另一种音视频播放装置的结构框架示意图;
图9为本申请实施例提供的又一种音视频播放装置的结构框架示意图;
图10为本申请实施例提供的各音视频播放装置之间的数据流向示意图;
图11为本申请实施例提供的一种电子设备的结构框架示意图;
图12为本申请实施例提供的另一种电子设备的结构框架示意图;以及
图13为本申请实施例提供的又一种电子设备的结构框架示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
首先对本申请涉及的部分技术术语进行如下介绍:
视频编码:通过压缩技术,将原始视频数据转换成另一种视频格式文件的方式。目前视频流传输中最为重要的编解码标准有国际电联的H.264(一种视频压缩编码标准),运动静止图像专家组的M-JPEG(Motion-Join Photographic Experts Group,运动静止图像或逐帧压缩技术)和国际标准化组织运动图像专家组的MPEG(Moving Pictures ExpertsGroup,运动图像专家组)系列标准。
H.264:H.264/AVC(Advanced Video Coding,高级视频编码)主要支持4:2:0格式的连续编解码或者隔行视频编解码,4:2:2和4:4:4可作为参考信息帧数。H.264/AVC采用了经典的运动补偿混合编码框架,共有3种编码图像:I帧(Intra coded frames,帧内编码帧,也称关键帧)、P帧(Predicted frames,前向预测编码帧)和B帧(Bi directionalpredicted frames,双向预测内插编码帧)。
H.265(一种视频压缩编码标准):H.265是ITU-T VCEG(Video Coding ExpertsGroup,视频编码专家组)继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。相对H.265,数据压缩率提升了40-50%。
I帧:I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧使用帧内压缩,不使用运动补偿,由于I帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧。I帧主要用于进行接收机的初始化和信道的获取,以及节目的切换和插入,I帧图像的压缩倍数相对较低,数据量相对P帧较大。I帧图像是周期性出现在图像序列中的,出现频率可由编码器选择。
P帧:P帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。
B帧:B帧图像采用双向时间预测,可以大大提高压缩倍数。值得注意的是,由于B帧图像采用了未来帧作为参考。
帧率:帧率是以帧为单位的位图图像连续出现在显示器上的频率(速率),帧率也可以称为帧频率,并以赫兹(Hz)表示。每秒的帧率表示图形处理器处理场时每秒钟能够更新的次数,高的帧率可以得到更流畅、更逼真的动画;每秒钟帧数(帧率)愈多,所显示的动作就会愈流畅。
GOP(Group of Pictures,画面组):一个GOP就是一组连续的画面,GOP是序列中的一个图片集,用来辅助随机存取。GOP的第一个图像必须为I帧,这样就能保证GOP不需要参考其他图像,可以独立解码。
GOP单元:指仅包含一个I帧的GOP。
由于音视频编码的特性,在播放时通常需要进行解码,首帧解码通常先从I帧开始解码,因此,在缓存音视频数据时,需要保存至少一个GOP单元的数据量,通常会保存多个GOP单元的数据量,多个GOP单元中的数据量较大,在快速播放时,瞬时流量会翻数倍。在物联网场景中,多数直播观看的时长低于20秒,并且播放设备归属于个人,播放频率通常较低。大量的直接缓存数据会导致每次观看直播时流量增加,从而增加了互联网带宽负荷和成本。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
图1为示例性的用于实现本申请实施例的方法的一个应用场景的示意图。本申请实施例提供的技术方案可应用于如图1所示的音视频播放系统,该音视频播放系统可以包括音视频生成设备101、服务器102和音视频播放设备103,音视频生成设备101和服务器102之间可以通过互联网通信,音视频播放设备103和服务器102之间可以通过互联网通信。音视频生成设备101可以用于采集音视频数据、对所采集的音视频数据进行编码、传输编码后的音视频数据、接收和处理服务器发送的控制信号等,音视频播放设备103可以用于向服务器发送播放请求、接收服务器发送的音视频数据、播放音视频数据等,服务器102可以用于接收音视频生成设备上传的音视频数据、缓存音视频数据、向音视频播放设备发送请求播放的音视频数据、向音视频播放设备发送控制信号等。
音视频生成设备101可以是摄像装置或具有摄像功能的手机、计算机等终端设备,音视频播放设备103可以播放器或具有播放功能的手机、计算机等终端设备。音视频播放设备103的数量可以是多个,不同的音视频播放设备103可以是相同的终端设备,例如均为播放器,也可以是不同的终端设备,例如部分音视频播放设备103是播放器,另一部分的音视频播放设备103是具有播放功能的手机。
参照图2,本申请实施例提供了一种音视频播放方法200,可应用于服务器,该方法可以包括如下步骤:S201,响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;S202,在缓存数据的第一时长大于设定的时长阈值的情况下,向音视频生成设备发送第一控制信号;S203,获取音视频生成设备基于第一控制信号反馈的实时音视频数据;S204,向音视频播放设备发送实时音视频数据。其中,实时音视频数据的第一帧可以是关键帧。
上述播放请求可以包括来自一个音视频播放设备的播放请求,也可以包括来自多个音视频播放设备的播放请求。当上述播放请求包括来自一个音视频播放设备的播放请求时,该播放请求可以是单次播放对应的播放请求;当上述播放请求包括来自多个音视频播放设备的播放请求时,对于每个音视频播放设备而言,其播放请求可以是单次播放对应的播放请求。
上述缓存数据可以是预先缓存在缓存区的音视频数据,缓存的音视频数据可以是音视频生成设备上传的音视频数据,音视频数据可以包括音频数据和视频数据中的至少一种数据。缓存数据可以包括至少一个GOP单元的数据,在一个示例中,可以缓存一个GOP单元的数据。缓存区可以是先进先出的数据结构队列,从而对音视频生成设备上传的音视频数据的缓存可以是先进先出的形式,例如,每次接收到新的GOP单元的数据时,删除已缓存的旧的GOP单元的数据,将接收到的新的GOP单元的数据缓存于缓存区中,即在缓存区中用新的GOP单元的数据替换旧的GOP单元的数据,可使缓存区始终缓存最新的GOP单元的数据。在另一个示例中,若服务器接收到的前K帧(K可以是任意正整数)数据不是关键帧,可跳过前K帧数据即不对前K帧数据进行缓存,直到接收到一个关键帧数据后,对该关键帧数据进行缓存,在存储了该关键帧数据之后,可以继续对后续接收到的非关键帧(P帧或B帧)进行缓存,直至完成当前GOP单元(即接收到的第一个关键帧所属的GOP单元)中的所有帧数据的缓存,在接收到下一个关键帧时,可删除已缓存的所有音视频数据,重新从下一个关键帧开始缓存。
上述音视频数据可以包括音频数据和视频数据中的至少一种数据,在一个示例中,缓存区可以包括音频缓存区和视频缓存区,分别用于缓存音频数据和视频数据,在另一个示例中,可以不区分音频缓存区和视频缓存区,音频数据和视频数据可以缓存于一个统一的缓存区。
上述第一时长可以是缓存数据可以持续播放的时长,例如缓存数据中各帧数据可以播放的总时长,缓存数据中各帧数据可以携带时间戳信息,第一时长可以基于各帧数据的时间戳信息确定出。上述实时音视频数据可以包括一帧数据或多帧数据,在包括一帧数据时,可以是关键帧数据,此时,实时音视频数据的第一帧即为唯一的一帧,即该关键帧,在包括多帧数据时,可以包括一个GOP单元的数据,也可以包括多个GOP单元的数据,此时,实时音视频数据的第一帧可以是第一个GOP单元的第一帧即关键帧。
在上述音视频播放方法200中,可利用缓存数据的可播放时长即上述第一时长来反映已缓存的音视频数据的数据量大小,在第一时长大于设定的时长阈值,可认为第一时长较长,对应的缓存数据的数据量较大,此时通过第一控制信号控制音视频生成设备生成并反馈新的音视频数据即上述实时音视频数据,从而可将新的音视频数据反馈至音视频播放设备,使音视频播放设备可以播放新的音视频播放设备,而无需播放缓存数据,在保证直播快速播放的同时可减少单次播放时的瞬时流量,避免过多的流量消耗,进而降低互联网带宽的负荷和成本。
在一种实施方式中,上述时长阈值可以是预先设定的时长,该种时长阈值可以是固定的时长阈值,具体数值可以根据实际需求设置,例如2秒、5秒或10秒。
在另一种实施方式中,上述播放请求中可以包括目标播放时长的信息,上述时长阈值可以是该目标播放时长。目标播放时长可以体现音视频播放设备的播放需求,例如在一次播放中需要播放多久的数据,以目标播放时长作为时长阈值,可以实现基于音视频播放设备的播放需求判断缓存数据的数据量,相对于固定的时长阈值,不同的音视频播放设备可以上传不同的播放请求,不同的播放请求中可以包括不同的目标播放时长的信息,从而目标播放时长可以是灵活的、与具体的音视频播放设备适配的,基于目标播放时长确定的缓存数据的数据量并基于数据量确定播放策略,可以满足不同的音视频播放设备的播放需求。
在一种实施方式中,上述音视频播放方法200还可以包括:在第一时长小于或等于时长阈值的情况下,向音视频播放设备发送缓存数据。参照前面的介绍,缓存数据的第一时长可以用于表征缓存数据的数据量的大小,在第一时长小于或等于时长阈值的情况下,可认为第一时长较小,对应的缓存数据的数据量较小,将缓存数据发送给音视频播放设备播放,不会导致单次播放的瞬时流量过大,因此在此种情况下优先发送缓存数据给音视频播放设备,以便快速播放,满足直播的速度需求。
在一种实施方式中,在上述步骤S201中,确定缓存数据的第一时长是否大于设定的时长阈值,可以包括:确定音视频播放设备的设备类型,在设备类型为低频播放设备的情况下,确定第一时长是否大于时长阈值。
确定音视频播放设备的设备类型的具体方式可以包括:基于对各音视频播放设备的播放请求进行接收的接收频率,确定音视频播放设备的设备类型。在服务器和各音视频播放设备的交互过程中,在同一时段,不同的音视频播放设备均可以向服务器上传播放请求,从而服务器在同一时段接收到来自不同音视频播放设备的多次播放请求,进而可确定该时段内服务器接收播放请求的接收频率,即单位时间内的接收到的播放请求的次数,基于该接收频率可确定服务器所连接的各音视频播放设备的设备类型是高频播放设备还是低频播放设备。
在基于接收频率确定音视频播放设备的设备类型时,可以根据实际需求设置相应的频率阈值,根据接收频率和频率阈值的大小关系来确定设备类型。例如,可以设置一个频率阈值N,在接收频率大于该频率阈值N时,可确定服务器所连接的各音视频播放设备的设备类型均为高频播放设备,在接收频率小于或等于该频率阈值N时,可确定服务器所连接的各音视频播放设备的设备类型为低频插放设备。
在一个示例中,在接入当前服务器的音视频播放设备的数量较多的情况下,每个音视频播放设备均可以向当前服务器发送播放请求,因此当前服务器接收到的播放请求的次数较多,从而接收频率也较高,此时可认为接入当前服务器的每个音视频播放设备均为高频播放设备。在接入当前服务器的音视频播放设备的数量较少的情况下,当前服务器接收到的播放请求的次数较少,从而接收频率也较低,此时可认为接入当前服务器的每个音视频播放设备均为低频播放设备。
在一个示例中,通过上述方式确定出设备类型后可存储该设备类型的信息,在后续某个时刻需要对针对同一音视频播放设备确定设备类型时,可基于已存储的设备类型的信息来确定。在一个示例中,服务器可以存储接入的音视频播放设备的设备标识,同一音视频播放设备的设备标识和设备类型可以对应存储,以便在需要再次确定该视频播放设备的设备类型,可基于设备标识快速查找对应的设备类型。
在设备类型是低频播放设备的情况下,由于播放频率较低,即使每次播放都需要放弃缓存数据而播放重新生成的实时音视频数据,重新生成实时音频频数据的频率也不会过高,不会因生成频率过高而增加数据量,因此可对针对低频播放设备判断缓存数据的数据量,进而可在缓存数据的数据量较大时避免向音视频播放设备反馈缓存数据。在设备类型是高频播放设备的情况下,由于播放频率较高,若以重新生成的实时音视频数据替代缓存数据,重新生成实时音视频数据的频率会通常较高,实时音视频数据通常包括I帧,I帧数据量较大,从而以重新生成的实时音视频数据替代缓存数据,减小数据量的效果并不明显,反而有可能增加数据量,因此可不对缓存数据的数据量进行判断,无论缓存数据的数据量大还是小,均向音视频播放设备发送缓存数据。
在物联网场景中,大多数设备是低频播放设备,本申请实施例的方案可适用于物联网场景中的大部分设备,并具有较好的减少发送数据量的效果。在一个示例中,一种低频播放设备的编码方式为H265编码,I帧间隔时长为设置为10秒,帧率为25fps(Frame PerSecond,每秒传输帧数),I帧平均大小为100KB(千字节),P帧平均大小为15KB,若播放100次,每次播放的时长为10秒,播放间隔为20秒,若采用播放缓存数据的方式来播放,则服务器向音视频播放设备发送的数据量的平均值约为5795KB,采用本申请实施例的方案进行播放,服务器向音视频播放设备发送的数据量的平均值约为3927KB,数据量可降低33.2%。
在一种实施方式中,上述音视频播放方法200还可以包括:确定该音视频播放设备的设备类型,在设备类型为低频播放设备的情况下,向音视频生成设备发送第二控制信号。第二控制信号可以用于控制音视频编码设备执行第一编码操作,第一编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,第二时长可以大于预设的间隔阈值。其中,关键帧间隔时长可以是相邻两个关键帧的起始时刻之间的时长,例如对于相邻的两个关键帧A和B,关键帧A的起始时刻至关键帧B的起始时刻之间的时长即为关键帧间隔时长。确定音视频播放设备的设备类型的具体方式可以是参照前面的介绍,此处不再赘述。
间隔阈值可以根据各音视频播放设备的播放频率的整体情况结合实际需求设置,第二时长可以是与服务器在针对低频播放设备接收播放请求的接收频率匹配的时长,可以基于该接收频率确定对应的第二时长,也可以根据实际需求在大于间隔阈值的数值范围中选择一个较大的数值作为第二时长,例如10秒或15秒,第二控制信号中可携带第二时长的信息。
基于接收频率确定音视频播放设备的设备类型的具体方式可以参照前面的介绍,此处不再赘述。在音视频播放设备为低频播放设备时,可通过第二控制信号控制音视频生成设备在编码操作中设置第二时长,即将关键帧间隔时长设置为一个较大的时长,该操作可降低关键帧的生成频率,关键帧的数据量通常比P帧或B帧的数据量大几倍甚至几十倍,降低关键帧的生成频率可以避免频繁生成新的关键帧,进而可以避免整体发送数据量过大。
在一种实施方式中,上述音视频播放方法200还可以包括:在音视频播放设备的设备类型为高频播放设备的情况下,向音视频生成设备发送第三控制信号。第三控制信号可以用于控制音视频生成设备执行第二编码操作,第二编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,第三时长可以小于或等于上述间隔阈值。
第三时长可以是与服务器针对该高频播放设备接收播放请求的接收频率所匹配的时长,可以基于该接收频率确定对应的第三时长,也可以根据实际需求在小于或等于间隔阈值的数值范围中选择一个较小的数值作为第三时长,例如可以是2秒或3秒,第三控制信号中可携带第三时长的信息。
在音视频播放设备为高频播放设备时,可通过第三控制信号控制音视频生成设备在编码操作中设置第三时长,即将关键帧间隔时长设置为一个较小的时长,该操作可提高关键帧的生成频率,以满足高频播放的需求。
在服务器所接入的音视频播放设备的设备类型动态变化的情况下,例如A时段接入的音视频播放设备为低频播放设备,B时段接入的音视频播放设备变为高频设备,C时段接入的音视频播放设备再次变为低频设备,服务器发出的控制信号可以随设备类型的变化而变化,由第二控制信号变为第三控制信号再变为第二控制信号,从而可控制音视频生成设备动态调整关键帧间隔时长。
在一种实施方式中,上述音视频播放方法200还可以包括:将缓存数据更新为实时音视频数据,实时音视频数据的更新方式为先进先出,可删除原本的缓存数据,将实时音视频数据存储于缓存区,作为新的缓存数据,在有新的音视频播放设备接入服务器并发送播放请求时,可向新的音视频播放设备发送新后的缓存数据,以使新接入的音视频播放设备实现快速播放。
基于同一技术构思,参照图3,本申请实施例还提供了一种音视频播放方法300,可应用于如图1所示的音视频生成设备,该方法可以包括如下步骤:S301,响应于来自服务器的第一控制信号,生成实时音视频数据;S302,向服务器发送实时音视频数据。其中,第一控制信号可以是服务器通过上述音视频播放方法200的任意一种实施方式传输至音视频生成设备的。
通过上述音视频播放方法300,可以在接收到服务器发送的第一控制信号的情况下,生成实时音视频数据并向服务器反馈实时音视频数据,使得服务器可以向音视频播放设备转发实时音视频数据,而无需向音视频播放设备发送缓存数据,从而在缓存数据的数据量较大时,通过转发实时音视频数据可以减小单次播放的数据量。
在上述步骤S301中,生成实时音视频数据的具体方式可以是:采集实时的初始音视频数据,对采集到的初始音视频数据进行编码,生成I帧、P帧、B帧等帧数据,将编码后的数据作为待向服务器发送的实时音视频数据。采集实时的初始音视频数据可以包括采集实时的音频数据和视频数据中的至少一种数据,例如通过音视频生成设备中的语音接收器实时采集音频信号,和/或,通过音视频生成设备中的摄像头实时拍摄视频。在上述步骤S302中,向服务器发送实时音视频数据的操作可通过互联网来实现。
在一种实施方式中,上述音视频播放方法300还可以包括:响应于来自服务器的第二控制信号,执行第一编码操作,第一编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,第二时长可以大于预设的间隔阈值。
第二时长可以是与服务器针对各低频播放设备接收播放请求的接收频率所匹配的时长,可以基于该接收频率确定对应的第二时长,也可以根据实际需求设置一个较大的数值(例如大于某个设定的间隔阈值,例如5秒)作为第二时长,例如10秒或15秒,第二控制信号中可携带第二时长的信息。
在第二控制信号的控制下,上述第一编码操作可将关键帧间隔时长设置为一个较大的时长,以降低关键帧的生成频率,关键帧的数据量通常比P帧或B帧的数据量大数倍,降低关键帧的生成频率可以避免频繁生成新的关键帧,进而可以避免服务器的整体发送数据量过大。
在一种实施方式中,上述音视频播放方法300还可以包括:响应于来自服务器的第三控制信号,执行第二编码操作,第二编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,第三时长可以小于或等于上述间隔阈值。
第三时长可以是与服务器针对各高频播放设备接收播放请求的接收频率所匹配的时长,可以基于该接收频率确定对应的第三时长,也可以根据实际需求设置一个较小的数值(例如小于某个设定的间隔阈值,例如5秒)作为第三时长,例如可以是2秒或3秒,第三控制信号中可携带第三时长的信息。
在第三控制信号的控制下,上述第二编码操作可将关键帧间隔时长设置为一个较小的时长,以提高关键帧的生成频率,从而满足高频播放的需求。
在服务器发出的控制信号动态变化时,例如由第二控制信号变为第三控制信号再变为第二控制信号,音视频生成设备可以动态调整关键帧间隔时长。
基于同一技术构思,参照图4,本申请实施例还提供了一种音视频播放方法400,可应用于如图1所示的任意一个音视频播放设备,该方法可以包括如下步骤:S401,向服务器发送播放请求;S402,接收服务器响应于该播放请求反馈的实时音视频数据;S403,播放音视频数据。其中,实时音视频数据可以服务器通过上述音视频播放方法400的任意一种实施方式传输至音视频播放设备的。
通过上述音视频播放方法400,音视频播放设备可以获取并播放实时音视频数据,而无需播放服务器中数据量较大的缓存数据,从而可减少单次播放的数据量,有效地减少单次播放的流量,降低互联网带宽的负荷和成本。
在一种实施方式中,在服务器判断缓存数据的数据量较小并反馈了缓存数据时,音视频播放设备可接收并播放缓存数据。
音视频播放设备接收实时音视频数据或缓存数据,可以通过互联网来实现。音视频播放设备播放实时音视频数据或缓存数据的具体方式可以包括:对接收到的实时音视频数据或缓存数据进行解码,播放解码后的数据,播放之前还可以对解码后的数据进行渲染,播放解码并渲染后的数据。
示例性的,基于上述音视频播放方法200、音视频播放方法300和音视频播放方法400的部分实施方式,图5示出了服务器、音视频生成设备和音视频播放设备的一种交互原理示意图。参照图5,服务器、音视频生成设备和音视频播放设备的交互可以包括以下步骤S501至S510:
S501,音视频播放设备向服务器发送播放请求;
S502,响应于播放请求,服务器确定音视频播放设备是否为低频播放设备,若是,则执行步骤S503,若否,则执行步骤S509;
S503,确定缓存数据的第一时长是否大于预设的时长阈值,若是,若执行步骤S504,若否,则执行步骤S509;
S504,服务器向音视频生成设备发送第一控制信号;
S505,响应于第一控制信号,音视频生成设备生成实时音视频数据;
S506,音视频设备向服务器反馈实时音视频数据;
S507,服务器向音视频播放设备转发实时音视频数据;
S508,音视频播放设备播放接收到的实时音视频数据,然后结束当前播放流程;
S509,服务器向音视频播放设备发送缓存数据;
S510,音视频播放设备播放接收到的缓存数据,然后结束当前播放流程。
示例性的,图6示出了基于上述音视频播放方法200、音视频播放方法300和音视频播放方法400的部分实施方式,服务器、音视频生成设备和音视频播放设备的另一种交互原理示意图。参照图6,服务器、音视频生成设备和音视频播放设备的交互可以包括以下步骤S601至S607:
S601,音视频播放设备向服务器发送播放请求;
S602,服务器接收播放请求并确定对播放请求的接收频率;
S603,服务器根据接收频率确定音视频播放设备的设备类型,在设备类型为低频播放设备的情况下,执行步骤S604,在设备类型为高频播放设备的情况下,执行步骤S606;
S604,服务器向音视频生成设备发送第二控制信号;
S605,音视频生成设备执行第一编码操作,然后结束当前流程;
S606,服务器向音视频生成设备发送第三控制信号;
S607,音视频生成设备执行第二编码操作,然后结束当前流程。
图5所示的各交互步骤和图6所示的各交互步骤可以同步执行,图5所示的各交互步骤和图6所示的各交互步骤的具体原理可以参照前面的相关介绍。
基于同一技术构思,参照图7,本申请实施例还提供一种音视频播放装置700,可应用于服务器,该装置可以包括:分析模块701、控制模块702、获取模块703和发送模块703。
分析模块701,用于响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;控制模块702,用于在缓存数据的第一时长大于时长阈值的情况下,向音视频生成设备发送第一控制信号;获取模块703,用于获取音视频生成设备基于第一控制信号反馈的实时音视频数据;发送模块704,用于向音视频播放设备发送实时音视频数据。实时音视频数据的第一帧为关键帧。
在一种实施方式中,播放请求中可以包括目标播放时长的信息,时长阈值可以是该目标播放时长。
在一种实施方式中,发送模块704还可以用于:在缓存数据的第一时长小于或等于时长阈值的情况下,向音视频播放设备发送缓存数据。
在一种实施方式中,分析模块701可以具体用于:确定该音视频播放设备的设备类型,在设备类型为低频播放设备的情况下,确定第一时长是否大于时长阈值。
在一种实施方式中,分析模块701还可以用于确定该音视频播放设备的设备类型。控制模块702还可以用于:在设备类型为低频播放设备的情况下,向音视频生成设备发送第二控制信号。第二控制信号用于控制音视频生成设备执行第一编码操作,第一编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,第二时长可以大于预设的间隔阈值。
在一种实施方式中,控制模块702还可以用于:在设备类型为高频播放设备的情况下,向音视频生成设备发送第三控制信号。第三控制信号用于控制音视频生成设备执行第二编码操作,第二编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,第三时长可以小于间隔阈值。
在一种实施方式中,上述音视频播放装置700还可以包括:缓存模块,可用于将缓存数据更新为实时音频数据。实时音视频数据的更新方式可以是先进先出。
基于同一技术构思,参照图8,本申请实施例还提供了一种音视频播放装置800,可应用于音视频生成设备,该装置可以包括:生成模块801和发送模块802。
生成模块801可以用于:接收来自服务器的第一控制信号,并响应于来自服务器的第一控制信号,生成实时音视频数据。发送模块802可以用于向服务器发送实时音视频数据。第一控制信号可以是服务器通过上述音视频播放方法200传输至音视频生成设备的。
在一种实施方式中,生成模块801还可以用于接收来自服务器的第二控制信号和第三控制信号中的至少一种控制信号。在接收到来自服务器的第二控制信号时,处理模块801可响应于该第二控制信号执行第一编码操作;在接收到来自服务器的第三控制信号时,处理模块801可响应于该第三控制信号执行第二编码操作。其中,第一编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,第二时长可以大于预设的间隔阈值;第二编码操作可以包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,第三时长可以小于预设的间隔阈值。
在一种实施方式中,上述生成模块801可以包括接收单元、采集单元和编码单元,接收单元可以用于接收服务器传输的控制信号,例如第一控制信号、第二控制信号和第三控制信号,采集单元可以用于采集实时的初始音视频数据,编码单元可以用于对采集到的初始音视频数据进行编码,生成I帧、P帧、B帧等帧数据。
基于同一技术构思,参照图9,本申请实施例还提供了一种音视频播放装置900,可应用于音视频播放设备,该装置可以包括:请求模块901、接收模块902和播放模块903。
请求模块901可以用于向服务器发送播放请求;接收模块902可以用于接收服务器响应于播放请求反馈的实时音视频数据;播放模块903可以用于播放实时音视频数据。实时音视频数据可以是服务器通过上述音视频播放方法300传输至音视频播放设备的。
在一种实施方式中,上述接收模块902还可以接收服务器反馈的缓存数据,播放模块903还可以播放缓存数据。
播放模块903可以包括解码单元,解码单元可用于对接收到的实时音视频数据或缓存数据进行解码,播放的数据可以是解码后的数据。播放模块903还可以包括渲染单元,渲染单元可以用于在播放之前对解码后的数据进行渲染,播放的数据可以是解码并渲染后的数据。
示例性的,基于上述音视频播放方法200、音视频播放方法300和音视频播放方法400的部分实施方式,图10示出了上述音视频播放装置700、音视频播放装置800和音视频播放装置900之间的一种数据流向示意图。参照图10,音视频播放装置700、音视频播放装置800和音视频播放装置900之间的一种数据流向可以是:生成模块801将生成的音视频数据发送于发送模块802,发送模块802将接收到的音视频数据发送于获取模块703,获取模块703将接收到的音视频数据发送到缓存模块705,缓存模块705将音视频数据存储于缓存区形成缓存数据,在需要播放时,缓存模块705将缓存数据发送至发送模块704,发送模块704将缓存数据转发至接收模块902,接收模块902将接收到的缓存数据发送于播放模块903,播放模块903播放缓存数据。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
基于同一技术构思,参照图11,本申请实施例还提供了一种电子设备,可作为服务器,该设备可以包括:存储器1101和处理器1102,存储器1101内存储有可在处理器1102上运行的计算机程序。处理器1102执行该计算机程序时可以实现上述音视频播放方法200。存储器1101和处理器1102的数量可以为一个或多个。
该电子设备还包括:
通信接口1103,用于与外界设备进行通信,进行数据交互传输。
如果存储器1101、处理器1102和通信接口1103独立实现,则存储器1101、处理器1102和通信接口1103可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1101、处理器1102及通信接口1103集成在一块芯片上,则存储器1101、处理器1102及通信接口1103可以通过内部接口完成相互间的通信。
基于同一技术构思,参照图12,本申请实施例还提供了一种电子设备,可作为音视频生成设备,该设备可以包括:存储器1201和处理器1202,存储器1201内存储有可在处理器1202上运行的计算机程序。处理器1202执行该计算机程序时实现上述音视频播放方法300。存储器1201和处理器1202的数量可以为一个或多个。
该电子设备还包括:
通信接口1203,用于与外界设备进行通信,进行数据交互传输。
如果存储器1201、处理器1202和通信接口1203独立实现,则存储器1201、处理器1202和通信接口1203可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1201、处理器1202及通信接口1203集成在一块芯片上,则存储器1201、处理器1202及通信接口1203可以通过内部接口完成相互间的通信。
基于同一技术构思,参照图13,本申请实施例还提供了一种电子设备,可作为音视频播放设备,该设备可以包括:存储器1301和处理器1302,存储器1301内存储有可在处理器1302上运行的计算机程序。处理器1302执行该计算机程序时实现上述实施例中的方法。存储器1301和处理器1302的数量可以为一个或多个。
该电子设备还包括:
通信接口1303,用于与外界设备进行通信,进行数据交互传输。
如果存储器1301、处理器1302和通信接口1303独立实现,则存储器1301、处理器1302和通信接口1303可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1301、处理器1302及通信接口1303集成在一块芯片上,则存储器1301、处理器1302及通信接口1303可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的任意一种音视频播放方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的任意一种音视频播放方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的任意一种音视频播放方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (19)

1.一种音视频播放方法,其特征在于,应用于服务器,所述方法包括:
响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;
在所述第一时长大于所述时长阈值的情况下,向音视频生成设备发送第一控制信号;
获取所述音视频生成设备基于所述第一控制信号反馈的实时音视频数据;
向所述音视频播放设备发送所述实时音视频数据;所述实时音视频数据的第一帧为关键帧。
2.根据权利要求1所述的音视频播放方法,其特征在于,所述播放请求中包括目标播放时长的信息;
所述时长阈值为所述目标播放时长。
3.根据权利要求1或2所述的音视频播放方法,其特征在于,还包括:在所述第一时长小于或等于所述时长阈值的情况下,向所述音视频播放设备发送缓存数据。
4.根据权利要求1或2所述的音视频播放方法,其特征在于,所述确定缓存数据的第一时长是否大于设定的时长阈值,包括:
确定该音视频播放设备的设备类型;
在所述设备类型为低频播放设备的情况下,确定所述第一时长是否大于所述时长阈值。
5.根据权利要求1或2所述的音视频播放方法,其特征在于,还包括:
确定该音视频播放设备的设备类型;
在所述设备类型为低频播放设备的情况下,向所述音视频生成设备发送第二控制信号;所述第二控制信号用于控制所述音视频生成设备执行第一编码操作;所述第一编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,所述第二时长大于预设的间隔阈值。
6.根据权利要求5所述的音视频播放方法,其特征在于,还包括:
在所述设备类型为高频播放设备的情况下,向所述音视频生成设备发送第三控制信号;所述第三控制信号用于控制所述音视频生成设备执行第二编码操作;所述第二编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,所述第三时长小于所述间隔阈值。
7.根据权利要求1或2所述的音视频播放方法,其特征在于,还包括:
将所述缓存数据更新为所述实时音视频数据;所述实时音视频数据的更新方式为先进先出。
8.一种音视频播放方法,其特征在于,应用于音视频生成设备,所述方法包括:
响应于来自服务器的第一控制信号,生成实时音视频数据;第一控制信号是所述服务器通过权利要求1-7中任一项所述的音视频播放方法传输至所述音视频生成设备的;
向所述服务器发送所述实时音视频数据。
9.根据权利要求8所述的音视频播放方法,其特征在于,还包括:
响应于来自所述服务器的第二控制信号,执行第一编码操作;所述第一编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第二时长,所述第二时长大于预设的间隔阈值。
10.根据权利要求8或9所述的音视频播放方法,其特征在于,还包括:
响应于来自所述服务器的第三控制信号,执行第二编码操作;所述第二编码操作包括将音视频数据生成过程中的关键帧间隔时长设置为第三时长,所述第三时长小于预设的间隔阈值。
11.一种音视频播放方法,其特征在于,应用于音视频播放设备,所述方法包括:
向服务器发送播放请求;
接收所述服务器响应于所述播放请求反馈的实时音视频数据;所述实时音视频数据是所述服务器通过权利要求1-7中任一项所述的音视频播放方法传输至所述音视频播放设备的;
播放所述实时音视频数据。
12.一种音视频播放装置,其特征在于,应用于服务器,所述装置包括:
分析模块,用于响应于来自音视频播放设备的播放请求,确定缓存数据的第一时长是否大于设定的时长阈值;
控制模块,用于在所述第一时长大于所述时长阈值的情况下,向音视频生成设备发送第一控制信号;
获取模块,用于获取所述音视频生成设备基于所述第一控制信号反馈的实时音视频数据;
发送模块,用于向所述音视频播放设备发送所述实时音视频数据;所述实时音视频数据的第一帧为关键帧。
13.一种音视频播放装置,其特征在于,应用于音视频生成设备,所述装置包括:
生成模块,用于响应于来自服务器的第一控制信号,生成实时音视频数据;第一控制信号是所述服务器通过权利要求1-7中任一项所述的音视频播放方法传输至所述音视频生成设备的;
发送模块,用于向所述服务器发送所述实时音视频数据。
14.一种音视频播放装置,其特征在于,应用于音视频播放设备,所述装置包括:
请求模块,用于向服务器发送播放请求;
接收模块,用于接收所述服务器响应于所述播放请求反馈的实时音视频数据;所述实时音视频数据是所述服务器通过权利要求1-7中任一项所述的音视频播放方法传输至所述音视频播放设备的;
播放模块,用于播放所述实时音视频数据。
15.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-7中任一项所述的音视频播放方法。
16.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求8-10中任一项所述的音视频播放方法。
17.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求11所述的音视频播放方法。
18.一种音视频播放系统,其特征在于,包括:服务器、音视频生成设备和音视频播放设备;
所述服务器为权利要求15所述的电子设备,所述音视频生成设备为权利要求16所述的电子设备,所述音视频播放设备为权利要求17所述的电子设备;
所述音视频生成设备和所述服务器之间通过互联网通信,所述服务器和所述音视频播放设备之间通过互联网通信。
19.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11中任一项所述的音视频播放方法。
CN202310096241.XA 2023-01-17 2023-01-17 音视频播放方法、装置、系统、电子设备及存储介质 Pending CN116055810A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310096241.XA CN116055810A (zh) 2023-01-17 2023-01-17 音视频播放方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310096241.XA CN116055810A (zh) 2023-01-17 2023-01-17 音视频播放方法、装置、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116055810A true CN116055810A (zh) 2023-05-02

Family

ID=86131304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310096241.XA Pending CN116055810A (zh) 2023-01-17 2023-01-17 音视频播放方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116055810A (zh)

Similar Documents

Publication Publication Date Title
JP5788101B2 (ja) メディアデータのネットワークストリーミング
JP6169172B2 (ja) 仮想イントラフレームを使用してビデオコンテンツを符号化するためのシステムおよび方法
EP3038367B1 (en) Streaming encoded video data
KR101248371B1 (ko) 비디오 프로세싱에서의 전력 및 연산 부하 관리 기술
US6496980B1 (en) Method of providing replay on demand for streaming digital multimedia
CN107566918B (zh) 一种视频分发场景下的低延时取流秒开方法
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
CA2761846C (en) Method, apparatus and system for reducing media delay
CN111372145B (zh) 一种多视点视频的视点切换方法和系统
US10735744B2 (en) Adaptive bitrate streaming techniques
KR20150126860A (ko) 고속 전환을 위한 코덱 기법
US10958972B2 (en) Channel change method and apparatus
CN110392284B (zh) 视频编码、视频数据处理方法、装置、计算机设备和存储介质
JP4983917B2 (ja) 動画像配信システム、変換装置および動画像配信方法
JP2010245822A (ja) 動画像符号化装置および動画像符号化方法
US20140321556A1 (en) Reducing amount of data in video encoding
US9467691B2 (en) Video system for displaying image data, method and computer program
CN116055810A (zh) 音视频播放方法、装置、系统、电子设备及存储介质
US11871079B2 (en) Client and a method for managing, at the client, a streaming session of a multimedia content
EP3503559A1 (en) Method and terminal for managing a streaming session of an immersive video spatially tiled with a set of tiles and stored on a network equipment
CN116264622A (zh) 视频编码方法、装置、电子设备和存储介质
JP2004147306A (ja) 低遅延映像符号化および復号化装置
WO2009080117A1 (en) Method and apparatus for distributing media over a communications network

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