CN109660879B - 直播丢帧方法、系统、计算机设备和存储介质 - Google Patents

直播丢帧方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN109660879B
CN109660879B CN201811577576.9A CN201811577576A CN109660879B CN 109660879 B CN109660879 B CN 109660879B CN 201811577576 A CN201811577576 A CN 201811577576A CN 109660879 B CN109660879 B CN 109660879B
Authority
CN
China
Prior art keywords
frame
coding
buffer queue
frames
video
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.)
Active
Application number
CN201811577576.9A
Other languages
English (en)
Other versions
CN109660879A (zh
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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology Co 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201811577576.9A priority Critical patent/CN109660879B/zh
Publication of CN109660879A publication Critical patent/CN109660879A/zh
Application granted granted Critical
Publication of CN109660879B publication Critical patent/CN109660879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种直播丢帧方法、系统、计算机设备和存储介质,包括:确定发送端的缓冲队列中编码帧的堆积描述值,其中,堆积描述值用于描述缓冲队列中编码帧的堆积程度;在堆积描述值达到预定阈值时,从缓冲队列的编码帧中选择丢帧编码帧,其中,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;将丢帧编码帧从发送端的缓冲队列中移除。上述直播丢帧方法,通过移除丢帧编码帧,可以释放缓冲队列所占用的部分内存资源,避免了发送端因内存资源不足而导致的性能下降;同时,也可以有效缓解接收端因发送端等待上传视频的时间过长而导致的延迟现象,提高直播的实时性。

Description

直播丢帧方法、系统、计算机设备和存储介质
技术领域
本发明涉及数据传输技术领域,具体而言,本发明涉及一种直播丢帧方法、系统和计算机设备和存储介质。
背景技术
网络直播的应用广泛,直播的视频在发送端经过编码后上传服务器,由服务器下发至接收端。发送端通过音频编码器和视频编码器分别对共享视频的音频部分和视频部分进行编码,并分别得到音频帧和视频帧,将音频帧和视频帧放入缓冲队列中并等待着上传服务器。
但是在网络带宽不稳定或网络带宽较低的时候,上传视频的速率会降低。特别是,当上传视频的速率低于视频编码的速率时,待上传的视频数据在缓冲队列中等待发送至服务器,上行数据传输的缓冲队列的过长时,会占用发送端的内存,影响发送端性能。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,特别是上行数据传输的缓冲队列的过长时会占用发送端的内存的技术缺陷。
本发明提供一种直播丢帧方法,包括如下步骤:
确定发送端的缓冲队列中编码帧的堆积描述值,其中,所述堆积描述值用于描述所述缓冲队列中编码帧的堆积程度;
在所述堆积描述值达到预定阈值时,从所述缓冲队列的编码帧中选择丢帧编码帧,其中,所述缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;
将所述丢帧编码帧从所述发送端的缓冲队列中移除。
在一个实施例中,所述从所述缓冲队列的编码帧中选择丢帧编码帧的步骤,包括:
确定所述缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段;
根据所述堆积描述值从所述可丢帧缓冲段中确定所述丢帧编码帧。
在一个实施例中,所述根据所述堆积描述值从所述可丢帧缓冲段中确定所述丢帧编码帧的步骤,包括:
当所述堆积描述值大于第一阈值时,将所述可丢帧缓冲段中的非关键帧确定为所述丢帧编码帧。
在一个实施例中,当所述堆积描述值大于第二阈值时,还包括:
将所述可丢帧缓冲段中其他的视频编码帧确定为所述丢帧编码帧;其中,所述第二阈值大于所述第一阈值。
在一个实施例中,当所述堆积描述值大于第三阈值时,还包括:
将所述可丢帧缓冲段中的音频帧确定为所述丢帧编码帧;其中,所述第三阈值大于所述第二阈值。
在一个实施例中,所述第一阈值、第二阈值或第三阈值通过当前的数据上行带宽和编码器的编码速率确定。
在一个实施例中,所述堆积描述值包括堆积量或者时间累计值;
当所述堆积描述值包括时间累计值时,所述确定发送端的缓冲队列中编码帧的堆积描述值的步骤,包括:
确定所述缓冲队列中首帧编码帧的解码时间戳和尾帧编码帧的解码时间戳,其中,所述首帧编码帧是所述缓冲队列中解码时间戳为最小的编码帧,所述尾帧编码帧是所述缓冲队列中解码时间戳为最大的编码帧;
计算所述首帧编码帧的解码时间戳与所述尾帧编码帧的解码时间戳之间的时间差值,作为所述缓冲队列中编码帧的堆积描述值。
本发明还提供一种直播丢帧系统,包括:
堆积描述值确定模块,用于确定发送端的缓冲队列中编码帧的堆积描述值,其中,所述堆积描述值用于描述所述缓冲队列中编码帧的堆积程度;
丢帧编码帧选择模块,用于在所述堆积描述值达到预定阈值时,从所述缓冲队列的编码帧中选择丢帧编码帧,其中,所述缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;
丢帧编码帧移除模块,用于将所述丢帧编码帧从所述发送端的缓冲队列中移除。
本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一实施例所述直播丢帧方法的步骤。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一实施例所述直播丢帧方法的步骤。
上述的直播丢帧方法、系统、计算机设备和存储介质,移除丢帧编码帧可以释放缓冲队列所占用的部分内存资源,避免了发送端因内存资源不足而导致的性能下降;同时,也可以有效缓解接收端因发送端等待上传视频的时间过长而导致的延迟现象,提高直播的实时性。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个实施例中提供的直播丢帧方法的实施环境图;
图2为本申请一个实施例中直播丢帧方法的流程图;
图3为本申请一个实施例中缓冲队列的结构示意图;
图4为本申请一个实施例中丢帧编码帧选择流程图;
图5为本申请一个实施例中直播丢帧系统的结构示意图;
图6为本申请一个直播示例中音视频上传流程图;
图7为一个直播示例中缓冲队列状态示意图;
图8为本申请一个实施例中计算机设备的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,图1为本申请一个实施例中提供的直播丢帧方法的实施环境图,在该实施环境中,包括发送端110、服务器120和接收端130。发送端110可以是直播客户端,产生用于实时直播视频和上传该直播视频。服务器120用于接收发送端110上传的直播视频,并将该直播视频转发至接收端。接收端130可以是观众客户端,用于接收并播放直播视频。发送端110和接收端可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。发送端110与服务器120之间通过网络连接,以及服务器120和接收端130之间通过网络连接。
在一个实施例中,如图2所示,图2为本申请一个实施例中直播丢帧方法的流程图,本实施例中提供一种直播丢帧方法,以本实施例应用在发送端110为例进行说明,包括如下步骤:
步骤S210:确定发送端的缓冲队列中编码帧的堆积描述值,其中,堆积描述值用于描述缓冲队列中编码帧的堆积程度。
本步骤中,通过设置堆积描述值,用于描述缓冲队列中编码帧的堆积程度;通过监控该堆积描述值可以及时判断缓冲队列的状态,便于后续对上传过程进行调整,一般情况下,缓冲队列中编码帧的堆积描述值可以采用首帧编码帧与所述尾帧编码帧的之间的时间累计值,当然,这里也可以采用其他描述编码帧堆积量的度量方式,如队列中编码帧数据量等,在此不再一一罗列。
发送端可以是直播客户端,发送端从摄像头获得产生直播视频,并通过视频编码器和音频编码器分别对直播视频中的图像数据和音频数据进行编码,获得并向服务器上传编码帧,发送端将编码帧放置在数据上行传输的缓冲队列中等待上传。
如果解码时间过长,会导致大量编码之后的编码帧缓存在发送端的缓冲队列中等待上传,缓冲队列会占用大量内存,使得发送端的内存被大量消耗,影响发送端的性能,例如,在游戏直播的时候,缓冲队列的编码帧占用大量的内存资源,游戏应用能够分配的内存资源减少,游戏应用在数据处理和显示效果的流畅效果下降。而且,大量编码帧等待上传,完成上传所需的时间过长,再经过服务器下发至接收端,会导致接收端所接收的视频出现严重的延迟现象,影响了直播的实时性。
其中,以堆积量的其中一种实施方式为例进行说明,根据缓冲队列中各类型编码帧的数量以及各个类型的权重,按照加成规则计算堆积量。例如,可以先确定缓冲队列中有多少个关键帧(例如H264标准的I帧)和非关键帧(例如H264标准的P帧和B帧等)。一个I帧的权重可以考虑设置为2,P帧的权重可以考虑设置为1,B帧的权重可以考虑设置为1,假设一个队列有10个I帧,20个P帧,30个B帧,那么这个队列的堆积量可以计算为:10×2+20×1+30×1=70。
步骤S220:在堆积描述值达到预定阈值时,从缓冲队列的编码帧中选择丢帧编码帧,其中,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧。
本步骤中,主要是根据堆积描述值与预定阈值的关系从缓冲队列的编码帧中选择可以进行移除的丢帧编码帧,由于编码帧存在多种类型,因此需要根据一定策略来选择丢帧编码帧的类型和数量。因此,在选择丢帧编码帧时,需要尽量减少对原有视频流的播放效果,例如尽量避免解码后画面的花屏或画面跳跃现象。
而且,在直播场景中,考虑到直播的一般需求,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧。即在缓冲队列中有音频帧时,尽量避免丢音频帧,如此,即使画面出现卡顿,音频也不会卡顿,从而可以最低限度确保直播的效果。
步骤S230:将丢帧编码帧从发送端的缓冲队列中移除。
本步骤中,移除丢帧编码帧后,发送端的缓冲队列的长度降低,释放部分内存资源,从而缓解发送端上传数据的压力。还可以减少新产生的编码帧等待上传的时间,加快编码帧的上传。
基于上述实施例的直播丢帧方法,通过移除丢帧编码帧,可以释放缓冲队列所占用的部分内存资源,避免了发送端因内存资源不足而导致的性能下降;同时,也可以有效缓解接收端因发送端等待上传视频的时间过长而导致的延迟现象,提高直播的实时性。
例如,在游戏直播过程中,数据上行传输中的视频流的缓冲队列过长,缓冲队列过长且占用较多内存资源,往往使得游戏直播的游戏操作出现卡顿现象,同时接收端所播放的直播视频会出现明显延迟现象。如果此时采用本申请的技术方案,根据时间差值对发送端缓冲队列中视频流的编码帧进行移除,可以释放内存资源,提高游戏直播中游戏操作的流畅性,同时加快视频流新产生的编码帧进行上传,以便于后续减少接收端显示直播视频的延时时间。
为了更加清晰本申请的直播丢帧方法的技术方案及其技术效果,下面结合若干实施例进一步做出详细描述。
在一个实施例中,对于步骤S220的从缓冲队列的编码帧中选择丢帧编码帧的步骤,可以包括:
步骤S221:确定缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段。
步骤S222:根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧。
上述直播丢帧方法,可丢帧缓冲段包括关键帧和非关键帧,关键帧为完整画面数据的视频帧或者只需要本帧数据就可以完成解码的视频帧,而非关键帧则需要依赖其他关键帧或者非关键帧才能完成解码。丢帧编码帧的选择可以尽量减少对原有视频流的播放效果,需要尽量避免解码后画面的花屏或画面跳跃现象。
由于非关键帧需要依赖关键帧进行解码,因此对于部分进入缓冲队列的GOP(Group of picture,图像组)而言,对于部分完成上传的GOP和部分加入缓冲队列的GOP,要保障其完整性,避免出现花屏现象。
如图3所示,图3为本申请一个实施例中缓冲队列的结构示意图,在排序后的视频编码帧中,将第一个视频I帧之前的视频编码帧、最后一个视频I帧以及最后一个视频I帧以后的视频编码帧作为特殊帧,第一个视频I帧至最后一个视频I帧的前一帧为可丢帧缓冲段。
视频I帧为帧内编码帧,属于视频编码关键帧;视频P帧为前向预测编码帧,视频B帧为双向预测编码帧,视频P帧和视频B属于非关键帧。以视频I帧、视频P帧和视频B为例,由于视频P帧和视频B帧需要依靠对应的视频I帧进行解码,因此对于部分进入缓冲队列的GOP而言,例如部分完成上传的GOP和部分加入缓冲队列的GOP,要保障其完整性,避免出现花屏现象,因此将GOP留在缓冲队列的部分中的视频I帧、视频P帧和视频B帧作为特殊帧,对特殊帧进行保留,避免花屏。
在一个实施例中,对于步骤S222的根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧的步骤,可以包括:
当堆积描述值大于第一阈值时,将可丢帧缓冲段中的非关键帧确定为丢帧编码帧。
上述直播丢帧方法,第一阈值可以是触发丢帧的基本参数,堆积描述值与堆积程度之间存在正相关关系,当堆积程度越大,堆积描述值越高。在堆积描述值较小但是满足触发丢弃编码帧的第一阈值时,选择非关键帧作为丢帧编码帧并进行移除,轻量地缓解堆积程度。
进一步的,在前述实施例基础上,可以设置大于第一阈值的第二阈值,第二阈值。此时,当堆积描述值大于第二阈值时,还可以将可丢帧缓冲段中其他的视频编码帧也确定为丢帧编码帧。
上述直播丢帧方法,在堆积程度逐渐增大时,堆积描述值也增大,当堆积描述值达到比触发丢弃编码帧的第一阈值更大的第二阈值时,堆积程度需要缓解的需求变得更高,此时需要进一步选择更多的编码帧进行移除,因此当堆积描述值大于第二阈值时,将可丢帧缓冲段中的所有视频编码帧为确定丢帧编码帧,并进行移除,加大移除编码帧的程度,加快缓解堆积程度。
更进一步的,在前述实施例基础上,还可以设置大于第二阈值的第三阈值,当堆积描述值大于第三阈值时,还可以将可丢帧缓冲段中的音频帧也确定为丢帧编码帧。
上述直播丢帧方法,当堆积描述值达到比触发丢弃可丢帧缓冲段中的所有视频编码帧的第二阈值的更大的第三阈值时,要进一步选择更多的编码帧进行移除,可以考虑放弃尽量别丢音频帧的直播体验的基本原则,将可丢帧缓冲段中的所有视频编码帧和音频帧确定为丢帧编码帧,并进行移除,最大限度缓解堆积程度。
在一个实施例中,如图4所示,图4为本申请一个实施例中丢帧编码帧选择流程图,图中,t、T1、T2和T3分别为堆积描述值、第一阈值、第二阈值和第三阈值。在堆积描述值t较小但是满足触发丢弃编码帧的第一阈值T1时,选择非关键帧作为丢帧编码帧;当堆积描述值达到比触发丢弃编码帧的第一阈值T1更大的第二阈值T2时,将可丢帧缓冲段中的所有视频编码帧为确定为丢帧编码帧;当堆积描述值达到比触发丢弃可丢帧缓冲段中的所有视频编码帧的第二阈值T2的更大的第三阈值T3时,将可丢帧缓冲段中的所有视频编码帧和音频帧确定为丢帧编码帧。
进一步的,在上述实施例中,第一阈值、第二阈值或第三阈值可以通过当前的数据上行带宽和编码器的编码速率确定。可以通过以下方式,先根据当前的数据上行带宽确定可上传数据量。检测当前的数据上行带宽,根据数据上行带宽获取可上传数据量,数据上行带宽影响着上传数据的速度,因此,根据数据上行带宽获取单位时间内的可上传数据量。然后,根据编码器的编码速率确定上传数据生成量。利用可上传数据量和上传数据生成量确定第一阈值、第二阈值和第三阈值中的一个或者两个甚至全部。
基于上述各个实施例提供的从可丢帧缓冲段中确定丢帧编码帧方法,在实际应用中,可以设计成如下方案:
(1)计算缓冲队列的首帧编码帧解码时间戳和尾帧编码帧解码时间戳的时间差值t;其中,缓冲队列可以是按照解码时间戳进行排序,解码时间戳的单位可以是毫秒。
(2)根据时间差值选择丢帧编码帧;按照编码帧优先级对应的丢帧需要,从缓冲队列的编码帧中选择丢帧编码帧,此时可以预设不同编码帧优先级下对应的时间阈值,以上述的第一时间阈值T1、第二时间阈值T2和第三时间阈值T3为例,其中T1<T2<T3。
[1]、如果T1<t≤T2,则移除可丢帧缓冲段内的视频P帧和视频B帧;
[2]、如果T2<t≤T3,则移除可丢帧缓冲段内的视频I帧、视频P帧和视频B帧;
[3]、如果t>T3,则移除可丢帧缓冲段内的所有的音频帧、视频I帧、视频P帧和视频B帧。
其中,可丢帧缓冲段指的是缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧的编码帧;可丢帧缓冲段中移除编码帧,对于部分完成上传的GOP和部分加入缓冲队列的GOP,可以保障其完整性,避免出现花屏现象。
另外,对于T1、T2和T3可以根据实际需要或经验值进行设置,例如T1=10s,T2=15s,T3=30s,s为秒。
在一个实施方式中,在确定丢帧编码帧方案中,还可以根据可上传数据量和上传数据生成量计算上传等待时间;根据上传等待时间设置第一阈值、第二阈值或第三阈值。例如,在发送视频的速率小于产生视频的速率,上传等待时间不为0时,上传等待时间越大,则后续等待上传数据量的累积会越严重,因此,要设置可以快速减少累积的编码帧的时间阈值范围;若上传等待时间较小,可以设置缓慢减少累积的编码帧的时间阈值范围,减少后续的丢帧编码帧的数量,以便于保证上传视频的质量。若上传等待时间为0,可以调用预设的第一阈值、第二阈值或第三阈值,预设的第一阈值、第二阈值或第三阈值可以用于及时应对瞬间出现大量编码帧的影响。
上述实施例的方案,可以根据当前数据上行带宽和编码器的编码速率,由里及外地考虑影响发送端上传数据速率的因素,积极提高丢帧方法应对数据上行带宽的能力,而且还能设置兼顾上传视频质量的第一阈值、第二阈值和第三阈值。
在前述实施例中,阐述了缓冲队列中编码帧的堆积描述值可以采用首帧编码帧与尾帧编码帧的之间的时间累计值,下面以堆积描述值采用时间累计值为例来陈述步骤S210的确定发送端的缓冲队列中编码帧的堆积描述值的实施例。
在一个实施例中,对于步骤S210的确定发送端的缓冲队列中编码帧的堆积描述值的步骤,可以包括:
步骤S211:确定缓冲队列中首帧编码帧的解码时间戳和尾帧编码帧的解码时间戳,其中,首帧编码帧是缓冲队列中解码时间戳为最小的编码帧,尾帧编码帧是缓冲队列中解码时间戳为最大的编码帧。
步骤S212:计算首帧编码帧解码时间戳与尾帧编码帧解码时间戳的时间差值,作为缓冲队列中编码帧的堆积描述值。
发送端的缓冲队列的堆积程度较大时,缓冲队列中编码帧在该缓冲队列中等待时间较长,此时,可以通过最大解码时间戳和最小解码时间戳的时间差值,该时间差值反映缓冲队列中最早的编码帧等待的最久时间。
上述实施例的方案,通过缓冲队列中最大的解码时间戳和最小的解码时间戳获得时间累计值,简单和准确地获取缓冲队列中编码帧的堆积描述值,以便于提高后续丢帧编码帧的选取。
针对于前述实施例提供的直播丢帧方法,下面结合附图提供与该方法一一对应的直播丢帧系统的实施例。
如图5所示,图5为本申请一个实施例中直播丢帧系统的结构示意图,包括堆积描述值确定模块510、丢帧编码帧选择模块520和丢帧编码帧移除模块530,其中:
堆积描述值确定模块510,用于确定发送端的缓冲队列中编码帧的堆积描述值,其中,堆积描述值用于描述缓冲队列中编码帧的堆积程度。
堆积描述值确定模块510通过设置堆积描述值,用于描述缓冲队列中编码帧的堆积程度;通过监控该堆积描述值可以及时判断缓冲队列的状态,便于后续对上传过程进行调整,一般情况下,缓冲队列中编码帧的堆积描述值可以采用首帧编码帧与所述尾帧编码帧的之间的时间累计值,当然,这里也可以采用其他描述编码帧堆积量的度量方式,如队列中编码帧数据量等,在此不再一一罗列。
丢帧编码帧选择模块520,用于在堆积描述值达到预定阈值时,从缓冲队列的编码帧中选择丢帧编码帧,其中,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧。
丢帧编码帧选择模块520主要是根据堆积描述值与预定阈值的关系从缓冲队列的编码帧中选择可以进行移除的丢帧编码帧,由于编码帧存在多种类型,因此需要根据一定策略来选择丢帧编码帧的类型和数量。因此,在选择丢帧编码帧时,需要尽量减少对原有视频流的播放效果,例如尽量避免解码后画面的花屏或画面跳跃现象。
丢帧编码帧移除模块530,用于将丢帧编码帧从发送端的缓冲队列中移除。
丢帧编码帧移除模块530移除丢帧编码帧后,发送端的缓冲队列的长度降低,释放部分内存资源,从而缓解发送端上传数据的压力。还可以减少新产生的编码帧等待上传的时间,加快编码帧的上传。
上述直播丢帧系统,通过移除丢帧编码帧,可以释放缓冲队列所占用的部分内存资源,避免了发送端因内存资源不足而导致的性能下降;同时,也可以有效缓解接收端因发送端等待上传视频的时间过长而导致的延迟现象,提高直播的实时性。
关于直播丢帧系统的具体限定可以参见上文中对于直播丢帧方法的限定,在此不再赘述。上述直播丢帧系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
以上为本申请的直播丢帧方法、系统的相关实施例,这些实施例的方案可以部分或全部应用在直播当中。以下将再结合附图来阐述直播中的音视频帧上传流程的方案。
参考图6,图6为本申请一个直播示例中音视频上传流程图,音频和视频分别经过音频编码器和视频编码器之后,音频编码帧和视频编码帧发送到缓冲队列中,然后经过排序之后,音频编码帧和视频编码帧按照顺序发送到服务器。
通过设置音频编码帧和视频编码帧重要程度的优先级关系,来进行直播的音视频数据传输中的丢帧处理,相关策略分析可以参考如下:
参考图7所示,图7为一个直播示例中缓冲队列状态示意图,以H.264为例,本申请,在丢帧处理中,缓冲队列中首部情况如图7中③所示,a中缓冲序列的情况是比较正常的情况,首帧编码帧为视频I帧(即第一个视频编码关键帧),如果首部中丢弃所有的视频P帧和视频B帧是没有任何问题的。但是如果陆续发送a中缓冲序列时,例如发送了前三帧,即一个视频I帧、一个视频P帧和一个视频B帧,则变成图7中③的b情况。
在b中缓冲序列下,已经依次向服务器发送了一个视频I帧、一个视频P帧和一个视频B帧,本发明实施例为避免接收端解码后出现花屏的情况,选择不丢弃首部的视频P帧和视频B帧,也就是说对第一个视频I帧之前的视频P帧和视频B帧全部保留。
另外,缓冲队列中尾部情况如图7中④所示,c中如果丢掉缓冲队列中的视频P帧和视频B帧,那么后续如果一些视频P帧和视频B帧加入缓冲队列,那么后续加入的视频P帧和视频B帧就无法依赖之前的编码帧进行正确的解码了,此状况下会出现花屏等现象。如果缓冲队列尾部有视频I帧加入,例如d中的缓冲队列,最后一个编码帧是视频I帧,则尾部中,最后一个视频I帧之前的视频P帧和视频B帧都可以考虑丢弃其余后续加入的视频P帧和视频B帧可以依赖该最后一个视频I帧进行正确的解码,避免出现花屏现象。由上可知,本发明实施例,为避免接收端解码后出现花屏的情况,可以选择不丢弃尾部最后一个视频I帧以及之后视频P帧和视频B帧。也就是说,缓冲队列最后一个视频I帧(即最后一个视频编码关键帧)及其之后的视频P帧和视频B帧都保留在缓冲队列中。
综合以上分析可以理解,本实施例中,第一个视频I帧之前的视频P帧和视频B帧需要保留,最后一个视频I帧及之后的视频P帧和视频B帧也需要保留。换句话说,缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧都可以依据情况考虑丢弃。
由于视频I帧属于视频编码关键帧,视频I帧是可以不依赖任何其他帧就可以解码的;视频P帧和视频B帧属于视频编码非关键帧,视频P帧和视频B帧都必须依赖其他帧才能解码。如图7的①中所示的I P B B P B…,以及②中所示是包含音频帧的GOP(A为音频帧)。
其中,音频编码帧和视频编码帧重要程度具有优先级关系,该编码帧优先级可以表示为音频编码帧>视频I帧>视频P/B帧。即本发明实施例,在可以考虑丢弃的帧中,优先丢弃视频P帧和视频B帧,然后考虑丢弃视频I帧,最后考虑丢弃音频编码帧。如果丢视频I帧,就需要丢掉该视频I帧后面的视频P帧和视频B帧,避免因视频P帧和视频B帧无法依赖对应的视频I帧进行正确而造成花屏;由于保留视频I帧而将其他帧丢掉时,容易造成画面跳跃;为尽量保证直播体验,在缓冲队列中尽量保留音频帧,这样即使画面卡顿或者跳跃,也可以确保直播中的音频不卡顿,保证了直播效果。
图8为本申请一个实施例中计算机设备的内部结构示意图。如图8所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种直播丢帧方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种直播丢帧方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
确定发送端的缓冲队列中编码帧的堆积描述值,其中,堆积描述值用于描述缓冲队列中编码帧的堆积程度;
在堆积描述值达到预定阈值时,从缓冲队列的编码帧中选择丢帧编码帧,其中,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;
将丢帧编码帧从发送端的缓冲队列中移除。
在一个实施例中,处理器所执行的从缓冲队列的编码帧中选择丢帧编码帧的步骤包括:
确定缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段;根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧。
在一个实施例中,处理器所执行的根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧的步骤包括:
当堆积描述值大于第一阈值时,将可丢帧缓冲段中的非关键帧确定为丢帧编码帧。
在一个实施例中,当堆积描述值大于第二阈值时,处理器执行计算机程序时还执行以下步骤:将可丢帧缓冲段中其他的视频编码帧确定为丢帧编码帧;其中,第二阈值大于第一阈值。
在一个实施例中,当堆积描述值大于第三阈值时,处理器执行计算机程序时还执行以下步骤:将可丢帧缓冲段中的音频帧确定为丢帧编码帧;其中,第三阈值大于第二阈值。
在一个实施例中,处理器执行计算机程序时还执行以下步骤:
第一阈值、第二阈值或第三阈值通过当前的数据上行带宽和编码器的编码速率确定。
在一个实施例中,堆积描述值包括堆积量或者时间累计值;处理器所执行的当堆积描述值包括时间累计值时,确定发送端的缓冲队列中编码帧的堆积描述值的步骤包括:
确定缓冲队列中首帧编码帧的解码时间戳和尾帧编码帧的解码时间戳,其中,首帧编码帧是缓冲队列中解码时间戳为最小的编码帧,尾帧编码帧是缓冲队列中解码时间戳为最大的编码帧;计算首帧编码帧的解码时间戳与尾帧编码帧的解码时间戳的时间差值,将时间差值作为缓冲队列中编码帧的堆积描述值。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
确定发送端的缓冲队列中编码帧的堆积描述值,其中,堆积描述值用于描述缓冲队列中编码帧的堆积程度;
在堆积描述值达到预定阈值时,从缓冲队列的编码帧中选择丢帧编码帧,其中,缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;
将丢帧编码帧从发送端的缓冲队列中移除。
在一个实施例中,处理器所执行的从缓冲队列的编码帧中选择丢帧编码帧的步骤包括:
确定缓冲队列中第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段;根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧。
在一个实施例中,处理器所执行的根据堆积描述值从可丢帧缓冲段中确定丢帧编码帧的步骤包括:
当堆积描述值大于第一阈值时,将可丢帧缓冲段中的非关键帧确定为丢帧编码帧。
在一个实施例中,当堆积描述值大于第二阈值时,处理器执行计算机可读指令时还执行以下步骤:将可丢帧缓冲段中其他的视频编码帧确定为丢帧编码帧;其中,第二阈值大于第一阈值。
在一个实施例中,当堆积描述值大于第三阈值时,处理器执行计算机可读指令时还执行以下步骤:将可丢帧缓冲段中的音频帧确定为丢帧编码帧;其中,第三阈值大于第二阈值。
在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:
第一阈值、第二阈值或第三阈值通过当前的数据上行带宽和编码器的编码速率确定。
在一个实施例中,堆积描述值包括堆积量或者时间累计值;处理器所执行的当堆积描述值包括时间累计值时,确定发送端的缓冲队列中编码帧的堆积描述值的步骤包括:
确定缓冲队列中首帧编码帧的解码时间戳和尾帧编码帧的解码时间戳,其中,首帧编码帧是缓冲队列中解码时间戳为最小的编码帧,尾帧编码帧是缓冲队列中解码时间戳为最大的编码帧;计算首帧编码帧的解码时间戳与尾帧编码帧的解码时间戳的时间差值,将时间差值作为缓冲队列中编码帧的堆积描述值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种直播丢帧方法,其特征在于,包括如下步骤:
确定发送端的缓冲队列中编码帧的堆积描述值,其中,所述堆积描述值用于描述所述缓冲队列中编码帧的堆积程度;
在所述堆积描述值达到根据数据上传等待时间的预定阈值时,确定所述缓冲队列中的第一个视频编码关键帧之前的视频编码帧、最后一个视频编码关键帧以及最后一个视频编码关键帧以后的视频编码帧作为特殊帧,第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段,根据所述堆积描述值从所述可丢帧缓冲段中确定所述丢帧编码帧;其中,所述缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;所述预定阈值是根据上传数据量和上传数据生成量所计算得到的上传等待时间设置的,根据所述上传等待时间的长短,对应设置减少累计的编码帧的预定阈值范围的快慢;而所述上传数据生成量是根据编码器的编码速率确定的;
将所述丢帧编码帧从所述发送端的缓冲队列中移除。
2.根据权利要求1所述的直播丢帧方法,其特征在于,所述根据所述堆积描述值从所述可丢帧缓冲段中确定所述丢帧编码帧的步骤,包括:
当所述堆积描述值大于第一阈值时,将所述可丢帧缓冲段中的非关键帧确定为所述丢帧编码帧。
3.根据权利要求2所述的直播丢帧方法,其特征在于,当所述堆积描述值大于第二阈值时,还包括:
将所述可丢帧缓冲段中其他的视频编码帧确定为所述丢帧编码帧;其中,所述第二阈值大于所述第一阈值。
4.根据权利要求3所述的直播丢帧方法,其特征在于,当所述堆积描述值大于第三阈值时,还包括:
将所述可丢帧缓冲段中的音频帧确定为所述丢帧编码帧;其中,所述第三阈值大于所述第二阈值。
5.根据权利要求4所述的直播丢帧方法,其特征在于,还包括:
所述第一阈值、第二阈值或第三阈值通过当前的数据上行带宽和编码器的编码速率确定。
6.根据权利要求1所述的直播丢帧方法,其特征在于,所述确定发送端的缓冲队列中编码帧的堆积描述值的步骤,包括:
确定所述缓冲队列中首帧编码帧的解码时间戳和尾帧编码帧的解码时间戳,其中,所述首帧编码帧是所述缓冲队列中解码时间戳为最小的编码帧,所述尾帧编码帧是所述缓冲队列中解码时间戳为最大的编码帧;
计算所述首帧编码帧的解码时间戳与所述尾帧编码帧的解码时间戳之间的时间差值,作为所述缓冲队列中编码帧的堆积描述值。
7.一种直播丢帧系统,其特征在于,包括:
堆积描述值确定模块,用于确定发送端的缓冲队列中编码帧的堆积描述值,其中,所述堆积描述值用于描述所述缓冲队列中编码帧的堆积程度;
丢帧编码帧选择模块,用于在所述堆积描述值达到根据数据上传等待时间的预定阈值时,确定所述缓冲队列中的第一个视频编码关键帧之前的视频编码帧、最后一个视频编码关键帧以及最后一个视频编码关键帧以后的视频编码帧作为特殊帧,第一个视频编码关键帧至最后一个视频编码关键帧的前一帧为可丢帧缓冲段,根据所述堆积描述值从所述可丢帧缓冲段中确定所述丢帧编码帧;其中,所述缓冲队列中的视频编码帧优先于音频编码帧确定为丢帧编码帧;所述预定阈值是根据上传数据量和上传数据生成量所计算得到的上传等待时间设置的,根据所述上传等待时间的长短,对应设置减少累计的编码帧的预定阈值范围的快慢;而所述上传数据生成量是根据编码器的编码速率确定的;
丢帧编码帧移除模块,用于将所述丢帧编码帧从所述发送端的缓冲队列中移除。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项权利要求所述直播丢帧方法的步骤。
9.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项权利要求所述直播丢帧方法的步骤。
CN201811577576.9A 2018-12-20 2018-12-20 直播丢帧方法、系统、计算机设备和存储介质 Active CN109660879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811577576.9A CN109660879B (zh) 2018-12-20 2018-12-20 直播丢帧方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811577576.9A CN109660879B (zh) 2018-12-20 2018-12-20 直播丢帧方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN109660879A CN109660879A (zh) 2019-04-19
CN109660879B true CN109660879B (zh) 2021-11-19

Family

ID=66115922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811577576.9A Active CN109660879B (zh) 2018-12-20 2018-12-20 直播丢帧方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN109660879B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062003B (zh) * 2019-04-30 2022-01-25 北京金山云网络技术有限公司 视频数据发送方法、装置、电子设备及存储介质
CN110557647A (zh) * 2019-08-29 2019-12-10 山东柄烁网络科技有限公司 一种简便的直录播会议推流技术
CN110933380A (zh) * 2019-12-17 2020-03-27 深圳市道通智能航空技术有限公司 一种图传控制方法、系统及无人机
CN111107104B (zh) * 2019-12-31 2022-02-18 广州酷狗计算机科技有限公司 视频发送方法、视频接收方法、装置、设备及存储介质
CN112104840B (zh) * 2020-09-09 2022-10-04 深圳市有方科技股份有限公司 视频采集方法及移动基带工作站
CN112822505B (zh) * 2020-12-31 2023-03-03 杭州星犀科技有限公司 音视频丢帧方法、装置、系统、存储介质和计算机设备
CN113301051A (zh) * 2021-05-27 2021-08-24 西安万像电子科技有限公司 数据的传输方法、装置、计算机存储介质和处理器
CN113489745B (zh) * 2021-07-29 2024-04-05 百果园技术(新加坡)有限公司 视频数据发送方法、装置、设备和存储介质
CN114245131A (zh) * 2021-12-18 2022-03-25 杭州视洞科技有限公司 一种基于缓冲队列动态调整视频码率的优化算法
CN116233024A (zh) * 2022-12-22 2023-06-06 中国联合网络通信集团有限公司 数据包确定方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194823A (ja) * 2006-01-18 2007-08-02 Nec System Technologies Ltd 映像音声制御装置、映像音声調整システム、映像音声調整方法およびプログラム
CN104394421A (zh) * 2013-09-23 2015-03-04 贵阳朗玛信息技术股份有限公司 视频帧的处理方法及装置
CN104702972A (zh) * 2014-01-03 2015-06-10 杭州海康威视数字技术股份有限公司 一种自适应图像数据发送方法和装置
CN107295395A (zh) * 2017-06-27 2017-10-24 武汉斗鱼网络科技有限公司 码率自适应调节方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194823A (ja) * 2006-01-18 2007-08-02 Nec System Technologies Ltd 映像音声制御装置、映像音声調整システム、映像音声調整方法およびプログラム
CN104394421A (zh) * 2013-09-23 2015-03-04 贵阳朗玛信息技术股份有限公司 视频帧的处理方法及装置
CN104702972A (zh) * 2014-01-03 2015-06-10 杭州海康威视数字技术股份有限公司 一种自适应图像数据发送方法和装置
CN107295395A (zh) * 2017-06-27 2017-10-24 武汉斗鱼网络科技有限公司 码率自适应调节方法、装置及电子设备

Also Published As

Publication number Publication date
CN109660879A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109660879B (zh) 直播丢帧方法、系统、计算机设备和存储介质
KR101716071B1 (ko) 적응적 스트리밍 기법
CN107210998B (zh) 使用命名域网络的自适应比特率系统架构
EP3253064A1 (en) Frame loss method for video frame and video sending apparatus
US8831108B2 (en) Low latency rate control system and method
CA2758763C (en) Method and device for fast pushing unicast stream in fast channel change
CN110267100B (zh) Flv视频的码率切换方法、装置、电子设备及存储介质
CN109168083B (zh) 一种流媒体实时播放方法及装置
KR102618101B1 (ko) 미디어 타이틀의 버퍼-제약 버전을 생성할 때의 인코딩 동작들의 최적화
CN113301392B (zh) 码率确定方法、装置、设备及存储介质
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN111918134A (zh) 修正视讯串流流量的方法、机顶盒及计算机可读存储介质
US20230082211A1 (en) Methods and devices for controlling a transmission of a video stream
CN116546276A (zh) 链路带宽估计方法、装置、设备、存储介质以及程序产品
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
CN111954007B (zh) Udp直播中vbr视频快速平滑发送方法与装置
CN115037701B (zh) 视频处理方法、装置、服务器及介质
JP4373283B2 (ja) 映像音声復号方法、映像音声復号装置、映像音声復号プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2014011636A (ja) 送信装置、送信方法、及びプログラム
CN109688201B (zh) 更换资源数据获取对象的方法、装置、设备及存储介质
EP2911406A1 (en) Method and device for encoding a video
CN117729376A (zh) 视频播放方法、装置、设备及存储介质
EP3687176A1 (en) A client and a method for managing, at the client, a streaming session of a multimedia content
CN116886924A (zh) 基于编码视频稳定帧率自驱方法和装置
CN117041469A (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