CN106162214B - 视频编码方法及视频直播客户端 - Google Patents

视频编码方法及视频直播客户端 Download PDF

Info

Publication number
CN106162214B
CN106162214B CN201610805331.1A CN201610805331A CN106162214B CN 106162214 B CN106162214 B CN 106162214B CN 201610805331 A CN201610805331 A CN 201610805331A CN 106162214 B CN106162214 B CN 106162214B
Authority
CN
China
Prior art keywords
image frame
video image
code rate
video
coding
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
CN201610805331.1A
Other languages
English (en)
Other versions
CN106162214A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610805331.1A priority Critical patent/CN106162214B/zh
Publication of CN106162214A publication Critical patent/CN106162214A/zh
Application granted granted Critical
Publication of CN106162214B publication Critical patent/CN106162214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供了一种视频编码方法及视频直播客户端,采集视频图像帧;确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。通过上述方法及视频直播客户端,可以根据与当前播放直播视频的在线终端数量相对应的码率控制输入参数动态改变视频图像帧的编码码率,从而实现保证视频在带宽有限的互联网中传输的同时又能提高用户的在线观看体验的目的。

Description

视频编码方法及视频直播客户端
技术领域
本发明涉及视频编码技术领域,更具体的说,是涉及一种视频编码方法及视频直播客户端。
背景技术
近年来,随着互联网的迅猛发展,用户在线观看直播视频(比如大型游戏的职业联赛直播视频)的应用需求也越来越多。
现有技术中,当观看直播视频的在线用户人数过多时,往往会超出所预期的带宽,此时,一般采用限制用户接入人数和临时申请更多带宽两种处理策略使直播视频在带宽有限的互联网中传输。但是,上述两种处理策略都有一定的局限性,其中,限制用户接入人数导致用户体验并不理想,而临时申请更多带宽也会由于沟通、运营等多方面原因导致带宽申请不及时,从而造成直播视频卡顿率飙升。
综上可知,现有技术中控制直播视频在带宽有限的互联网中传输的策略严重影响了用户的在线观看体验,因此,亟需一种控制直播视频在带宽有限的互联网中传输的新策略,以提高用户的在线观看体验。
发明内容
有鉴于此,本发明提供了一种视频编码中码率控制方法及装置,以克服现有技术中控制直播视频在带宽有限的互联网中传输的策略严重影响了用户的在线观看体验的问题。
为实现上述目的,本发明提供如下技术方案:
一种视频编码方法,所述方法包括:
采集视频图像帧;
确定所述视频图像帧的编码方式;
当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;
根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
本发明实施例还提供一种视频直播客户端,包括:
采集模块,用于采集视频图像帧;
编码方式确定模块,用于确定所述视频图像帧的编码方式;
调用模块,用于当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;
编码模块,用于根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
本发明实施例还提供一种视频直播客户端,包括:
采集卡,用于采集视频图像帧;
视频编码器,用于确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种视频编码方法及视频直播客户端,采集视频图像帧;确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。通过上述方法及视频直播客户端,可以根据与当前播放直播视频的在线终端数量相对应的码率控制输入参数动态改变视频图像帧的编码码率,从而实现保证视频在带宽有限的互联网中传输的同时又能提高用户的在线观看体验的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的视频编码系统的结构示意图;
图2为本发明实施例提供的视频直播电视台示意图;
图3为本发明实施例提供的推流端软件界面示意图;
图4为本发明实施例提供的视频编码方法的流程图;
图5为本发明实施例提供的确定所述视频图像帧的编码方式的方法流程图;
图6为本发明实施例提供的调用的所述码率控制输入参数对所述视频图像帧进行编码的方法流程图;
图7为本发明实施例提供的另一视频编码方法的流程图;
图8为本发明实施例提供的视频编码方法的应用例效果示意图;
图9为本发明实施例提供的视频编码方法的应用例效果示意图;
图10为本发明实施例提供的视频编码方法的应用例效果示意图;
图11为本发明实施例提供的视频编码装置的结构框图;
图12为本发明实施例提供的编码方式确定模块的结构图;
图13为本发明实施例提供的视频编码装置的又一结构框图;
图14为本发明实施例提供的编码模块的结构图;
图15为本发明实施例提供的视频编码装置的又一结构框图;
图16为本发明实施例提供的视频编码装置的硬件结构框图;
图17为本发明实施例提供的视频编码装置的实体结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的发明人发现,现有技术中控制直播视频在带宽有限的互联网中传输的策略严重影响了用户的在线观看体验,因此,亟需一种控制直播视频在带宽有限的互联网中传输的新策略,以提高用户的在线观看体验。
发明实施例中公开的技术方案为了解决上述问题,提供了一种视频编码方法及视频直播客户端,采集视频图像帧;确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。通过上述方法及视频直播客户端,可以根据与当前播放直播视频的在线终端数量相对应的码率控制输入参数动态改变视频图像帧的编码码率,从而实现保证视频在带宽有限的互联网中传输的同时又能提高用户的在线观看体验的目的。
图1为本发明实施例提供的视频编码系统的结构示意图,本发明实施例提供的视频编码方法可由该视频编码系统实施;参照图1,该视频编码系统可以包括:视频直播客户端10和视频直播服务器20。
其中,视频直播客户端10具体可以为计算机等,其上安装有视频直播电视台(如图2所示的英雄联盟电视台)的推流端软件(如图3所示的推流端软件界面)和采集卡,视频直播电视台的推流端软件内部集成有视频编码器,采集卡能够采集比赛现场的直播视频,经过视频编码器对直播视频进程编码后,上传至视频直播服务器20。
视频直播服务器20具备通过网络与视频直播客户端进行通信的功能,同时还能够为当前观看直播视频的在线用户提供直播视频。
图4为本发明实施例提供的视频编码方法的流程图,该方法可应用于所述视频直播客户端,参照图4,所述方法可以包括:
步骤S100,采集视频图像帧。
具体的,可通过视频直播客户端上安装的采集卡采集视频图像帧。
步骤S101,确定所述视频图像帧的编码方式。
在本实施例中,每个视频图像帧的编码方式并不是一成不变的,针对不同的视频图像帧可能采用不同的编码方式。视频图像帧的编码方式分为第一编码方式和第二编码方式两种,两种编码方式主要因调用的参数不同而不同,具体的,第一编码方式为调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数进行编码的方法,第二编码方式为调用在对视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数进行编码的方式,在本实施例中,视频图像帧的编码方式为第一编码方式,视频图像帧的编码方式确定方式以及视频图像帧的编码方式为第二编码方式时的视频编码方法具体将通过下述实施例进行详细说明。
步骤S102,当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置。
对一个视频直播电视台来说,会预先申请带宽以支持设定数量的在线用户通过能够播放直播视频的在线终端观看直播视频,由于申请带宽一定,而在线用户数量会发生变化,因此,每个在线用户所允许使用的单位带宽也会发生变化,在本实施例中,码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置,以使变更后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应。
可选的,在确定达到设定配置时机时,获取当前播放直播视频的在线终端数量,然后,根据获取的当前播放直播视频的在线终端数量配置所述码率控制输入参数,以使配置后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应。
可选的,确定达到设定配置时机的过程,包括:当确定当前时刻为设定定时时刻时,确定达到设定配置时机;比如,设定每天晚上八点配置码率控制输入参数,则当前时刻为晚上八点时,则获取晚上八点播放直播视频的在线终端数量。
或者,确定达到设定配置时机的过程,包括:当接收到码率控制输入参数配置指令时,确定达到设定配置时机,其中,所述码率控制输入参数变更指令由当前观看直播视频的在线用户或推送直播视频的主播发送的。
可选的,码率控制输入参数一般设置在视频直播电视台的推流端软件的配置文件中,因此,本实施例中,可以调取视频直播电视台的推流端软件的配置文件并对其中的码率控制输入参数进行变更,当所述视频图像帧的编码方式为第一编码方式时,从上述配置文件中调用最新配置的与当前观看直播视频的在线用户的数量相对应的码率控制输入参数。
可选的,当所述当前播放直播视频的在线终端数量大于设定在线终端数量时,降低所述码率控制输入参数,基于此,能够解决带宽不足时,保证当前观看直播视频的在线用户的视频观看质量。当所述当前播放直播视频的在线终端数量小于设定在线终端数量时,提升所述码率控制输入参数,基于此,能够在带宽充足时,提升当前观看直播视频的在线用户的视频观看质量。
步骤S103,根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
本实施例提供了一种视频编码方法,采集视频图像帧;确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。通过上述方法,可以根据与当前播放直播视频的在线终端数量相对应的码率控制输入参数动态改变视频图像帧的编码码率,从而实现保证视频在带宽有限的互联网中传输的同时又能提高用户的在线观看体验的目的。
优选的,图5示出了本发明实施例提供的确定所述视频图像帧的编码方式的方法流程图,参照图5,该方法可以包括:
步骤S200,确定所述视频图像帧的帧类型,当所述视频图像帧的帧类型为关键帧时,执行步骤S201,当所述视频图像帧的帧类型为非关键帧时,执行步骤S203。
实际应用中,并不能随意在一个时间点上改变码率,因为,如果该时间点之前的视频图像帧按大码率编码,此时突然改小码率,会使随后的视频图像帧所能获得的可编码码率空间锐减,进而导致图像质量剧烈下降,出现大量马赛克。如果该时间点之前的视频图像帧按小码率编码,此时突然增大码率,会使随后的视频图像帧所能获得的可编码码率空间剧增,进而导致后续码流大小无法控制。因此,动态控制码率大小,需要找到一个码率控制的起始位置,这个位置上码率的任何调整都可视为初始化调整,后续的视频图像帧不会出现因为码率改变而带来的可编码码率空间剧烈变化。在本步骤中,确定一个码率控制的起始位置即为关键帧,即IDR帧,即一个新的GOP(Group Of Picture,连续的多个图片组成的图像组)的起始。
优选的,可对所述视频图像帧进行半像素复杂度估计确定所述待处理的视频图像帧的帧类型。
步骤S201,判断当前的动态改变码率标识是否为真,当所述当前的动态改变码率标识为真时,执行步骤S202,当所述当前的动态改变码率标识为假时,执行步骤S203。
事实上,并不是每个关键帧都需要改变码率,因此,在本步骤中,设定了一个动态改变码率标识,通过判断该标识的真假,可以确定是否改变视频图像帧的码率,如果需要改变视频图像帧的码率,则确定当前的动态改变码率标识为真,即所述视频图像帧的编码方式为第一编码方式,如果不需要改变视频图像帧的码率,则确定当前的动态改变码率标识为假,即所述视频图像帧的编码方式为第二编码方式。可选的,当前的动态改变码率标识的真假可通过具体的数值表示,比如,当动态改变码率标识的值为1时,则表示当前的动态改变码率标识为真,当动态改变码率标识的值为0时,则表示当前的动态改变码率标识为假。
步骤S202,确定所述视频图像帧的编码方式为第一编码方式。
比如,视频图像帧为IDR帧,且当前动态改变码率标识的值为1,则确定调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数对所述视频图像帧进行编码。
步骤S203,确定所述视频图像帧的编码方式为第二编码方式。
比如,视频图像帧虽然为IDR帧,但是当前动态改变码率标识的值为0,则确定调用在对所述视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数对所述视频图像帧进行编码。
优选的,图6示出了本发明实施例提供的根据调用的所述码率控制输入参数对所述视频图像帧进行编码的方法流程图,参照图6,该方法可以包括:
步骤S300,根据调用的所述码率控制输入参数初始化码率输出缓冲区的大小及满溢程度参数。
步骤S301,根据初始化后的码率输出缓冲区的大小及满溢程度参数计算所述视频图像帧的编码目标大小。
步骤S302,根据所述视频图像帧的编码目标大小预估所述视频图像帧的基础量化值。
步骤S303,根据所述视频图像帧的基础量化值对所述视频图像帧的编码单元CU进行编码。
具体的,当对处于所述视频图像帧的对角线位置的编码单元CU进行编码时,修正所述初始化后的码率输出缓冲区的大小及满溢程度参数。
可选的,图7为本发明实施例提供的另一视频编码方法的流程图,该方法可应用于所述视频直播客户端,参照图7,所述方法可以包括:
步骤S400,采集视频图像帧。
步骤S401,确定所述视频图像帧的编码方式。
在本实施例中,每个视频图像帧的编码方式并不是一成不变的,针对不同的视频图像帧可能采用不同的编码方式。在本实施例中,视频图像帧的编码方式为第二编码方式,视频图像帧的编码方式确定方式已通过上述实施例进行了详细说明。
步骤S402,当所述视频图像帧的编码方式为第二编码方式时,调用在对所述视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数。
步骤S403,根据调用的码率输出缓冲区的大小及满溢程度参数对所述视频图像帧进行编码。
需要说明的是,本步骤中的具体编码方式可以参照上一实施例的步骤S301至步骤S303,此处不再赘述。
优选的,根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧之后,所述方法还包括
将所述编码后的视频图像帧上传至视频直播服务器。
本发明实施例提供的视频编码方法的应用例可以如下:
对战类游戏(如,英雄联盟)直播电视台预先申请100M带宽以支持1000名在线用户通过能够播放直播视频的在线终端观看游戏直播,即每个在线用户可用0.1M带宽,当当前在线用户数量超过1000名时,100M带宽已不能满足每个在线用户可用0.1M带宽的需求,此时,如果采用现有技术的方式,则只能限制用户接入人数,即保证在线用户数量为1000名,当达到该数量时,其他用户将无法在线观看游戏直播,或者,临时申请更多带宽,但是如果由于沟通、运营等多方面原因导致临时申请带宽不及时,则会导致在线用户观看的游戏直播出现卡顿现象,可见,现有技术中上述处理方式严重影响了用户的在线观看体验,而且,如果在线用户数量不到1000名时,每个在线用户仍然只可用0.1M带宽,造成了资源的浪费。
采用本发明实施例提供的视频编码方法,在采集游戏直播视频图像帧之后,先确定该游戏直播视频图像帧的编码方式,当判断该帧的帧类型为关键帧且当前的动态改变码率标识为真时,则确定该游戏直播视频图像帧为第一编码方式,即调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,根据调用的所述码率控制输入参数对该游戏直播视频图像帧进行编码,生成编码后的视频图像帧。具体的,当前在线终端数量超过1000时,最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数与之前配置的码率控制输入参数相比,有所降低,此时,相当于减小码率,由图8可以看出,其码率改变是有效且平滑的,基于此,能够解决带宽不足时,保证当前观看直播视频的在线用户的视频观看质量。当前在线终端数量不足1000时,最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数与之前配置的码率控制输入参数相比,有所提升,此时,相当于增大码率,由图9可以看出,其码率改变也是有效且平滑的,基于此,能够在带宽充足时,提升当前观看直播视频的在线用户的视频观看质量,且达到较高的资源利用率。而且,通过图10可以看出,不管是增大码率还是减小码率,在码率改变的时间点上用户并没有明显感知流的变化。
下面对本发明实施例提供的视频编码装置进行介绍,下文描述的视频编码装置可与上文视频编码方法相互对应参照。
图11为本发明实施例提供的视频编码装置的结构框图,该视频编码装置具体可以为视频直播客户端,参照图11,该视频直播客户端可以包括:
采集模块10,用于采集视频图像帧;
编码方式确定模块11,用于确定所述视频图像帧的编码方式;
调用模块12,用于当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置。
所述调用模块,具体用于:从配置文件中调用最新配置的与当前观看直播视频的在线用户的数量相对应的码率控制输入参数。
编码模块13,用于根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
可选的,图12示出了编码方式确定模块的结构图,参阅图12,该编码方式确定模块具体包括:
帧类型确定单元110,用于确定所述视频图像帧的帧类型。
其中,所述帧类型确定单元具体用于:对所述视频图像帧进行半像素复杂度估计确定所述视频图像帧的帧类型。
判断单元111,用于当所述视频图像帧的帧类型为关键帧时,判断当前的动态改变码率标识是否为真。
编码方式确定单元112,用于当当前的动态改变码率标识为真时,确定所述视频图像帧的编码方式为第一编码方式;当所述视频图像帧的帧类型为非关键帧和/或所述当前的动态改变码率标识为假时,确定所述视频图像帧的编码方式为第二编码方式。
可选的,参照图13,视频直播客户端还包括:
在线终端数量获取模块14,用于在确定达到设定配置时机时,获取当前播放直播视频的在线终端数量。
其中,所述在线终端数量获取模块,具体用于:当确定当前时刻为设定定时时刻时,确定达到设定配置时机;或者,当接收到码率控制输入参数配置指令时,确定达到设定配置时机,其中,所述码率控制输入参数变更指令由当前观看直播视频的在线用户或推送直播视频的主播发送的。
参数配置模块15,用于根据获取的当前播放直播视频的在线终端数量配置所述码率控制输入参数,以使配置后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应。
其中,所述参数配置模块具体用于:当所述当前播放直播视频的在线终端数量大于设定在线终端数量时,降低所述码率控制输入参数;当所述当前播放直播视频的在线终端数量小于设定在线终端数量时,提升所述码率控制输入参数。
可选的,图14示出了编码模块的结构图,参阅图14,该编码模块具体包括:
码率输出缓冲区初始化单元130,用于根据调用的所述码率控制输入参数初始化码率输出缓冲区的大小及满溢程度参数。
编码目标大小计算单元131,用于根据初始化后的码率输出缓冲区的大小及满溢程度参数计算所述视频图像帧的编码目标大小。
基础量化值预估单元132,用于根据所述视频图像帧的编码目标大小预估所述视频图像帧的基础量化值。
编码单元133,用于根据所述视频图像帧的基础量化值对所述视频图像帧的编码单元CU进行编码。
其中,所述编码单元具体用于:当对处于所述视频图像帧的对角线位置的编码单元CU进行编码时,修正所述初始化后的码率输出缓冲区的大小及满溢程度参数。
可选的,参照图15,视频直播客户端还包括:
上传模块16,用于根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧之后,将所述编码后的视频图像帧上传至视频直播服务器。
可选的,所述调用模块还用于:
当所述视频图像帧的编码方式为第二编码方式时,调用在对所述视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数;
则,所述编码模块还用于根据调用的码率输出缓冲区的大小及满溢程度参数对所述视频图像帧进行编码。
可选的,视频编码装置可以为硬件设备,上文描述的模块、单元可以设置于视频编码装置内的功能模块。图16示出了视频编码装置的硬件结构框图,参照图16,视频编码装置可以包括:处理器1,通信接口2,存储器3和通信总线4;其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;存储器3,用于存放程序;程序可以包括程序代码,所述程序代码包括计算机操作指令;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC
(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
采集视频图像帧;
确定所述视频图像帧的编码方式;
当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;
根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
图17为本发明实施例提供的视频编码装置的实体结构框图,该视频编码装置具体可以为视频直播客户端,参照图17,该视频直播客户端可以包括:
采集卡20,用于采集视频图像帧;
视频编码器21,用于确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
下面对本发明提供的视频编码系统进行介绍,该视频编码系统的结构可以如图1所示,包括视频直播客户端10和视频直播服务器20。
其中,视频直播客户端10用于采集视频图像帧;确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
视频直播服务器20用于接收视频直播客户端10上传的所述编码后的视频图像帧。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (23)

1.一种视频编码方法,其特征在于,所述方法包括:
采集视频图像帧;
基于所述视频图像帧的帧类型和当前的动态改变码率标识确定所述视频图像帧的编码方式;
当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;
根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
2.根据权利要求1所述的方法,其特征在于,所述基于所述视频图像帧的帧类型和当前的动态改变码率标识确定所述视频图像帧的编码方式,包括:
确定所述视频图像帧的帧类型;
当所述视频图像帧的帧类型为关键帧时,判断当前的动态改变码率标识是否为真;
当当前的动态改变码率标识为真时,确定所述视频图像帧的编码方式为第一编码方式;
当所述视频图像帧的帧类型为非关键帧和/或所述当前的动态改变码率标识为假时,确定所述视频图像帧的编码方式为第二编码方式。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在确定达到设定配置时机时,获取当前播放直播视频的在线终端数量;
根据获取的当前播放直播视频的在线终端数量配置所述码率控制输入参数,以使配置后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应。
4.根据权利要求3所述的方法,其特征在于,确定达到设定配置时机的过程,包括:
当确定当前时刻为设定定时时刻时,确定达到设定配置时机;或者,当接收到码率控制输入参数配置指令时,确定达到设定配置时机,其中,所述码率控制输入参数配置指令由当前观看直播视频的在线用户或推送直播视频的主播发送的。
5.根据权利要求3所述的方法,其特征在于,根据获取的当前播放直播视频的在线终端数量配置所述码率控制输入参数,以使配置后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应,包括:
当所述当前播放直播视频的在线终端数量大于设定在线终端数量时,降低所述码率控制输入参数;
当所述当前播放直播视频的在线终端数量小于设定在线终端数量时,提升所述码率控制输入参数。
6.根据权利要求1所述的方法,其特征在于,所述调用最新配置的与当前观看直播视频的在线用户的数量相对应的码率控制输入参数,包括:
从配置文件中调用最新配置的与当前观看直播视频的在线用户的数量相对应的码率控制输入参数。
7.根据权利要求1所述的方法,其特征在于,所述根据调用的所述码率控制输入参数对所述视频图像帧进行编码,包括:
根据调用的所述码率控制输入参数初始化码率输出缓冲区的大小及满溢程度参数;
根据初始化后的码率输出缓冲区的大小及满溢程度参数计算所述视频图像帧的编码目标大小;
根据所述视频图像帧的编码目标大小预估所述视频图像帧的基础量化值;
根据所述视频图像帧的基础量化值对所述视频图像帧的编码单元CU进行编码。
8.根据权利要求7所述的方法,其特征在于,所述根据所述视频图像帧的基础量化值对所述视频图像帧的编码单元CU进行编码,包括:
当对处于所述视频图像帧的对角线位置的编码单元CU进行编码时,修正所述初始化后的码率输出缓冲区的大小及满溢程度参数。
9.根据权利要求2所述的方法,其特征在于,所述确定所述视频图像帧的帧类型,包括:
对所述视频图像帧进行半像素复杂度估计确定所述视频图像帧的帧类型。
10.根据权利要求1所述的方法,其特征在于,根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧之后,所述方法还包括:
将所述编码后的视频图像帧上传至视频直播服务器。
11.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述视频图像帧的编码方式为第二编码方式时,调用在对所述视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数;
根据调用的码率输出缓冲区的大小及满溢程度参数对所述视频图像帧进行编码。
12.一种视频直播客户端,其特征在于,包括:
采集模块,用于采集视频图像帧;
编码方式确定模块,用于基于所述视频图像帧的帧类型和当前的动态改变码率标识确定所述视频图像帧的编码方式;
调用模块,用于当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;
编码模块,用于根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
13.根据权利要求12所述的视频直播客户端,其特征在于,所述编码方式确定模块包括:
帧类型确定单元,用于确定所述视频图像帧的帧类型;
判断单元,用于当所述视频图像帧的帧类型为关键帧时,判断当前的动态改变码率标识是否为真;
编码方式确定单元,用于当当前的动态改变码率标识为真时,确定所述视频图像帧的编码方式为第一编码方式;当所述视频图像帧的帧类型为非关键帧和/或所述当前的动态改变码率标识为假时,确定所述视频图像帧的编码方式为第二编码方式。
14.根据权利要求12或13所述的视频直播客户端,其特征在于,还包括:
在线终端数量获取模块,用于在确定达到设定配置时机时,获取当前播放直播视频的在线终端数量;
参数配置模块,用于根据获取的当前播放直播视频的在线终端数量配置所述码率控制输入参数,以使配置后的所述码率控制输入参数与所述设定配置时机下的当前播放直播视频的在线终端数量相对应。
15.根据权利要求14所述的视频直播客户端,其特征在于,所述在线终端数量获取模块,具体用于:
当确定当前时刻为设定定时时刻时,确定达到设定配置时机;
或者,当接收到码率控制输入参数配置指令时,确定达到设定配置时机,其中,所述码率控制输入参数配置指令由当前观看直播视频的在线用户或推送直播视频的主播发送的。
16.根据权利要求14所述的视频直播客户端,其特征在于,所述参数配置模块具体用于:
当所述当前播放直播视频的在线终端数量大于设定在线终端数量时,降低所述码率控制输入参数;当所述当前播放直播视频的在线终端数量小于设定在线终端数量时,提升所述码率控制输入参数。
17.根据权利要求12所述的视频直播客户端,其特征在于,所述调用模块,具体用于:
从配置文件中调用最新配置的与当前观看直播视频的在线用户的数量相对应的码率控制输入参数。
18.根据权利要求12所述的视频直播客户端,其特征在于,所述编码模块包括:
码率输出缓冲区初始化单元,用于根据调用的所述码率控制输入参数初始化码率输出缓冲区的大小及满溢程度参数;
编码目标大小计算单元,用于根据初始化后的码率输出缓冲区的大小及满溢程度参数计算所述视频图像帧的编码目标大小;
基础量化值预估单元,用于根据所述视频图像帧的编码目标大小预估所述视频图像帧的基础量化值;
编码单元,用于根据所述视频图像帧的基础量化值对所述视频图像帧的编码单元CU进行编码。
19.根据权利要求18所述的视频直播客户端,其特征在于,所述编码单元具体用于:
当对处于所述视频图像帧的对角线位置的编码单元CU进行编码时,修正所述初始化后的码率输出缓冲区的大小及满溢程度参数。
20.根据权利要求13所述的视频直播客户端,其特征在于,所述帧类型确定单元具体用于:
对所述视频图像帧进行半像素复杂度估计确定所述视频图像帧的帧类型。
21.根据权利要求12所述的视频直播客户端,其特征在于,还包括:
上传模块,用于根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧之后,将所述编码后的视频图像帧上传至视频直播服务器。
22.根据权利要求13所述的视频直播客户端,其特征在于,所述调用模块还用于:
当所述视频图像帧的编码方式为第二编码方式时,调用在对所述视频图像帧的上一帧编码过程中修正后的码率输出缓冲区的大小及满溢程度参数;
则,所述编码模块还用于根据调用的码率输出缓冲区的大小及满溢程度参数对所述视频图像帧进行编码。
23.一种视频直播客户端,其特征在于,包括:
采集卡,用于采集视频图像帧;
视频编码器,用于基于所述视频图像帧的帧类型和当前的动态改变码率标识确定所述视频图像帧的编码方式;当所述视频图像帧的编码方式为第一编码方式时,调用最新配置的与当前播放直播视频的在线终端数量相对应的码率控制输入参数,其中,所述码率控制输入参数随着当前播放直播视频的在线终端数量变化动态配置;根据调用的所述码率控制输入参数对所述视频图像帧进行编码,生成编码后的视频图像帧。
CN201610805331.1A 2016-09-05 2016-09-05 视频编码方法及视频直播客户端 Active CN106162214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610805331.1A CN106162214B (zh) 2016-09-05 2016-09-05 视频编码方法及视频直播客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610805331.1A CN106162214B (zh) 2016-09-05 2016-09-05 视频编码方法及视频直播客户端

Publications (2)

Publication Number Publication Date
CN106162214A CN106162214A (zh) 2016-11-23
CN106162214B true CN106162214B (zh) 2019-08-27

Family

ID=57340729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610805331.1A Active CN106162214B (zh) 2016-09-05 2016-09-05 视频编码方法及视频直播客户端

Country Status (1)

Country Link
CN (1) CN106162214B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107205159B (zh) * 2017-05-25 2020-08-04 武汉斗鱼网络科技有限公司 网络直播中流媒体的比特率调整方法、装置和存储介质
CN107566910B (zh) * 2017-08-29 2019-11-15 武汉斗鱼网络科技有限公司 直播资源自定义分配监测方法、存储介质、电子设备及系统
CN107592304B (zh) * 2017-08-29 2019-12-10 武汉斗鱼网络科技有限公司 直播资源计算分配方法、存储介质、电子设备及系统
CN108259948B (zh) * 2018-03-30 2020-12-15 武汉斗鱼网络科技有限公司 一种直播音视频的播放方法、装置、计算机及存储介质
CN109544289B (zh) * 2018-11-15 2020-12-18 深圳市福尔科技有限公司 一种实现线上批发的方法及系统
CN110446118B (zh) * 2019-07-01 2021-08-20 创新先进技术有限公司 视频资源预处理方法及装置、视频资源下载方法及装置
CN111405312A (zh) * 2020-04-26 2020-07-10 广州酷狗计算机科技有限公司 直播推流方法、装置、终端、服务器及存储介质
CN113347461B (zh) * 2021-07-05 2022-11-11 湖南快乐阳光互动娱乐传媒有限公司 一种媒资内容提升方法及装置
CN113676754B (zh) * 2021-08-18 2023-08-29 上海哔哩哔哩科技有限公司 直播视频转码方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635765A (zh) * 2015-12-28 2016-06-01 惠州市伟乐科技股份有限公司 一种自适应环境的编码器及编码方法
CN105898291A (zh) * 2015-12-14 2016-08-24 乐视云计算有限公司 网络视频播放方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2018022B1 (en) * 2007-07-19 2018-01-31 LG Electronics Inc. Broadcast receiver, broadcast data transmitting method and broadcast data receiving method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898291A (zh) * 2015-12-14 2016-08-24 乐视云计算有限公司 网络视频播放方法及装置
CN105635765A (zh) * 2015-12-28 2016-06-01 惠州市伟乐科技股份有限公司 一种自适应环境的编码器及编码方法

Also Published As

Publication number Publication date
CN106162214A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106162214B (zh) 视频编码方法及视频直播客户端
CN105163134B (zh) 直播视频的视频编码参数设置方法、装置及视频编码设备
CN107683600B (zh) 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的系统和方法
US10271112B2 (en) System and method for dynamic adaptive video streaming using model predictive control
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
CN109413427B (zh) 一种视频帧编码方法及终端
CN110673948B (zh) 一种云游戏资源调度方法、服务器及存储介质
JP6442507B2 (ja) ネットワークのデバイスにより実行される進行中のトラフィックセッションの中でネットワークの利用可能な帯域幅を割り当てる方法、対応するデバイス
CN110248247A (zh) 基于网络吞吐量的嵌入式动态视频播放控制方法及装置
CN109982159B (zh) 在线播放流媒体的方法和终端
CN108965884A (zh) 一种转码任务的分配方法及调度设备、转码设备
CN110633143A (zh) 一种云游戏资源调度方法、服务器及存储介质
CN109729353B (zh) 一种视频编码方法、装置、系统及介质
CN113852824A (zh) 视频转码方法、装置、电子设备和存储介质
CN108347580A (zh) 一种处理视频帧数据的方法及电子设备
JP2020521212A (ja) Vrマルチメディアの経験品質を決定するための方法および装置
CN116867553A (zh) 多会话远程游戏渲染
CN109769125B (zh) 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN109218745A (zh) 一种直播方法、服务器、客户端及可读存储介质
CN111617466A (zh) 编码格式的确定方法、装置及云游戏的实现方法
CN112968959A (zh) 一种资源请求方法及终端
CN111773662A (zh) 一种基于雾计算的云游戏加速方法、系统、装置及介质
CN114245196B (zh) 一种录屏推流方法、装置、电子设备及存储介质
CN114286128A (zh) 直播视频参数调整方法、系统、装置、设备及存储介质
CN105141644B (zh) 一种流媒体文件的下载方法及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240108

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.