CN110290402B - 一种视频码率调整方法、装置、服务器及存储介质 - Google Patents

一种视频码率调整方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN110290402B
CN110290402B CN201910699787.8A CN201910699787A CN110290402B CN 110290402 B CN110290402 B CN 110290402B CN 201910699787 A CN201910699787 A CN 201910699787A CN 110290402 B CN110290402 B CN 110290402B
Authority
CN
China
Prior art keywords
data
video
video stream
client
target
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
CN201910699787.8A
Other languages
English (en)
Other versions
CN110290402A (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
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 CN201910699787.8A priority Critical patent/CN110290402B/zh
Publication of CN110290402A publication Critical patent/CN110290402A/zh
Application granted granted Critical
Publication of CN110290402B publication Critical patent/CN110290402B/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/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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47208End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting near-video-on-demand content
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种视频码率调整方法、装置、服务器及存储介质,其中方法包括:在向客户端发送第一视频流数据的过程中,获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据;若状态数据满足视频码率调整条件,则基于向客户端已发送的第一视频流数据中的I帧获取目标I帧;基于目标I帧和第一视频流数据的第一码率,获取第二视频流数据,并将第二视频流数据发送给客户端;第二视频流数据和第一视频流数据的头编解码信息和时间戳信息相同,第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致。通过本发明实施例可自动调整视频码率,有效提高视频码率调整的效率。

Description

一种视频码率调整方法、装置、服务器及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种视频码率调整方法、装置、服务器及存储介质。
背景技术
目前,客户端开始播放视频流时会默认选择一个视频码率,一般默认选择的是视频流的原始码率,或者综合客户端的初始化网络加载情况选择一个合适的视频码率。若在客户端播放视频流的过程中出现播放卡顿的问题,则通常需要用户手动选择一个低于当前视频码率的新视频码率,以通过切换至低视频码率使得视频流播放流畅。
在用户选择新视频码率的过程中,用户经常需要经过多次的尝试才能选择出合适的视频码率,多次手动选择耗时长,效率低。
发明内容
本发明实施例提供了一种视频码率调整方法、装置、服务器及存储介质,可以自动调整视频码率,有效提高视频码率调整的效率。
一方面,本发明实施例提供了一种视频码率调整方法,应用于内容分发服务器,所述方法包括:
在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据;
若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;
基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据,并将所述第二视频流数据发送给所述客户端;
其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
另一方面,本发明实施例提供了一种视频码率调整装置,所述装置包括:
处理单元,用于在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据;
所述处理单元,还用于若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;
所述处理单元,还用于基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据;
收发单元,用于将所述第二视频流数据发送给所述客户端;
其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
再一方面,本发明实施例提供了一种服务器,包括:处理器、通信接口和存储器,所述存储器存储有可执行程序代码,所述通信接口受所述处理器的控制用于收发信息,所述处理器用于调用所述可执行程序代码,执行上述视频码率调整方法。
相应地,本发明实施例还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述视频码率调整方法。
本发明实施例通过在用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据满足视频码率调整条件时,基于向客户端已发送的第一视频流数据中的I帧确定目标I帧,然后基于目标I帧和第一视频流数据的码率获取第二视频流数据,并将第二视频流数据发送给客户端,从而可以自动调整视频码率,有效提高视频码率调整的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频云平台的基本架构及流程的示意图;
图2是本发明实施例提供的一种视频码率调整系统的架构示意图;
图3是本发明实施例提供的一种视频码率调整方法的流程示意图;
图4是本发明实施例提供的一种自适应选择视频码率的示意图;
图5是本发明实施例提供的一种视频码率调整装置的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为更好的理解本发明实施例提供的视频码率调整方法,下面首先对视频云平台的基本架构及流程进行说明。请参阅图1,不仅示出了视频云平台直播视频的基本架构及流程,还示出了视频云平台点播视频的基本架构及流程。如图1 所示的视频云平台直播视频的基本架构及流程:1、主播上行通过直播终端对视频流数据进行采集、量化、编码及封装后上传到视频云平台的直播上传接入模块。直播终端为配置有音频设备和视频设备的终端,直播终端可以是配置摄像装置和拾音设备的电脑或者智能手机等。直播终端可以通过实时消息传输协议 (Real Time Messaging Protocol,RTMP)将处理后的视频流数据上传到该直播上传接入模块。2、直播上传接入模块根据主播通过直播终端上传的鉴权信息参数到鉴权中心鉴定主播是否有直播权限。3、转码模块根据下行用户观看的音视频格式和/或视频码率对直播终端上传的视频流数据进行转码,并将转码后的视频流数据分发到各个内容分发网络(Content Delivery Network,CDN)接入集群,或者说分发到内容分发网络CDN分发中心的各个内容分发服务器。4、对转码后的视频流数据进行录制及截图后存储到分布式文件系统。5、鉴黄监控模块对截图进行鉴黄鉴定,如果是违法视频则通知鉴权中心,并禁止直播终端上传视频流数据以及禁止客户端下载违法视频流数据,从而禁止主播直播和客户端用户观看。6、客户端根据用户需求到内容分发网络CDN分发中心就近下载并播放相应格式和/或码率的直播视频流数据,以使客户端用户观看直播视频。
如图1所示的视频云平台点播视频的基本架构及流程:1、视频云用户把点播视频源推送到云视频COS存储平台。2、客户端根据用户需求到内容分发网络CDN分发中心就近下载并播放相应格式和/或码率的点播视频流数据,以使客户端用户观看点播视频。3、CDN分发中心先查询本地是否缓存有客户端所需的点播视频流数据,如果没有则到视频云平台的二级分布式源存储系统回源拉取客户端所需的点播视频流数据。4、如果二级分布式源存储系统也没有缓存客户端所需的点播视频流数据,则直接到视频云用户配置的云视频COS存储平台回源拉取客户端所需的点播视频流数据。5、回源拉取的视频流数据先经过转码、切片、鉴黄等,并在转码切片正常且鉴黄通过时,再把处理后的视频流数据推送到点播视频的分布式小文件系统,分布式小文件系统再将客户端所需的点播视频流数据推送到CDN网络中的内容分发服务器,并通过内容分发服务器下发给客户端。
请一并参见图2,图2为本发明实施例提供的一种视频码率调整系统的架构示意图。如图2所示,所述视频码率调整系统包括内容分发服务器201、客户端 202和目标服务器203,内容分发服务器201通过网络与客户端202连接,内容分发服务器201还通过网络与目标服务器203连接。内容分发服务器201 为内容分发网络CDN中放置的节点服务器,用于存储视频流数据;目标服务器203 为转码服务器,或者为与内容分发服务器201处于同一CDN网络中用于存储视频流数据的服务器。其中,内容分发服务器201在向客户端202发送目标视频的第一视频流数据的过程中,获取用于指示内容分发服务器201与客户端202 之间的网络通道的性能的状态数据,并判断该状态数据是否满足视频码率调整条件;若该状态数据满足视频码率调整条件,则基于向客户端202 已发送的第一视频流数据中的I帧获取目标I帧。进一步地,内容分发服务器201基于目标 I帧和第一视频流数据的第一码率,从目标服务器203获取目标视频的第二视频流数据,并将第二视频流数据发送给客户端202。
其中,第二视频流数据和第一视频流数据的编码参数相同,该编码参数包括头编解码信息以及时间戳信息等;第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致;第二视频流数据的码率为第二码率,第二码率是基于第一码率确定的。采用上述方式,内容分发服务器可以根据用于指示网络通道性能的状态数据,自动调整向客户端发送的视频流数据的视频码率,从而可以有效保证视频流清晰或流畅播放。并且由于不同视频码率的视频流数据的编码参数相同,故在视频码率调整过程中可以使用内容分发服务器和客户端当前建立的连接传输视频流数据,不需要新建连接;因此调整视频码率的过程耗时短,可以有效提高视频码率调整的效率。
请参阅图3,为本发明实施例提供的一种视频码率调整方法的流程示意图。本发明实施例中所描述的视频码率调整方法应用于图2所示系统中的内容分发服务器,所述视频码率调整方法包括:
S301、在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据。
本发明实施例中,内容分发服务器是内容分发网络CDN中的节点服务器,内容分发服务器用于存储视频流数据。当客户端需要播放目标视频时,向CDN 系统发起关于目标视频的视频流数据的下载请求,CDN系统响应该下载请求,根据网络流量和各节点服务器的连接、负载状况、到客户端的距离、响应时间以及存储视频流数据的情况等综合信息,从CDN网络中选择出一个合适的节点服务器作为向客户端发送目标视频的视频流数据的内容分发服务器。进一步地,内容分发服务器与客户端建立网络通道,并通过该网络通道向客户端发送目标视频的第一视频流数据,以使客户端基于内容分发服务器发送的第一视频流数据播放目标视频。内容分发服务器在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据。其中,第一视频流数据的码率为第一码率。第一码率可以是客户端默认选择的一个视频码率,或者是综合客户端的初始化网络加载情况选择的一个视频码率;第一码率可以携带在该下载请求中。第一码率也可以是内容分发服务器基于其存储的目标视频的视频流数据的多种视频码率默认或者随机选择的一个视频码率。
在一实施例中,该状态数据包括数据丢包率和/或数据传输时延。客户端在接收到内容分发服务器发送的第一视频流数据后,测量接收到的第一视频流数据的数据丢包率;然后将数据丢包率作为拥塞信号与时间戳一起反馈给内容分发服务器。内容分发服务器获取客户端反馈回来的数据丢包率,并利用客户端反馈回来的时间戳测量数据传输时延,该数据传输时延可以是数据往返时延。
在另一实施例中,该状态数据包括发送数据缓冲信息和/或接收数据缓冲信息。发送数据缓冲信息用于表示发送端缓冲区的数据状态以及处于该数据状态的时长,发送端缓冲区也即是内容分发服务器的发送数据缓冲区;接收数据缓冲信息用于表示接收端缓冲区的数据状态以及处于该数据状态的时长,接收端缓冲区也即是客户端的接收数据缓冲区。该发送数据缓冲信息是内容分发服务器检测其发送数据缓冲区中的数据状态确定的,该接收数据缓冲信息是客户端检测其接收数据缓冲区中的数据状态确定出并发送给内容分发服务器的。
在一实施例中,内容分发服务器获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据之前,首先检测目标视频的第一视频流数据是否携带码率自适应标识;若检测到该第一视频流数据携带码率自适应标识,则在向客户端发送目标视频的第一视频流数据的过程中,执行获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据的步骤。在另一实施例中,内容分发服务器首先检测客户端向CDN系统发起的关于目标视频的视频流数据的下载请求中是否携带码率自适应标识,若是,则在向客户端发送目标视频的第一视频流数据的过程中,执行获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据的步骤。
S302、检测所述状态数据是否满足视频码率调整条件,若所述状态数据满足所述视频码率调整条件,则执行步骤S303至步骤S305;若所述状态数据不满足所述视频码率调整条件,则结束流程。
本发明实施例中,内容分发服务器获取到用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据之后,基于该状态数据判断目标视频在客户端中播放的过程中是否满足第一流畅播放条件。若判断出目标视频在客户端中播放的过程中不满足第一流畅播放条件,则表示当前网络通道的性能或者说网络状态不好,不能满足第一码率的第一视频流数据的传输要求,内容分发服务器此时确定该状态数据满足视频码率调整条件,并且确定此时需要降低视频流数据的视频码率,以通过降低视频流数据的视频码率使得目标视频播放流畅。
在另一实施例中,内容分发服务器获取到用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据之后,基于该状态数据判断目标视频在客户端中播放的过程中是否满足第二流畅播放条件。若判断出目标视频在客户端中播放的过程中满足第二流畅播放条件,则表示当前网络通道的性能或者说网络状态较好,不仅可以满足第一码率的第一视频流数据的传输要求,还能够支持更高视频码率的视频流数据的传输要求,内容分发服务器此时也确定该状态数据满足视频码率调整条件,并且确定此时可以在第一码率的基础上适当提高视频流数据的视频码率,以通过提高视频流数据的视频码率使得目标视频播放更清晰,提高用户观看体验。
当该状态数据包括数据丢包率和/或数据传输时延时,内容分发服务器基于该数据丢包率和/或该数据传输时延估计上述网络通道的带宽。若估计出的该网络通道的带宽小于或者等于第一带宽,则表示当前网络通道的性能或者说网络状态不好,不能满足第一码率的第一视频流数据的传输要求,内容分发服务器则确定目标视频在客户端中播放的过程中不满足第一流畅播放条件。若估计出的该网络通道的带宽大于第二带宽,则表示当前网络通道的性能或者说网络状态较好,不仅可以满足第一码率的第一视频流数据的传输要求,还能够支持更高视频码率的视频流数据的传输要求,内容分发服务器则确定目标视频在客户端中播放的过程中满足第二流畅播放条件。其中,第一带宽和第二带宽均是基于第一码率确定的,第一带宽大于或者等于第一码率,第二带宽大于第一码率;当第一带宽大于第一码率时,第二带宽大于或者等于第一带宽;当第一带宽等于第一码率时,第二带宽大于第一带宽。在一实施例中,内容分发服务器可以基于该数据丢包率和/或该数据传输时延,采用TCP(传输控制协议)拥塞或类 TFRC(友好速率控制)带宽估计算法预估上述网络通道的带宽。
当该状态数据包括发送数据缓冲信息和/或接收数据缓冲信息时,内容分发服务器基于该发送数据缓冲信息获取发送端缓冲区当前的数据状态以及处于该数据状态的时长,和/或,基于该接收数据缓冲信息获取接收端缓冲区的数据状态以及处于该数据状态的时长。若发送端缓冲区当前处于满数据状态,且处于满数据状态的持续时长大于第一阈值,和/或接收端缓冲区当前处于空数据状态,且处于空数据状态的持续时长大于第二阈值,则表示当前网络通道的性能或者说网络状态不好,不能满足第一码率的第一视频流数据的传输要求,内容分发服务器则确定目标视频在客户端中播放的过程中不满足第一流畅播放条件。其中,满数据状态是指缓冲区当前缓冲的数据量与缓冲区能缓冲的总数据量之间的比例大于或者等于第一比例,第一比例例如是98%或者100%。空数据状态是指缓冲区当前缓冲的数据量与缓冲区能缓冲的总数据量之间的比例小于或者等于第二比例,第二比例例如是2%或者0。
若发送端缓冲区当前处于非满数据状态,且处于非满数据状态的持续时长大于第三阈值,和/或接收端缓冲区当前处于非空数据状态,且处于非空数据状态的持续时长大于第四阈值,则表示当前网络通道的性能或者说网络状态较好,不仅可以满足第一码率的第一视频流数据的传输要求,还能够支持更高视频码率的视频流数据的传输要求,内容分发服务器则确定目标视频在客户端中播放的过程中满足第二流畅播放条件。非满数据状态是指缓冲区当前缓冲的数据量与缓冲区能缓冲的总数据量之间的比例小于第一比例。非空数据状态是指缓冲区当前缓冲的数据量与缓冲区能缓冲的总数据量之间的比例大于第二比例。
需要说明的是,当视频流的码率比较大时,视频流数据也较大,如一10Mbps 的高码率视频流数据,对于网络不稳定或者带宽不足10Mbps的网络通道,内容分发服务器在向客户端发送高码率视频流数据的过程中很容易出现网络拥塞和 TCP零窗口现象,从而可能导致内容分发服务器在下发视频流数据过程中出现发送满场景,也即是发送端缓冲区处于满数据状态;也可能导致视频流数据传输太慢、丢包率高,客户端不能及时接收到内容分发服务器发送的视频流数据,导致接收端缓冲区较长时间处于空数据状态。反之对于网络稳定或者带宽大于 10Mbps的网络通道则不会出现上述问题。故通过数据丢包率、数据传输时延、发送数据缓冲信息、接收数据缓冲信息可以预估上述网络通道的带宽、性能或者说网络状态,从而估计目标视频在客户端中播放的过程中是否流畅播放,确定是降低还是提高视频流数据的视频码率。
S303、获取目标I帧。
本发明实施例中,目标I帧是基于向客户端已发送的第一视频流数据中的I 帧确定的。其中,内容分发服务器可以将当前已向客户端发送的第一视频流数据中所对应播放时间点处于最后的I帧确定为目标I帧。内容分发服务器也可以先从当前已向客户端发送的第一视频流数据中确定出所对应播放时间点处于最后的第一I帧,然后在目标视频的第一视频流数据中确定出第二I帧,第二I帧为目标视频的第一视频流数据中紧接着该第一I帧的下一个I帧,并将第二I帧确定为目标I帧。目标视频的第一视频流数据包括已向客户端发送的和还未向客户端发送的第一视频流数据。I帧即帧内编码帧,表示关键帧,可以理解为这一帧画面的完整保留,解码时只需要本帧数据就可以完成。
S304、基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据。
本发明实施例中,内容分发服务器基于该目标I帧和第一视频流数据的第一码率,从与内容分发服务器建立通信连接的目标服务器获取目标视频的的第二视频流数据。其中,目标服务器可以为视频云平台中的转码服务器,或者为与内容分发服务器处于同一内容分发网络中的节点服务器。与内容分发服务器处于同一内容分发网络中的节点服务器包括所述内容分发服务器、内容分发网络中除所述内容分发服务器之外的其他内容分发服务器。在一实施例中,内容分发服务器先检测其自身是否存储有目标视频的第二视频流数据,若存储有,则直接获取其自身存储的目标视频的第二视频流数据;若未存储,则从与内容分发服务器处于同一内容分发网络中的其他服务器就近获取目标视频的第二视频流数据;若与内容分发服务器处于同一内容分发网络中的其他服务器也未存储有目标视频的第二视频流数据;则从目标视频对应的视频云平台中的转码服务器获取目标视频的第二视频流数据。采用上述方式,可以就近获取视频流数据,节省视频流数据传输时间。
本发明实施例中,第二视频流数据的码率为第二码率,第二码率是基于第一码率确定的。当内容分发服务器是在基于状态数据判断出目标视频在客户端中播放的过程中不满足第一流畅播放条件的情况下,确定该状态数据满足视频码率调整条件的,则内容分发服务获取到的第二视频流数据的第二码率小于第一视频流数据的第一码率,从而可以通过降低视频流数据的视频码率使得目标视频播放流畅。当内容分发服务器是在基于状态数据判断出目标视频在客户端中播放的过程中满足第二流畅播放条件的情况下,确定该状态数据满足视频码率调整条件的,则内容分发服务获取到的第二视频流数据的第二码率大于第一视频流数据的第一码率,从而可以通过提高视频流数据的视频码率使得目标视频播放更清晰,提高用户观看体验。
在一实施例中,第二码率和第一码率可以是成比例的关系。例如第一码率为(K)Mbps,则第二码率可以为(K/2)Mbps、(K/3)Mbps,或者为(2K) Mbps、(3K)Mbps。第二码率也可以是内容分发服务器基于上述状态数据(包括数据丢包率和/或数据传输时延时等)自适应确定出的小于或者大于第一码率的视频码率,例如第一码率为10Mbps,则第二码率可以为8Mbps或者为11Mbps。在另一实施例中,内容分发服务器预置有多个视频码率供选择,并且设置在调整视频码率时需选择与当前视频码率相近的视频码率。请一并参见图4,内容分发服务器预置的多个视频码率包括(X)Mbps、(X/2)Mbps、(X/3)Mbps...... (X/10)Mbps共10个视频码率。当第一码率为(X/3)Mbps,且内容分发服务器是在判断出目标视频在客户端中播放的过程中不满足第一流畅播放条件的情况下,确定该状态数据满足视频码率调整条件的,则将(X/2)Mbps作为第二码率。当第一码率为(X/2)Mbps,且内容分发服务器是在判断出目标视频在客户端中播放的过程中满足第二流畅播放条件的情况下,确定该状态数据满足视频码率调整条件的,则将(X)Mbps作为第二码率。
其中,第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致,第二视频流数据中的第一个I帧也即是第二视频流数据中所对应播放时间点处于最前的I帧。目标服务器中存储的目标视频的第二视频流数据和所述内容分发服务器向客户端发送的第一视频流数据的编码参数相同,该编码参数包括头编解码(Head codec)信息和时间戳(Timestamp base)信息等。头编解码信息包括视频编码及压缩算法、分辨率、帧率、像素bit(比特)位深、色域、序列参数集(SPS)和图像参数集(PPS)等信息中的一种或者多种。时间戳信息包括显示时间戳(Presentation Time Stamp,PTS)、解码时间戳(Decoding Time Stamp,DTS)中的一种或者多种。解码时间戳DTS用于指示客户端的播放器应该在什么时候解码这一帧的数据,显示时间戳PTS用于指示客户端的播放器应该在什么时候显示或者说播放这一帧的数据。由于第二视频流数据的头编解码信息和时间戳信息,与第一视频流数据的头编解码信息和时间戳信息相同;故内容分发服务器在切换视频码率时,只要在目标I帧替换接上第二码率的第二视频流数据即可,不需要重新下发第二视频流数据的头编解码信息和时间戳信息,也即是说内容分发服务器可以通过与客户端已建立的用于传输第一视频流数据的连接(或者说网络通道)来传输第二视频流数据,不需要断开已建立的连接再另外与客户端新建用于传输第二视频流数据的连接,因此本方案不用耗费时间来断开已建立的连接并新建连接,可以有效提高视频码率调整的效率,降低延迟。
需要说明的是,当目标I帧为目标视频的视频流数据中紧接着第一I帧的下一个I帧时,第一I帧为当前已向客户端发送的第一视频流数据中所对应播放时间点处于最后的I帧,则在将第一码率的第一视频流数据切换为第二码率的第二视频流数据的过程中,可以紧接着已向客户端发送的视频流数据发送后续的新视频码率的视频数据,从而可以避免包含相同图像内容的视频流数据的重复发送,有效节省网络资源,在一定程度上避免网络拥塞;另外,客户端也可以基于第二视频流数据紧接着播放已接收到的第一视频流数据的视频内容的后续视频内容,从而可以避免相同视频内容的重复播放,提高用户观看体验。
S305、将所述第二视频流数据发送给所述客户端。
本发明实施例中,内容分发服务器通过上述网络通道向客户端发送目标视频的第二视频流数据,以使客户端基于内容分发服务器发送的第二视频流数据播放目标视频。进一步地,内容分发服务器在向客户端发送目标视频的第二视频流数据的过程中,获取用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据;若该状态数据满足视频码率调整条件,则基于向客户端已发送的第二视频流数据中的I帧获取第三I帧;然后基于第三I帧和第二视频流数据的第二码率,获取目标视频的第三视频流数据,并将第三视频流数据发送给客户端。其中,第三视频流数据和第二视频流数据的头编解码信息以及时间戳信息相同,第三视频流数据中的第一个I帧对应的播放时间点与第三I帧对应的播放时间点一致,第三视频流数据的码率为第三码率,第三码率是基于第二码率确定的,第三码率大于或者小于第二码率。上述步骤的具体实现方式可参考前文描述,此处不再赘述。本发明实施例中,内容分发服务器在向客户端发送目标视频的视频流数据的过程中,一旦检测到满足视频码率调整条件,则立即调整视频流数据的视频码率,以在客户端播放目标视频的过程中保证目标视频播放流畅或者提高目标视频的播放清晰度。
本发明实施例通过在用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据满足视频码率调整条件时,基于向客户端已发送的第一视频流数据中的I帧确定目标I帧;然后基于目标I帧和第一视频流数据的码率获取第二视频流数据,第二视频流数据和第一视频流数据的头编解码信息以及时间戳信息相同,第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致;最后将第二视频流数据发送给客户端,从而可以在不新建连接的情况下自动调整视频码率,有效提高视频码率调整效率的同时保证视频流清晰或流畅播放。
请参阅图5,图5为本发明实施例提供的一种视频码率调整装置的结构示意图。本发明实施例中所描述的视频码率调整装置,对应于前文所述的内容分发服务器,所述视频码率调整装置包括:
处理单元501,用于在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据;
所述处理单元501,还用于若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;
所述处理单元501,还用于基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据;
收发单元502,用于将所述第二视频流数据发送给所述客户端;
其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
在一实施例中,所述处理单元501,还用于:
基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件;若不满足所述第一流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率小于所述第一码率。
在一实施例中,所述状态数据包括数据丢包率和/或数据传输时延,所述处理单元501,具体用于:
基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;若所述带宽小于或者等于第一带宽,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件,所述第一带宽是基于所述第一码率确定的。
在一实施例中,所述状态数据用于指示发送数据缓冲信息和/或接收数据缓冲信息,所述处理单元501,具体用于:
若所述发送数据缓冲信息表示发送端缓冲区处于满数据状态,且处于满数据状态的持续时长大于第一阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于空数据状态,且处于空数据状态的持续时长大于第二阈值,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件。
在一实施例中,所述处理单元501,还用于:
基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件;若满足所述第二流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率大于所述第一码率。
在一实施例中,所述状态数据包括数据丢包率和/或数据传输时延,所述处理单元501,具体用于:
基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;
若所述带宽大于第二带宽,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件,所述第二带宽是基于所述第一码率确定的。
在一实施例中,所述状态数据用于指示发送数据缓冲信息和/或接收数据缓冲信息,所述处理单元501,具体用于:
若所述发送数据缓冲信息表示发送端缓冲区处于非满数据状态,且处于非满数据状态的持续时长大于第三阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于非空数据状态,且处于非空数据状态的持续时长大于第四阈值,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件。
在一实施例中,所述处理单元501,具体用于:基于所述目标I帧和所述第一视频流数据的第一码率,通过所述收发单元502从与所述内容分发服务器建立通信连接的目标服务器获取所述目标视频的的第二视频流数据;其中,所述目标服务器为转码服务器,或者为与所述内容分发服务器处于同一分发网络中的服务器。
在一实施例中,所述视频码率调整装置还包括检测单元503,用于:
检测所述第一视频流数据是否携带码率自适应标识;若所述第一视频流数据携带所述码率自适应标识,则触发所述处理单元501获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据。
可以理解的是,本发明实施例的视频码率调整装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例通过在用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据满足视频码率调整条件时,基于向客户端已发送的第一视频流数据中的I帧确定目标I帧;然后基于目标I帧和第一视频流数据的码率获取第二视频流数据,第二视频流数据和第一视频流数据的头编解码信息以及时间戳信息相同,第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致;最后将第二视频流数据发送给客户端,从而可以在不新建连接的情况下自动调整视频码率,有效提高视频码率调整效率的同时保证视频流清晰或流畅播放。
请参阅图6,图6为本发明实施例提供的一种服务器的结构示意图。本发明实施例中所描述的服务器包括:处理器601、通信接口602及存储器603。其中,处理器601、通信接口602及存储器603可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
其中,处理器601(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其可以解析服务器内的各类指令以及处理服务器的各类数据,例如:CPU可以在服务器内部结构之间传输各类交互数据,等等。通信接口602可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器601的控制用于收发数据。存储器603(Memory)是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器603 既可以包括服务器的内置存储器,当然也可以包括服务器所支持的扩展存储器。存储器603提供存储空间,该存储空间存储了服务器的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等。
在本发明实施例中,处理器601通过运行存储器603中的可执行程序代码,执行如下操作:
在通过所述通信接口602向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据;若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标 I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据,并通过所述通信接口602将所述第二视频流数据发送给所述客户端;其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
在一实施例中,所述处理器601获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之后,还用于:基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件;若不满足所述第一流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率小于所述第一码率。
在一实施例中,所述状态数据包括数据丢包率和/或数据传输时延,所述处理器601基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件时,具体用于:基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;若所述带宽小于或者等于第一带宽,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件,所述第一带宽是基于所述第一码率确定的。
在一实施例中,所述状态数据用于指示发送数据缓冲信息和/或接收数据缓冲信息,所述处理器601基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件时,具体用于:若所述发送数据缓冲信息表示发送端缓冲区处于满数据状态,且处于满数据状态的持续时长大于第一阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于空数据状态,且处于空数据状态的持续时长大于第二阈值,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件。
在一实施例中所述处理器601获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之后,还用于:基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件;若满足所述第二流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率大于所述第一码率。
在一实施例中,所述状态数据包括数据丢包率和/或数据传输时延,所述处理器601基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件时,具体用于:基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;若所述带宽大于第二带宽,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件,所述第二带宽是基于所述第一码率确定的。
在一实施例中,所述状态数据用于指示发送数据缓冲信息和/或接收数据缓冲信息,所述处理器601基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件时,具体用于:若所述发送数据缓冲信息表示发送端缓冲区处于非满数据状态,且处于非满数据状态的持续时长大于第三阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于非空数据状态,且处于非空数据状态的持续时长大于第四阈值,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件。
在一实施例中,所述处理器601基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的的第二视频流数据时,具体用于:基于所述目标I帧和所述第一视频流数据的第一码率,通过所述通信接口602从与所述内容分发服务器建立通信连接的目标服务器获取所述目标视频的的第二视频流数据;其中,所述目标服务器为转码服务器,或者为与所述内容分发服务器处于同一分发网络中的服务器。
在一实施例中,所述处理器601获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之前,还用于:检测所述第一视频流数据是否携带码率自适应标识;若所述第一视频流数据携带所述码率自适应标识,则获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据。
具体实现中,本发明实施例中所描述的处理器601、通信接口602及存储器 603可执行本发明实施例提供的一种视频码率调整方法中所描述的内容分发服务器的实现方式,也可执行本发明实施例提供的一种视频码率调整装置中所描述的实现方式,在此不再赘述。
本发明实施例通过在用于指示内容分发服务器与客户端之间的网络通道的性能的状态数据满足视频码率调整条件时,基于向客户端已发送的第一视频流数据中的I帧确定目标I帧;然后基于目标I帧和第一视频流数据的码率获取第二视频流数据,第二视频流数据和第一视频流数据的头编解码信息以及时间戳信息相同,第二视频流数据中的第一个I帧对应的播放时间点与目标I帧对应的播放时间点一致;最后将第二视频流数据发送给客户端,从而可以在不新建连接的情况下自动调整视频码率,有效提高视频码率调整效率的同时保证视频流清晰或流畅播放。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本发明实施例所述的视频码率调整方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本发明实施例所述的视频码率调整方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种视频码率调整方法,其特征在于,应用于内容分发服务器,所述方法包括:
在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据;
若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;其中,所述目标I帧包括:当前已向所述客户端发送的第一视频流数据中所对应播放时间点处于最后的I帧,或者所述目标视频的第一视频流数据中所述所对应播放时间点处于最后的I帧的相邻下一个I帧;
基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据,并将所述第二视频流数据发送给所述客户端;
其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
2.如权利要求1所述的方法,其特征在于,所述获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之后,所述方法还包括:
基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件;
若不满足所述第一流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;
其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率小于所述第一码率。
3.如权利要求2所述的方法,其特征在于,所述状态数据包括数据丢包率和/或数据传输时延,所述基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件,包括:
基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;
若所述带宽小于或者等于第一带宽,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件,所述第一带宽是基于所述第一码率确定的。
4.如权利要求2所述的方法,其特征在于,所述状态数据包括:发送数据缓冲信息和/或接收数据缓冲信息;
所述基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第一流畅播放条件,包括:
若所述发送数据缓冲信息表示发送端缓冲区处于满数据状态,且处于满数据状态的持续时长大于第一阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于空数据状态,且处于空数据状态的持续时长大于第二阈值,则确定所述目标视频在所述客户端中播放的过程中不满足第一流畅播放条件。
5.如权利要求1所述的方法,其特征在于,所述获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之后,所述方法还包括:
基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件;
若满足所述第二流畅播放条件,则确定所述状态数据满足所述视频码率调整条件;
其中,所述客户端是基于所述内容分发服务器发送的第一视频流数据播放所述目标视频,且所述第二码率大于所述第一码率。
6.如权利要求5所述的方法,其特征在于,所述状态数据包括数据丢包率和/或数据传输时延,所述基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件,包括:
基于所述数据丢包率和/或所述数据传输时延估计所述网络通道的带宽;
若所述带宽大于第二带宽,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件,所述第二带宽是基于所述第一码率确定的。
7.如权利要求5所述的方法,其特征在于,所述状态数据包括:发送数据缓冲信息和/或接收数据缓冲信息;
所述基于所述状态数据判断所述目标视频在所述客户端中播放的过程中是否满足第二流畅播放条件,包括:
若所述发送数据缓冲信息表示发送端缓冲区处于非满数据状态,且处于非满数据状态的持续时长大于第三阈值,和/或所述接收数据缓冲信息表示接收端缓冲区处于非空数据状态,且处于非空数据状态的持续时长大于第四阈值,则确定所述目标视频在所述客户端中播放的过程中满足第二流畅播放条件。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据,包括:
基于所述目标I帧和所述第一视频流数据的第一码率,从与所述内容分发服务器建立通信连接的目标服务器获取所述目标视频的第二视频流数据;
其中,所述目标服务器为转码服务器,或者为与所述内容分发服务器处于同一分发网络中的服务器。
9.如权利要求1至7中任一项所述的方法,其特征在于,所述获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据之前,所述方法还包括:
检测所述第一视频流数据是否携带码率自适应标识;
若所述第一视频流数据携带所述码率自适应标识,则触发执行所述获取用于指示所述内容分发服务器与所述客户端之间的网络通道的性能的状态数据的步骤。
10.一种视频码率调整装置,其特征在于,所述装置包括:
处理单元,用于在向客户端发送目标视频的第一视频流数据的过程中,获取用于指示内容分发服务器与所述客户端之间的网络通道的性能的状态数据;
所述处理单元,还用于若所述状态数据满足视频码率调整条件,则获取目标I帧,所述目标I帧是基于向所述客户端已发送的第一视频流数据中的I帧确定的;其中,所述目标I帧包括:当前已向所述客户端发送的第一视频流数据中所对应播放时间点处于最后的I帧,或者所述目标视频的第一视频流数据中所述所对应播放时间点处于最后的I帧的相邻下一个I帧;
所述处理单元,还用于基于所述目标I帧和所述第一视频流数据的第一码率,获取所述目标视频的第二视频流数据;
收发单元,用于将所述第二视频流数据发送给所述客户端;
其中,所述第二视频流数据和所述第一视频流数据的头编解码信息以及时间戳信息相同,所述第二视频流数据中的第一个I帧对应的播放时间点与所述目标I帧对应的播放时间点一致,所述第二视频流数据的码率为第二码率,所述第二码率是基于所述第一码率确定的。
11.一种服务器,其特征在于,包括:处理器、通信接口和存储器,所述存储器存储有可执行程序代码,所述通信接口受所述处理器的控制用于收发信息,所述处理器用于调用所述可执行程序代码,执行如权利要求1至9中任一项所述的视频码率调整方法。
12.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至9中任一项所述的视频码率调整方法。
CN201910699787.8A 2019-07-31 2019-07-31 一种视频码率调整方法、装置、服务器及存储介质 Active CN110290402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910699787.8A CN110290402B (zh) 2019-07-31 2019-07-31 一种视频码率调整方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910699787.8A CN110290402B (zh) 2019-07-31 2019-07-31 一种视频码率调整方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110290402A CN110290402A (zh) 2019-09-27
CN110290402B true CN110290402B (zh) 2021-11-05

Family

ID=68024418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910699787.8A Active CN110290402B (zh) 2019-07-31 2019-07-31 一种视频码率调整方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110290402B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114449282B (zh) * 2019-12-26 2023-05-23 腾讯科技(深圳)有限公司 视频传输控制方法及装置、设备、存储介质
CN113141541B (zh) * 2020-01-17 2022-06-10 北京达佳互联信息技术有限公司 码率切换方法、装置、设备及存储介质
CN113141524B (zh) * 2020-01-17 2023-09-29 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质
CN113259729B (zh) * 2020-02-10 2023-07-14 北京字节跳动网络技术有限公司 数据切换的方法、服务器、系统及存储介质
CN111432248A (zh) * 2020-03-30 2020-07-17 北京百度网讯科技有限公司 直播视频流的质量监控方法和装置
CN111526387B (zh) * 2020-03-30 2022-09-23 北京达佳互联信息技术有限公司 一种视频处理方法、装置、电子设备及存储介质
CN111510734B (zh) * 2020-04-17 2021-12-24 广州虎牙科技有限公司 一种cdn调度方法、装置、存储介质及设备
CN111541884A (zh) * 2020-05-07 2020-08-14 深圳市亿联智能有限公司 高兼容度网络流媒体分发系统
CN111669619B (zh) * 2020-06-04 2023-02-28 北京奇艺世纪科技有限公司 一种视频流数据切换方法、装置、终端和可读存储介质
CN112019384A (zh) * 2020-08-24 2020-12-01 广州市百果园信息技术有限公司 带宽预测方法、装置、设备及存储介质
CN112019873A (zh) * 2020-09-08 2020-12-01 北京金山云网络技术有限公司 视频码率调整方法、装置和电子设备
CN112383775A (zh) * 2020-11-10 2021-02-19 福建多多云科技有限公司 一种基于云手机的视频数据传输方法
CN112437319A (zh) * 2020-11-10 2021-03-02 杭州叙简科技股份有限公司 一种基于webrtc切换多视频流的方法
CN112383791B (zh) * 2020-11-12 2023-07-21 咪咕视讯科技有限公司 一种媒体数据处理方法、装置、电子设备和存储介质
CN113055704A (zh) * 2020-12-30 2021-06-29 创盛视联数码科技(北京)有限公司 视频点播快速播放的方法及系统
CN112822521B (zh) * 2020-12-30 2023-04-25 百果园技术(新加坡)有限公司 音视频传输的码率控制方法、装置、设备及存储介质
CN113114978B (zh) * 2021-02-22 2022-11-22 浙江大华技术股份有限公司 一种多设备视频协商传输方法、系统及相关装置
CN113747194B (zh) * 2021-03-18 2023-04-07 上海达龙信息科技有限公司 远程视频传输方法、传输装置、存储介质及电子设备
CN113316005A (zh) * 2021-04-20 2021-08-27 新华三技术有限公司 一种调整视频码率的方法和通信系统
CN113905257A (zh) * 2021-09-29 2022-01-07 北京字节跳动网络技术有限公司 视频码率切换方法、装置、电子设备及存储介质
CN114222169B (zh) * 2021-12-14 2023-10-20 咪咕互动娱乐有限公司 一种视频流传输方法、通信设备及计算机可读存储介质
CN114900715A (zh) * 2022-04-27 2022-08-12 深圳元象信息科技有限公司 视频数据的处理方法、终端和存储介质
CN114650446B (zh) * 2022-05-24 2022-08-19 苏州华兴源创科技股份有限公司 多通道视频数据自适应传输方法、装置、计算机设备
CN117014608A (zh) * 2022-09-07 2023-11-07 腾讯科技(深圳)有限公司 视频流码率调整方法、装置、计算机设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974147A (zh) * 2014-03-07 2014-08-06 北京邮电大学 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102149005A (zh) * 2011-04-29 2011-08-10 四川长虹电器股份有限公司 自适应带宽控制网络视频质量的方法
CN105263066A (zh) * 2014-06-13 2016-01-20 珠海全志科技股份有限公司 移动设备视频流传输控制方法及系统
CN104202614B (zh) * 2014-08-15 2016-03-09 小米科技有限责任公司 一种基于网络环境调整视频画质的方法及装置
US9807336B2 (en) * 2014-11-12 2017-10-31 Mediatek Inc. Dynamic adjustment of video frame sampling rate
CN106162233B (zh) * 2016-07-08 2019-12-31 合一网络技术(北京)有限公司 码率推荐方法及装置
CN107872669B (zh) * 2016-09-27 2019-05-24 腾讯科技(深圳)有限公司 视频码率处理方法和装置
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974147A (zh) * 2014-03-07 2014-08-06 北京邮电大学 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统

Also Published As

Publication number Publication date
CN110290402A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN110290402B (zh) 一种视频码率调整方法、装置、服务器及存储介质
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
US10567465B2 (en) Streaming video over a network
US11197051B2 (en) Systems and methods for achieving optimal network bitrate
US20240007684A1 (en) Systems and methods for selecting an initial streaming bitrate
US11678009B2 (en) Client, server, reception method and transmission method complied to moving picture experts group-dynamic adaptive streaming over HTTP standard
JP6876131B2 (ja) データバッファリング方法、ネットワーク機器、及び記憶媒体
EP2993911A1 (en) Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium
AU2019201095A1 (en) System and method for automatic encoder adjustment based on transport data
US11871079B2 (en) Client and a method for managing, at the client, a streaming session of a multimedia content
US11997366B2 (en) Method and apparatus for processing adaptive multi-view streaming
CN117014608A (zh) 视频流码率调整方法、装置、计算机设备和存储介质
CN115695846A (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