CN114793299B - 流媒体传输控制方法、***、设备与介质 - Google Patents

流媒体传输控制方法、***、设备与介质 Download PDF

Info

Publication number
CN114793299B
CN114793299B CN202210450904.9A CN202210450904A CN114793299B CN 114793299 B CN114793299 B CN 114793299B CN 202210450904 A CN202210450904 A CN 202210450904A CN 114793299 B CN114793299 B CN 114793299B
Authority
CN
China
Prior art keywords
rendering delay
streaming media
average
media data
actual
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
CN202210450904.9A
Other languages
English (en)
Other versions
CN114793299A (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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210450904.9A priority Critical patent/CN114793299B/zh
Publication of CN114793299A publication Critical patent/CN114793299A/zh
Application granted granted Critical
Publication of CN114793299B publication Critical patent/CN114793299B/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/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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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
    • 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/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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及流媒体传输技术领域,公开了一种流媒体传输控制方法、***、设备和介质。所述流媒体传输控制方法运用于流媒体传输控制***的发送端。本发明通过获取流媒体数据,并对流媒体数据进行编码,得到编码后的流媒体数据;统计编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;将编码后的流媒体数据和期望渲染延时发送到接收端,以供接收端确定对应的实际渲染延时;接收实际渲染延时,并根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,并对码率进行调控,根据调控后的码率进行流媒体拥塞控制;从而实现对拥塞进行控制,以及适应网络动态变化。

Description

流媒体传输控制方法、***、设备与介质
技术领域
本发明涉及流媒体传输技术领域,尤其涉及一种流媒体传输控制方法、***、设备与介质。
背景技术
随着互联网视频流量的快速增长,流媒体传输技术也日新月异。流媒体视频流是现在网络中的主要业务量,在流媒体传输中,经常出现网络拥塞的现象,当拥塞发生时,最直观的表现是流媒体视频流质量变差。因此,需要对流媒体传输进行控制,减少网络拥塞。
目前,现有流媒体拥塞控制方法通常基于接收端进行带宽估计,然后将带宽估计值回传到发送端进行码率调控。但是,现有的基于丢包的带宽估计方法在网络已经发生拥塞时才能有效估计出带宽,然后进行拥塞控制,不能“防患于未然”;当网络波动较大时,也不能较好地估计出网络状态。
发明内容
本发明的主要目的在于提出一种流媒体传输控制方法、***、设备与介质,旨在对拥塞进行控制,以及适应网络动态变化。
为实现上述目的,本发明提供一种流媒体传输控制方法,所述流媒体传输控制方法运用于流媒体传输控制***的发送端,所述流媒体传输控制方法包括如下步骤:
获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;
将所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时;
接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
优选地,所述统计所述编码后的流媒体的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时的步骤包括:
统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长;
若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;
若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时。
优选地,所述接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的步骤包括:
接收所述实际渲染延时,并根据所述实际渲染延时,对所述期望渲染延时进行更新;
根据所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定所述流媒体数据对应的实际网络带宽;
根据所述实际网络带宽,对所述流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制。
优选地,所述接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的步骤之后,所述流媒体传输控制方法还包括:
将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染。
优选地,所述将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染的步骤之后,所述流媒体传输控制方法还包括:
进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据。
本发明还提供一种流媒体传输控制方法,所述流媒体传输控制方法运用于流媒体传输控制***的接收端,所述流媒体传输控制方法包括如下步骤:
接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时,所述期望渲染延时由发送端统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估确定;
将所述实际渲染延时发送到发送端,以供所述发送端基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;
接收发送端发送的实际网络带宽,并对所述编码后的流媒体数据进行解码和渲染。
优选地,所述接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时的步骤包括:
接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据所述编码后的流媒体数据获取对应的媒体采样时间戳和接收时间;
根据所述期望渲染延时和所述媒体采样时间戳,确定对应的渲染时间;
根据所述接收时间和所述渲染时间,确定对应的实际渲染延时。
此外,为实现上述目的,本发明还提供一种流媒体传输控制***,其特征在于,所述流媒体传输控制***包括:
发送端,用于获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
发送端,用于统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;
发送端,用于将所述流媒体数据和所述期望渲染延时发送到所述接收端;
接收端,用于接收所述流媒体数据和所述期望渲染延时,并确定对应的实际渲染延时,以及将所述实际渲染延时发送到发送端;
发送端,用于接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
此外,为实现上述目的,本发明还提供一种流媒体传输控制装置,所述流媒体传输控制装置包括:
获取模块,用于获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
预估模块,用于统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;
确定模块,用于将所述平均编码时长、所述平均媒体帧长、以及所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时;
控制模块,用于接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
此外,为实现上述目的,本发明还提供一种流媒体传输控制装置,所述流媒体传输控制装置包括:
接收模块,用于接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时,所述期望渲染延时由发送端统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估确定;
确定模块,用于将所述实际渲染延时发送到发送端,以供所述发送端基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;
解码模块,用于接收发送端发送的实际网络带宽,并对所述编码后的流媒体数据进行解码和渲染。
此外,为实现上述目的,本发明还提供一种设备,所述设备为流媒体传输控制设备,所述流媒体传输控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流媒体传输控制程序,所述流媒体传输控制程序被所述处理器执行时实现如上所述的流媒体传输控制方法的步骤。
此外,为实现上述目的,本发明还提供一种介质,所述介质为计算机可读存储介质,所述计算机可读存储介质上存储有流媒体传输控制程序,所述流媒体传输控制程序被处理器执行时实现如上所述的流媒体传输控制方法的步骤。
本发明提出的流媒体传输控制方法、***、设备和介质;所述流媒体传输控制方法运用于流媒体传输控制***的发送端,所述流媒体传输控制***包括发送端和接收端,所述流媒体传输控制方法包括:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;将所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时;接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。本发明通过获取流媒体数据,并对流媒体数据进行编码,得到编码后的流媒体数据;统计编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;将编码后的流媒体数据和期望渲染延时发送到接收端,以供接收端确定对应的实际渲染延时;接收实际渲染延时,并根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,并对码率进行调控,根据调控后的码率进行流媒体拥塞控制;从而实现对拥塞进行控制,以及适应网络动态变化。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明流媒体传输控制方法第一实施例的流程示意图;
图3为本发明流媒体传输控制方法的流媒体传输控制***的发送端的工作流程示意图;
图4为本发明流媒体传输控制方法的流媒体传输控制***的接收端的工作流程示意图;
图5为本发明流媒体传输控制方法对应的流媒体传输控制***的框架示意图;
图6为本发明流媒体传输控制方法第二实施例的流程示意图;
图7为本发明流媒体传输控制方法第三实施例的流程示意图;
图8为本发明流媒体传输控制方法第四实施例的流程示意图;
图9为本发明流媒体传输控制方法第五实施例的流程示意图;
图10为本发明流媒体传输控制方法第六实施例的流程示意图;
图11为本发明流媒体传输控制方法第七实施例的流程示意图;
图12为本发明流媒体传输控制装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是移动终端或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及流媒体传输控制程序。
其中,操作***是管理和控制流媒体传输控制设备与软件资源的程序,支持网络通信模块、用户接口模块、流媒体传输控制程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的流媒体传输控制设备中,所述流媒体传输控制设备通过处理器1001调用存储器1005中存储的流媒体传输控制程序,并执行下述流媒体传输控制方法各个实施例中的操作。
基于上述硬件结构,提出本发明流媒体传输控制方法实施例。
参照图2,图2为本发明流媒体传输控制方法第一实施例的流程示意图,所述流媒体传输控制方法包括:
步骤S10,获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
步骤S20,统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;
步骤S30,将所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时;
步骤S40,接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
本实施例通过获取流媒体数据,并对流媒体数据进行编码,得到编码后的流媒体数据;统计编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;将编码后的流媒体数据和期望渲染延时发送到接收端,以供接收端确定对应的实际渲染延时;接收实际渲染延时,并根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,并对码率进行调控,根据调控后的码率进行流媒体拥塞控制;从而实现对拥塞进行控制,以及适应网络动态变化。
以下将对各个步骤进行详细说明:
步骤S10,获取流媒体数据,并对所述流媒体数据进行编码和发送。
在本实施例中,所述流媒体传输控制方法运用于流媒体传输控制***的发送端,其中,流媒体传输控制***包括发送端和接收端。
其中,发送端包括媒体处理分支和拥塞控制分支,并行进行媒体处理和拥塞控制;参照图3,图3为流媒体传输控制***的发送端的工作流程示意图,在图3中,图3的左侧为发送端的媒体处理分支的工作流程,图3的右侧为发送端的拥塞控制分支的工作流程。
媒体处理分支周期进行流媒体数据采样,并根据当前的带宽估计值进行编码和发送。
拥塞控制分支实时侦听接收端反馈的实际渲染延时,并将实际渲染延时作为输入,对期望渲染延时进行更新,也即,更新后的期望渲染延时为实际渲染延时。
进一步地,将实际渲染延时作为观测值更新期望渲染延时,并结合平均帧长和平均编码时间,计算出对应的实际网络带宽;发送端更新期望渲染延时和实际网络带宽后,一方面将实际网络带宽/>设置到编码器进行发送端码率控制,另一方面将更新后的期望渲染延时发送给接收端进行渲染调控。
接收端包括渲染延时接收处理分支和媒体处理分支;参照图4,图4为流媒体传输控制***的接收端的工作流程示意图,在图4中,图4的左侧为接收端的媒体处理分支的工作流程,图4的右侧为接收端的渲染延时接收处理分支的工作流程。
其中,渲染延时接收处理分支实时接收发送端设置的期望渲染延时并保存。
媒体处理分支收到每一帧流媒体数据时,首先根据媒体采样时间戳和期望渲染延时计算出其渲染时间,然后根据渲染时间计算出实际渲染延时,并将实际渲染延时反馈给发送端。
参照图4,图4为流媒体传输控制***的框架示意图;其中,小字节探测包的发送和接收模型如下:
其中,为探测包/>的发送时间戳,/>为收发方网络往返时间,/>为接收方相对发送方的***时间偏差。在接收方,根据该小字节探测包/>的发送和接收模型可用一个探测包计算出/>;其中,利用发送端小字节探测包/>计算接收端和发送端时钟偏差与/>之和,并进一步计算出渲染延时,避免了收发端的时钟同步和/>计算误差。
任一流媒体数据帧的发送和接收模型如下:
其中,上式表示任一流媒体数据帧从采集到接收端接收流程中的时间关系;为流媒体数据帧/>的发送时间戳,/>为收发方网络往返时间,/>为接收方相对发送方的***时间偏差,/>为流媒体数据帧/>的平均媒体帧长、/>为流媒体数据帧/>的平均编码时长,/>为网络带宽的估计值。
其中,正常情况下,接收端期望解码并渲染的时间为:
其中,为流媒体数据帧/>从采集到接收端接收流程中的时间,/>为流媒体数据帧/>的解码时间。
根据上式,接收端期望解码并渲染的时间表达如下:
其中,为流媒体数据帧/>从采集到接收端接收流程中的时间,/>为收发方网络往返时间,/>为接收方相对发送方的***时间偏差,/>为流媒体数据帧/>的平均媒体帧长、/>为流媒体数据帧/>的平均编码时长,/>为网络带宽的估计值,/>为流媒体数据帧/>的解码时间。
通过从不同的渠道获取流媒体数据,并对流媒体数据进行编码,得到编码后的流媒体数据。其中,参照图3的右侧,发送端的媒体处理分支周期进行流媒体数据采样,并根据当前的带宽估计值将流媒体数据进行编码,得到编码后的流媒体数据。本实施例对获取流媒体数据的渠道不作限定。
步骤S20,统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时。
在本实施例中,通过发送端的拥塞控制分支统计编码后的流媒体数据的平均编码时长和平均媒体帧长;其中,发送端的拥塞控制分支包括卡尔曼滤波渲染延时估计模块;也即,根据编码后的流媒体数据的平均编码时长和平均媒体帧长,并利用卡尔曼滤波渲染延时估计模块进行渲染延时预估,确定流媒体数据对应的期望渲染延时。
步骤S30,将所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时。
在一实施例中,通过发送端的媒体处理分支将编码后的流媒体数据发送给接收端。其中,在接收端接收到编码后的流媒体数据后,编码后的流媒体数据中包含流媒体数据的采样时间戳和接收时间;采样时间戳为发送端获取到流媒体数据的时间;接收时间为接收端接收到编码后的流媒体数据的时间。
以及,通过发送端的拥塞控制分支将期望渲染延时发送到接收端。
当接收端接收到编码后的流媒体数据和编码后的流媒体数据对应的期望渲染延时后,接收端根据编码后的流媒体数据和期望渲染延时,确定流媒体数据对应的实际渲染延时。通过流媒体数据的媒体采样时间戳和接收时间、以及期望渲染延时,确定对应的实际渲染延时。
将实际渲染延时反馈给发送端的拥塞控制分支,也即将实际渲染延时反馈给发送端的卡尔曼滤波渲染延时估计模块。
步骤S40,接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
在本实施例中,接收端接收到发送端实际渲染延时,并根据流媒体数据的平均编码时长、流媒体数据的平均媒体帧长、以及实际渲染延时,确定编码后的流媒体数据对应的实际网络带宽,并通过实际网络带宽对码率进行调控;根据调控后的码率进行流媒体拥塞控制;通过利用延时变化信息提前感知网络波动并对拥塞进行控制。
本实施例通过获取流媒体数据,并对流媒体数据进行编码,得到编码后的流媒体数据;统计编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;将编码后的流媒体数据和期望渲染延时发送到接收端,以供接收端确定对应的实际渲染延时;接收实际渲染延时,并根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,并对码率进行调控,根据调控后的码率进行流媒体拥塞控制;从而实现对拥塞进行控制,以及适应网络动态变化。
进一步地,基于本发明流媒体传输控制方法第一实施例,提出本发明流媒体传输控制方法第二实施例。
流媒体传输控制方法的第二实施例流媒体传输控制方法的第一实施例的区别在于本实施例是对步骤S20,统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时的细化,参照图6,该步骤具体包括:
步骤S21,统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长;
步骤S22,若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;
步骤S23,若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时。
在本实施例中,统计编码后的流媒体数据的平均编码时长和平均媒体帧长;当为首次计算期望渲染延时时,根据流媒体数据的平均编码时长和平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;当为非首次计算期望渲染延时时,根据流媒体数据的平均编码时长、平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时;通过在发送端利用卡尔曼滤波器计算接收端的期望渲染延时,对接收端进行渲染时间调控,从而缩短流媒体数据拥塞控制的反馈周期。
以下将对各个步骤进行详细说明:
步骤S21,统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长。
在本实施例中,发送端包括媒体处理分支和拥塞控制分支,并行进行媒体数据处理和拥塞控制。
其中,发送端的拥塞控制分支包括卡尔曼滤波渲染延时估计模块,卡尔曼滤波渲染延时估计模块包括卡尔曼滤波器。通过卡尔曼滤波渲染延时估计模块统计编码后的流媒体数据的平均编码时长和平均媒体帧长/>。其中,当为首次计算期望渲染延时,可通过编码后的流媒体数据的平均编码时长/>和平均媒体帧长/>确定对应的期望渲染延时/>
步骤S22,若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时。
在本实施例中,当为首次计算期望渲染延时,则卡尔曼滤波渲染延时估计模块通过利用编码后的流媒体数据的平均编码时长和平均媒体帧长/>,进行渲染延时预估,确定对应的期望渲染延时/>
期望渲染延时表示接收端基于该延时进行流媒体数据播放,预期可以流畅播放;理想情况下该值为固定值。当网络变化时,期望渲染延时/>随之变化,它反映了网络的波动;并且该值的梯度可以提前探测网络变化。
进一步地,通过利用期望渲染延时、平均媒体帧长/>、以及平均编码时长/>,可计算出网络带宽/>的估计值。期望渲染延时/>表达如下:
其中,为平均编码时长,/>为平均媒体帧长,/>为网络带宽的估计值。
步骤S23,若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时。
在本实施例中,当为非首次计算期望渲染延时,则卡尔曼滤波渲染延时估计模块通过利用编码后的流媒体数据的平均编码时长、平均媒体帧长/>、以及上一采样周期的实际渲染延时,进行渲染延时预估,确定对应的期望渲染延时/>。其中,任一第/>帧的实际渲染延时/>表达如下:
其中,为任一第/>帧的接收端期望解码并渲染的时间,/>为任一第/>帧的时间探测包/>的发送时间戳,/>为收发方网络往返时间,/>为接收方相对发送方的***时间偏差,/>为解码时间。
在本实施例中,统计编码后的流媒体数据的平均编码时长和平均媒体帧长;当为首次计算期望渲染延时时,根据流媒体数据的平均编码时长和平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;当为非首次计算期望渲染延时时,根据流媒体数据的平均编码时长、平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时;通过在发送端利用卡尔曼滤波器计算接收端的期望渲染延时,对接收端进行渲染时间调控,从而缩短流媒体数据拥塞控制的反馈周期。
进一步地,基于本发明流媒体传输控制方法第一、二实施例,提出本发明流媒体传输控制方法第三实施例。
流媒体传输控制方法的第三实施例与流媒体传输控制方法的第一、二实施例的区别在于本实施例是对步骤S40,基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的细化,参照图7,该步骤具体包括:
步骤S41,接收所述实际渲染延时,并根据所述实际渲染延时,对所述期望渲染延时进行更新;
步骤S42,根据所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定所述流媒体数据对应的实际网络带宽;
步骤S43,根据所述实际网络带宽,对所述流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制。
在本实施例中,接收实际渲染延时,并根据实际渲染延时对期望渲染延时进行更新;根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定流媒体数据对应的实际网络带宽;根据实际网络带宽,对流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制;通过在发送端进行实际网络带宽估计,从而实现灵活快速进行码率调控,进而能较好适用于多接收方等场景。
以下将对各个步骤进行详细说明:
步骤S41,接收所述实际渲染延时,并根据所述实际渲染延时,对所述期望渲染延时进行更新。
在本实施例中,在接收端的渲染时间控制模块中,通过流媒体数据对应的媒体采样时间戳、接收时间、以及期望渲染延时,获取到对应的实际渲染延时;并通过渲染时间控制模块将实际渲染延时反馈给发送端的卡尔曼滤波渲染延时估计模块。
在发送端的卡尔曼滤波渲染延时估计模块中,通过实时侦听接收端的渲染时间控制模块反馈的实际渲染延时,并将实际渲染延时、以及统计的流媒体数据的平均编码时长/>和平均媒体帧长/>作为卡尔曼滤波渲染延时估计模块的输入,对期望渲染延时进行更新,得到下一采样周期的期望渲染延时。
步骤S42,根据所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定所述流媒体数据对应的实际网络带宽。
在本实施例中,在发送端的卡尔曼滤波渲染延时估计模块中,卡尔曼滤波器将实际渲染延时作为观测值更新期望渲染延时;然后,根据平均编码时长/>、平均媒体帧长/>、以及实际渲染延时/>,计算得到流媒体数据对应的实际网络带宽;实际网络带宽的表达如下:
其中,为平均编码时长,/>为平均媒体帧长,/>为实际渲染延时。
步骤S43,根据所述实际网络带宽,对所述流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制。
在本实施例中,根据上述计算得到的实际网络带宽,对流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制;通过延时变化可以提前感知网络波动并对拥塞进行控制。
在本实施例中,接收实际渲染延时,并根据实际渲染延时对期望渲染延时进行更新;根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定流媒体数据对应的实际网络带宽;根据实际网络带宽,对流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制;通过在发送端进行实际网络带宽估计,从而实现灵活快速进行码率调控,进而能较好适用于多接收方等场景。
进一步地,基于本发明流媒体传输控制方法第一、二、三实施例,提出本发明流媒体传输控制方法第四实施例。
流媒体传输控制方法的第四实施例与流媒体传输控制方法的第一、二、三实施例的区别在于本实施例是对步骤S40,接收所述实际渲染延时,并基于所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的步骤之后,参照图8,所述流媒体传输控制方法还包括:
步骤A10,将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染。
在本实施例中,将实际网络带宽发送到接收端,以供接收端对编码后的流媒体数据进行解码和渲染;从而响应当前的实际拥塞状态,实现了流媒体数据传输的优化。
以下将对各个步骤进行详细说明:
步骤A10,将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染。
在本实施例中,当发送端确定对应的实际网络带宽,并根据实际网络带宽对码率进行调控,以及根据调控后的码率进行流媒体拥塞控制之后,将实际网络带宽发送到接收端,以供接收端通过利用实际渲染延时和实际网络带宽对编码后的流媒体数据进行解码和渲染;从而响应当前的实际拥塞状态,动态调整流媒体数据的码率,保证了流媒体数据的流畅播放。
在本实施例中,将实际网络带宽发送到接收端,以供接收端对编码后的流媒体数据进行解码和渲染;从而响应当前的实际拥塞状态,实现了流媒体数据传输的优化。
进一步地,基于本发明流媒体传输控制方法第一、二、三、四实施例,提出本发明流媒体传输控制方法第五实施例。
流媒体传输控制方法的第五实施例与流媒体传输控制方法的第一、二、三、四实施例的区别在于本实施例是对步骤A10,将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染的步骤之后,参照图9,所述流媒体传输控制方法还包括:
步骤B10,进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据。
在本实施例中,当通过接收端对编码后的流媒体数据进行解码和渲染后,然后进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;从而提高流媒体数据拥塞控制的效率。
以下将对各个步骤进行详细说明:
步骤B10,进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据。
在本实施例中,当接收端根据实际渲染延时和实际网络带宽对编码后的流媒体数据进行解码和渲染后,然后进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;从而提高流媒体数据拥塞控制的效率。
在本实施例中,当通过接收端对编码后的流媒体数据进行解码和渲染后,然后进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;从而提高流媒体数据拥塞控制的效率。
参照图10,图10为本发明流媒体传输控制方法第六实施例的流程示意图,所述流媒体传输控制方法运用于流媒体传输控制***的接收端,所述流媒体传输控制***包括发送端和接收端,所述流媒体传输控制方法包括:
步骤C10,接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时,所述期望渲染延时由发送端统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估确定;
步骤C20,将所述实际渲染延时发送到发送端,以供所述发送端基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;
步骤C30,接收发送端发送的实际网络带宽,并对所述编码后的流媒体数据进行解码和渲染。
在本实施例中,通过接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据编码后的流媒体数据和期望渲染延时,确定对应的实际渲染延时;将实际渲染延时发送到发送端,以供发送端根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;接收发送端发送的实际网络带宽,并对编码后的流媒体数据进行解码和渲染;从而实现对拥塞进行控制,以及适应网络动态变化。
以下将对各个步骤进行详细说明:
步骤C10,接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时,所述期望渲染延时由发送端统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估确定。
在本实施例中,接收发送端发送的编码后的流媒体数据和期望渲染延时;当接收端接收到编码后的流媒体数据和期望渲染延时之后,其中,编码后的流媒体数据中包括有编码后的流媒体数据对应的媒体采样时间戳和接收时间;并根据编码后的流媒体数据对应的期望渲染延时、媒体采样时间戳、以及接收时间,确定对应的实际渲染延时。
其中,期望渲染延时由发送端统计编码后的流媒体数据的平均编码时长和平均媒体帧长,并根据平均编码时长和平均媒体帧长进行渲染延时预估确定的。
步骤C20,将所述实际渲染延时发送到发送端,以供所述发送端基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
在本实施例中,将实际渲染延时实际渲染延时发送到发送端;发送端根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽;进一步地,发送端根据实际网络带宽对码率进行调控,并根据调控后的码率进行流媒体拥塞控制。
发送端将实际网络带宽发送到接收端。
步骤C30,接收发送端发送的实际网络带宽,并对所述编码后的流媒体数据进行解码和渲染。
在本实施例中,接收端接收发送端发送的实际网络带宽,并根据实际网络带宽对编码后的流媒体数据进行解码和渲染。
在本实施例中,通过接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据编码后的流媒体数据和期望渲染延时,确定对应的实际渲染延时;将实际渲染延时发送到发送端,以供发送端根据平均编码时长、平均媒体帧长、以及实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;接收发送端发送的实际网络带宽,并对编码后的流媒体数据进行解码和渲染;从而实现对拥塞进行控制,以及适应网络动态变化。
进一步地,基于本发明流媒体传输控制方法第一、二、三、四、五、六实施例,提出本发明流媒体传输控制方法第七实施例。
流媒体传输控制方法的第七实施例与流媒体传输控制方法的第一、二、三、四、五、六实施例的区别在于本实施例是对步骤C10,接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时的细化,参照图11,该步骤具体包括:
步骤C11,接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据所述编码后的流媒体数据获取对应的媒体采样时间戳和接收时间;
步骤C12,根据所述期望渲染延时和所述媒体采样时间戳,确定对应的渲染时间;
步骤C13,根据所述接收时间和所述渲染时间,确定对应的实际渲染延时。
在本实施例中,接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据编码后的流媒体数据获取对应的媒体采样时间戳和接收时间;根据期望渲染延时和媒体采样时间戳,确定对应的渲染时间;根据渲染时间和接收时间,确定对应的实际渲染延时;通过接收端根据期望渲染延时对媒体帧进行渲染时间设置,并将实际渲染延时反馈给发送端;从而能够较好适应网络动态变化。
以下将对各个步骤进行详细说明:
步骤C11,接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据所述编码后的流媒体数据获取对应的媒体采样时间戳和接收时间。
在本实施例中,接收端包括渲染延时接收处理分支和媒体处理分支,并行进行媒体数据处理和期望渲染延时接收处理。接收端通过媒体处理分支获取编码后的流媒体数据,接收端通过渲染延时接收处理分支获取编码后的对应的期望渲染延时。
当接收端接收到编码后的流媒体数据和期望渲染延时之后,其中,编码后的流媒体数据中包括有编码后的流媒体数据对应的媒体采样时间戳和接收时间;接收端通过从编码后的流媒体数据中获取对应的媒体采样时间戳和接收时间。
步骤C12,根据所述期望渲染延时和所述媒体采样时间戳,确定对应的渲染时间。
在本实施例中,接收端包括渲染延时接收处理分支和媒体处理分支,并行进行媒体数据处理和期望渲染延时接收处理;其中,渲染延时接收处理分支中包括渲染时间控制模块。渲染时间控制模块根据期望渲染延时和媒体采样时间戳,确定流媒体数据对应的渲染时间;其中,渲染时间为期望渲染延时与媒体采集时间戳之和。
步骤C13,根据所述接收时间和所述渲染时间,确定对应的实际渲染延时。
在本实施例中,渲染时间控制模块根据接收时间和渲染时间,确定流媒体数据对应的实际渲染延时;其中,实际渲染延时为渲染时间与接收时间之差。
在本实施例中,接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据编码后的流媒体数据,获取对应的媒体采样时间戳和接收时间;根据期望渲染延时和媒体采样时间戳,确定对应的渲染时间;根据渲染时间和接收时间,确定对应的实际渲染延时;通过接收端根据期望渲染延时对媒体帧进行渲染时间设置,并将实际渲染延时反馈给发送端;从而能够较好适应网络动态变化。
本发明还提供一种流媒体传输控制装置。参照图12,本发明流媒体传输控制装置包括:
获取模块10,用于获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
预估模块20,用于统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时;
确定模块30,用于将所述流媒体数据和所述期望渲染延时发送到所述接收端,以供所述接收端确定对应的实际渲染延时;
控制模块40,用于接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
此外,本发明还提供一种介质,所述介质为计算机可读存储介质,其上存储有流媒体传输控制程序,流媒体传输控制程序被处理器执行时实现如上所述的流媒体传输控制方法的步骤。
其中,在所述处理器上运行的流媒体传输控制程序被执行时所实现的方法可参照本发明流媒体传输控制方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种流媒体传输控制方法,其特征在于,所述流媒体传输控制方法运用于流媒体传输控制***的发送端,所述流媒体传输控制方法包括如下步骤:
获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时,包括:
统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长;
若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;
若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时;
将所述编码后的流媒体数据和所述期望渲染延时发送到接收端,以供所述接收端确定对应的实际渲染延时;
接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
2.如权利要求1所述的流媒体传输控制方法,其特征在于,所述接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的步骤包括:
接收所述实际渲染延时,并根据所述实际渲染延时,对所述期望渲染延时进行更新;
根据所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定所述流媒体数据对应的实际网络带宽;
根据所述实际网络带宽,对所述流媒体数据的码率进行调控,并根据调控后的码率进行流媒体拥塞控制。
3.如权利要求1所述的流媒体传输控制方法,其特征在于,所述接收所述实际渲染延时,并基于所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制的步骤之后,所述流媒体传输控制方法还包括:
将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染。
4.如权利要求1所述的流媒体传输控制方法,其特征在于,所述将所述实际网络带宽发送到所述接收端,以供所述接收端对所述编码后的流媒体数据进行解码和渲染的步骤之后,所述流媒体传输控制方法还包括:
进入下一采样周期,返回步骤:获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据。
5.一种流媒体传输控制方法,其特征在于,所述流媒体传输控制方法运用于流媒体传输控制***的接收端,所述流媒体传输控制方法包括如下步骤:
接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时,所述期望渲染延时由发送端统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估确定,具体确定方式包括:若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时;
将所述实际渲染延时发送到发送端,以供所述发送端基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制;
接收发送端发送的实际网络带宽,并对所述编码后的流媒体数据进行解码和渲染。
6.如权利要求5所述的流媒体传输控制方法,其特征在于,所述接收发送端发送的编码后的流媒体数据和期望渲染延时,并确定对应的实际渲染延时的步骤包括:
接收发送端发送的编码后的流媒体数据和期望渲染延时,并根据所述编码后的流媒体数据获取对应的媒体采样时间戳和接收时间;
根据所述期望渲染延时和所述媒体采样时间戳,确定对应的渲染时间;
根据所述接收时间和所述渲染时间,确定对应的实际渲染延时。
7.一种流媒体传输控制***,其特征在于,所述流媒体传输控制***包括:
发送端,用于获取流媒体数据,并对所述流媒体数据进行编码,得到编码后的流媒体数据;
发送端,用于统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长,并进行渲染延时预估,确定对应的期望渲染延时,具体包括:统计所述编码后的流媒体数据的平均编码时长和平均媒体帧长;若为首次计算所述期望渲染延时,则根据所述平均编码时长和所述平均媒体帧长进行渲染延时预估,确定对应的期望渲染延时;若为非首次计算所述期望渲染延时,则根据所述平均编码时长、所述平均媒体帧长、以及上一采样周期的实际渲染延时进行渲染延时预估,确定对应的期望渲染延时;
发送端,用于将所述流媒体数据和所述期望渲染延时发送到接收端;
接收端,用于接收所述流媒体数据和所述期望渲染延时,并确定对应的实际渲染延时,以及将所述实际渲染延时发送到发送端;
发送端,用于接收所述实际渲染延时,并基于所述平均编码时长、所述平均媒体帧长、以及所述实际渲染延时,确定对应的实际网络带宽,以及对码率进行调控,根据调控后的码率进行流媒体拥塞控制。
8.一种设备,所述设备为流媒体传输控制设备,其特征在于,所述流媒体传输控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流媒体传输控制程序,所述流媒体传输控制程序被所述处理器执行时实现如权利要求1至6中任一项所述的流媒体传输控制方法的步骤。
9.一种介质,所述介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流媒体传输控制程序,所述流媒体传输控制程序被处理器执行时实现如权利要求1至6中任一项所述的流媒体传输控制方法的步骤。
CN202210450904.9A 2022-04-27 2022-04-27 流媒体传输控制方法、***、设备与介质 Active CN114793299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210450904.9A CN114793299B (zh) 2022-04-27 2022-04-27 流媒体传输控制方法、***、设备与介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210450904.9A CN114793299B (zh) 2022-04-27 2022-04-27 流媒体传输控制方法、***、设备与介质

Publications (2)

Publication Number Publication Date
CN114793299A CN114793299A (zh) 2022-07-26
CN114793299B true CN114793299B (zh) 2024-05-24

Family

ID=82461232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210450904.9A Active CN114793299B (zh) 2022-04-27 2022-04-27 流媒体传输控制方法、***、设备与介质

Country Status (1)

Country Link
CN (1) CN114793299B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550713B (zh) * 2022-11-29 2023-04-28 杭州星犀科技有限公司 音视频直播渲染方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571516A (zh) * 2004-05-10 2005-01-26 牛广锋 视频编码
CN103686221A (zh) * 2013-12-31 2014-03-26 北京大洋润博科技有限公司 一种适应公用无线网络实现音视频流畅播出的方法
WO2017084277A1 (zh) * 2015-11-16 2017-05-26 乐视控股(北京)有限公司 在线媒体服务的码流自适应方法及***
CN109361494A (zh) * 2018-11-29 2019-02-19 广州市百果园信息技术有限公司 一种音频数据的处理方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571516A (zh) * 2004-05-10 2005-01-26 牛广锋 视频编码
CN103686221A (zh) * 2013-12-31 2014-03-26 北京大洋润博科技有限公司 一种适应公用无线网络实现音视频流畅播出的方法
WO2017084277A1 (zh) * 2015-11-16 2017-05-26 乐视控股(北京)有限公司 在线媒体服务的码流自适应方法及***
CN109361494A (zh) * 2018-11-29 2019-02-19 广州市百果园信息技术有限公司 一种音频数据的处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN114793299A (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN102334341B (zh) 用于***体流的编码的***及方法
EP2612495B1 (en) Adaptive streaming of video at different quality levels
CN106688239B (zh) 视频下载方法、装置及***
US20080062322A1 (en) Digital video content customization
CN102449977A (zh) 用于通过分组网络对媒体进行流传送的自适应比特率管理
CN110933517B (zh) 码率切换方法、客户端和计算机可读存储介质
CN105163134A (zh) 直播视频的视频编码参数设置方法、装置及视频编码设备
US20110299588A1 (en) Rate control in video communication via virtual transmission buffer
US8996713B2 (en) Video streaming
CN110913245A (zh) 一种控制视频转码码率的方法和装置
CN114793299B (zh) 流媒体传输控制方法、***、设备与介质
US20110202596A1 (en) Cache server control device, content distribution system, method of distributing content, and program
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器
CN113852824A (zh) 视频转码方法、装置、电子设备和存储介质
US20120303833A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
US20130111538A1 (en) Video quality management system
CN109769125B (zh) 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN112087627A (zh) 图像的编码控制方法、装置、设备及存储介质
CN111617466A (zh) 编码格式的确定方法、装置及云游戏的实现方法
CN102369732B (zh) 视频流传输
JP2007221318A (ja) 双方向映像通信サービスの品質管理・品質制御方法、品質管理方法、品質制御方法、品質管理・制御システム、品質管理装置、品質制御装置
US20070110168A1 (en) Method for generating high quality, low delay video streaming
US20040225744A1 (en) Methods and apparatus for multimedia stream scheduling in resource-constrained environment
CN113473125B (zh) 码率控制方法、设备、存储介质及产品
CN113194340B (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