CN112822519A - 多用户共享视频画面的视频流串流方法、装置、设备 - Google Patents

多用户共享视频画面的视频流串流方法、装置、设备 Download PDF

Info

Publication number
CN112822519A
CN112822519A CN202011620987.9A CN202011620987A CN112822519A CN 112822519 A CN112822519 A CN 112822519A CN 202011620987 A CN202011620987 A CN 202011620987A CN 112822519 A CN112822519 A CN 112822519A
Authority
CN
China
Prior art keywords
video
client
slave
quality parameter
clients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011620987.9A
Other languages
English (en)
Inventor
陶文涛
罗光辉
史孝兵
陈涛
涂振南
郑宇�
王叶群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Wulian Technology Co ltd
Original Assignee
Hangzhou Wulian 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 Hangzhou Wulian Technology Co ltd filed Critical Hangzhou Wulian Technology Co ltd
Priority to CN202011620987.9A priority Critical patent/CN112822519A/zh
Publication of CN112822519A publication Critical patent/CN112822519A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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

多用户共享视频画面的视频流串流方法、装置、设备
技术领域
本发明涉及多用户共享视频画面技术领域,特别是涉及一种多用户共享视频画面的视频流串流方法、装置、设备。
背景技术
WebRTC可以支持多个用户共享视频画面,使用主机端同一个视频流可以同时串流到多个用户的客户端。但是因为每个用户的客户端的网络情况以及硬件配置各不相同,采用将相同的视频流同时串流到各个用户的客户端时,若是某些客户端网络情况较差或者硬件配置性能不足,会导致客户端的视频流显示播放过程中出现卡顿或模糊。
现有的技术中,可以采用SVC(Scalable Video Coding,可伸缩视频编码)方式,使用一个编码器编出不同的视频流,尽管这种编码方式能够编码出多种不同的视频流,但是编码过程过于复杂,且编码出的每种视频流在各个客户端之间如何分配串流过程也较为复杂。
发明内容
本发明的目的是提供一种多用户共享视频画面的视频流串流方法、装置、设备,能够在一定程度上满足不同客户端对视频质量的不同要求。
为解决上述技术问题,本发明提供一种多用户共享视频画面的视频流串流方法,包括:
预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
实时获得视频帧图像;
基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
可选地,根据所述主客户端的硬件配置和网络情况确定第一视频质量参数的过程,包括:
检测获得主客户端对应的至少包括网络带宽、丢包比例、延迟时长、图像渲染时间、图像编码时间以及I帧请求频率的网络状况信息;
当所述延迟时长、所述图像渲染时间以及所述图像编码时间均不大于对应的时间阈值时,则所述第一视频质量参数的帧数为所述主客户端的理论可解码帧数;
当所述丢包比例小于预设比例且所述I帧请求频率小于预设频率阈值时,则所述第一视频质量参数的视频码率的大小等于所述网络带宽的大小;
根据所述主客户端可解码编码格式设定所述第一视频质量参数中的编码类型。
可选地,根据所述主客户端的硬件配置和网络情况确定第一视频质量参数的过程,包括:
当所述延迟时长、所述图像渲染时间以及所述图像编码时间中任意一项大于对应的时间阈值时,则所述第一视频质量参数的帧数为所述主客户端的所述理论可解码帧数的一半,且在第一预设时长之后,将所述第一视频质量参数的帧数调整为所述理论可解码帧数;
当所述I帧请求频率不小于预设频率阈值时,则所述第一视频质量参数的视频码率设定为小于当前的所述网络带宽的预设码率,并在第二预设时长之后,将所述第一视频质量参数的视频码率调整为等于当前的所述网络带宽。
可选地,将所述第一视频流发送至所述主客户端之后,还包括:
接收所述主客户端解码所述第一视频流的解码时间和解码帧序号;
若所述解码时间超过预设时长或解码帧序号的数量小于预设数量,则减小所述第一视频质量参数的视频码率。
可选地,将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端,包括:
将第一个接入的客户端设定为视频流质量要求高的主客户端,将主客户端之后接入的客户端设定为视频流质量要求低的从客户端。
可选地,根据所述从客户端的硬件配置和网络情况确定第二视频质量参数的过程,包括:
根据每个从客户端的硬件配置和网络情况,确定每个所述从客户端对应的视频质量参数;
以各个所述从客户端对应的视频质量参数中最小帧数、最小视频码率以及最低性能编码类型分别作为第二视频质量参数的帧数、视频码率以及编码类型。
可选地,还包括:
当存在新的从客户端接入或存在从客户端退出时,根据当前接入的所有从客户端的对应的所述视频质量参数,重新确定所述第二视频质量参数。
可选地,还包括:
当接收到所述从客户端输入的视频码率变更请求时,判断所述从客户端对应的视频码率是否为所有所述从客户端的视频码率中最小视频码率,若是,则以所述从客户端输入的视频码率作为所述从客户端的视频质量参数的视频码率,并重新确定各个所述从客户端的第二视频质量参数中的视频码率;
当接收到所述从客户端输入的帧数变更请求时,判断所述从客户端对应的帧数是否为所有所述从客户端的帧数中最小帧数,若是,则以所述从客户端输入的帧数作为所述从客户端的视频质量参数的帧数,并重新确定各个所述从客户端的第二视频质量参数中的帧数。
本申请还提供了一种多用户共享视频画面的视频流串流装置,包括:
客户端划分模块,用于预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
帧图像模块,用于实时获得视频帧图像;
第一编码模块,用于基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
第二编码模块,用于基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
本申请还提供了一种多用户共享视频画面的视频流串流设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上任一项所述多用户共享视频画面的视频流串流方法的步骤。
本发明所提供的多用户共享视频画面的视频流串流方法,包括预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;实时获得视频帧图像;基于第一视频质量参数,利用第一编码器对视频帧图像进行编码,获得第一视频流,并将第一视频流发送至主客户端;其中,第一视频质量参数为根据主客户端的硬件配置和网络情况确定的参数;基于第二视频质量参数,利用第二编码器对视频帧图像进行编码,获得第二视频流,并将第二视频流发送至从客户端;其中,第二视频质量参数为根据从客户端的硬件配置和网络情况确定的参数。
本申请中将多个用户的客户端分为主客户端和从客户端两种不同的客户端,基于两种客户端的实际情况,设定两组不同的视频质量参数,并采用两种编码器分别编码两种视频流,相应地基于每组视频质量参数编码获得的视频流也更能满足对应的客户端对视频质量的需求,进而在不增加编码过程复杂度的情况下,针对不同类型的客户端提供更合适的视频流,从而改善客户端例如卡顿等问题,提升用户观看视频画面的观看体验。
本申请还提供了一种多用户共享视频画面的视频流串流装置、设备,具有上述有益效果。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的多用户共享视频画面的视频流串流方法的流程示意图;
图2为本发明实施例提供的多用户共享视频画面的视频流串流装置的结构框图。
具体实施方式
SVC(Scalable Video Coding)是一种视频编码方法,可以对相同的帧图像编码出多种不同格式的视频流。在多用户共享视频画面时,基于不同的用户所使用的客户端计算机的硬件配置以及网络状态的不同,每个用户的客户端对视频流的质量和格式要求各不相同。而SVC编码可以获得多种不同格式的视频流,也就可以为不同的用户提供合适的视频流。
但是SVC编码要同时编码多种不同格式视频流,编码过程往往较为复杂再一定程度上占用主机端较多的运算空间,也就在一定程度上影响主机端的运算性能;并且编码获得多种视频流之后对每个客户端应该分配哪种格式的视频流的过程也相对复杂。
为此,在本申请中提供了一种能够实现多用户共享视频的技术方案,在视频编码过程不过于复杂的基础上,为不同用户提供不同的视频流图像。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1为本申请实施例提供的多用户共享视频画面的视频流串流方法的流程示意图,该视频流串流方法可以包括:
S11:预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端。
本实施例中的客户端为各个共享视频的用户的计算机客户端。主客户端和从客户端的划分原则可以有多种。例如,可以以第一个接入主机端的客户端作为主客户端,而从第二个开始接入主机端的客户端均作为从客户端。一般第一个接入主机端的客户端为对视频图像进行操作控制的用户。比如一个用户通过客户端在主机端上在进行某一游戏进程操作时,同时多个其他用户观看该游戏进程的视频画面,此时进行游戏进程操作的用户,其客户端的显示视频的质量就要求最高。
除此之外,还可以对各个客户端之间的硬件配置以及网络状态进行评估,对于硬件配置高以及网络状态好的客户端显然可以显示视频质量更好的视频流,可以作为主客户端,反之硬件配置相对较低而网络状态相对较差的客户端则可以作为从客户端。
还可以根据客户端可解码的编码格式进行划分,例如将可解码H.265格式的视频的客户端均划分为主客户端,而可解码H.264格式的视频的客户端划分为从客户端。
还有多种其他划分主客户端和从客户端的方式,本实施例中不一一列举。
S12:实时获得视频帧图像。
视频帧图像的来源可以是对主机端上显示画面进行抓屏获得的视频帧图像,也可以通过其他方式生成的视频帧图像。
S13:基于第一视频质量参数,利用第一编码器对视频帧图像进行编码,获得第一视频流,并将第一视频流发送至主客户端。
其中,第一视频质量参数为根据主客户端的硬件配置和网络情况确定的参数。
可选地,设定该第一视频质量参数的过程可以包括:
检测获得主客户端对应的至少包括网络带宽、丢包比例、延迟时长、图像渲染时间、图像编码时间以及I帧请求频率的网络状况信息;
当延迟时长、图像渲染时间以及图像编码时间均不大于对应的时间阈值时,则第一视频质量参数的帧数为主客户端的理论可解码帧数;
当丢包比例小于预设比例且I帧请求频率小于预设频率阈值时,则第一视频质量参数的视频码率的大小等于网络带宽的;
根据主客户端可解码编码格式设定第一视频质量参数中的编码类型。
需要说明的是,延迟时长是指主机端向客户端发送视频流的时间到客户端反馈的接收到视频流的反馈信息之间时长,图像渲染时间是指客户端对视频帧图像作去噪等图像处理所需要的时间;而图像编码时间是指将视频帧图像编码形成视频流所需时间。图像渲染时间以及图像编码时间直接通过检测即可获得,延时时长可以通过主机端和客户端之间的实时交互数据可以确定。
主客户端的理论可解码帧数和主客户端的硬件配置以及所使用的解码软件等因素相关。同理,对于主客户端的理论网络带宽可以是供应商提供的正常情况下的网络带宽,或者是网路运行的平均带宽等。
在客户端和主机端之间的交互网络比较正常的情况下,主客户端的理论可解码帧数即等于主客户端的实际可解码帧数,视频码率的大小是根据网络带宽设定的,随着网络带宽大小波动而波动,若是网络状态或主客户端运行速度变慢时,主客户端实际的可解码帧数和网络带宽均可能产生波动。
在设定视频质量参数时,以主客户端的可解码帧数和网络带宽设定第一视频质量参数的帧数和视频码率时,应当将可解码帧数理解为基于主客户端的硬件配置以及解码软件对应的主客户端理论可解码帧数。
另外,对于编码类型,主要和客户端可解码的编码格式相关,具体地,是和客户端的硬件配置相关。例如可以包括H.264和H.265格式。
如前所述,主客户端和从客户端的划分可以根据客户端可解码的编码格式进行划分,如果主客户端均为可解码H.265格式的视频的客户端,而从客户端均为可解码H.264格式的视频的客户端,显然,主客户端的视频质量参数中编码类型就为H.265格式。
S14:基于第二视频质量参数,利用第二编码器对视频帧图像进行编码,获得第二视频流,并将第二视频流发送至从客户端。
其中,第二视频质量参数为根据从客户端的硬件配置和网络情况确定的参数。
尽管多个客户端进行了主客户端和从客户端的划分,但是在确定第二视频质量参数的方式和第一视频质量参数的过程类似,也是根据从客户端对应的延迟时长、丢包比例、网络带宽以及I正请求频率等因素设定。
但基于上述对主客户端和从客户端的划分方式可知,主客户端可能仅仅只有一个,也可能包括多个,而从客户端一般包括多个。
当仅仅只有一个主客户端时,基于该主客户端对应的延迟时长、丢包情况等信息,即可确定唯一一组视频质量参数作为第一视频质量参数。而若是主客户端包括多个,则每个主客户端均可以获得一个视频质量参数,就需要基于所有主客户端的视频质量参数综合设定合理的第一视频质量参数。
同理,对于从客户端而言其数量也包括多个,同样存在要基于多个从客户端对应的视频质量参数设定第二视频质量参数的问题。
因此,在本申请的一种可选地实施例中,设定该第二视频质量参数的过程,可以包括:
根据每个从客户端的硬件配置和网络情况,确定每个从客户端对应的视频质量参数;这一过程和上述设定主客户端的视频质量参数的过程类似。
以各个从客户端对应的视频质量参数中最小帧数、最小视频码率以及最低性能编码类型分别作为第二视频质量参数的帧数、视频码率以及编码类型。
为了保证多个客户端中配置最低网络状况最差的从客户端都能够接收到视频流,避免卡顿的问题,本实施例中以多个从客户端中可接受的质量最差的视频流设定第二视频质量参数。
例如,当从客户端A的帧数最小,而从客户端B的视频码率最小,而从客户端C可编码的编码格式为最低性能的编码格式,则根据从客户端A对应的帧数,从客户端B对应的视频码率以及从客户端C对应的编码类型作为第二视频质量参数。当然从客户端A、B、C中也可以是同一个从客户端,或者其中两个为同一个从客户端。
当然,对于主客户端而言,当存在多个主客户端时,基于每个主客户端的视频质量参数确定第一视频质量参数的过程和基于多个从客户端的视频质量参数确定第二视频质量参数的过程类似,对此不再详细说明。
另外,在实际应用过程中,接入主机端的客户端并不是固定不变的,在视频流串流的过程中,也存在不断的有新的客户端接入和退出,因此,在本申请的一种可选地实施例中,还可以进一步地包括:
当存在新的从客户端接入或存在从客户端退出时,根据当前接入的所有从客户端的对应的视频质量参数,重新确定第二视频质量参数。
可以理解的是,当存在新的从客户端接入获得存在某个或几个从客户端退出时,当前和主机端保持接入状态的从客户端对应的各个视频质量参数中最小的帧数、最小视频码率以及最低性能的编码类型均可能发生变化,由此需要重新根据当前接入的各个从客户端的视频质量参数更新第二视频质量参数。
当然,对于主客户端若是也存在多个,或者是仅仅只有一个主客户端但是主客户端发生变更,也同样需要重新确定第一视频质量参数。
需要说明的是,一般情况下,主客户端是指视频质量要求更高的客户端,而从客户端是指视频质量要求相对较低的客户端。但是在实际应用过程中,针对不同客户端输出的视频流的视频质量也是需要基于具体的客户端设备状态以及网络状态进行确定,本实施例中仅仅是将客户端划分为两类,对视频质量要求或者说能够接收显示的视频质量近似的客户端划分到同一类客户端,由此针对同一类客户端的硬件配置和网络状况整体确定出的视频质量参数也就能够在最大程度上满足该类客户端对视频流的质量要求,从而在一定程度上满足不同客户端对视频流质量的不同要求。
显然相对于SVC编码的方式而言,本实施例中仅仅只进行两种格式的视频流编码,编码过程的复杂度大大降低,并且能够在不降低网络状况好、硬件配置高的客户端的视频质量的基础上,避免网络状况差、硬件配置低的客户端出现视频卡顿的问题。
综上所述,本申请中对多个共享视频的用户的客户端根据网络状态、硬件配置等因素考虑各个客户端对视频质量的要求,将多个客户端划分为主客户端和从客户端两类,针对主客户端和从客户端的具体网络状态和硬件配置,设定满足主客户端对视频质量要求的第一视频质量参数以及满足从客户端对视频质量要求的第二视频质量参数,并由此按照第一视频质量参数和第二视频质量参数采用两个不同的编码器编码获得两组不同的视频流,在避免编码过程过于复杂的情况下,满足不同种类的客户端对视频流的不同要求,在不降低网络状况好、硬件配置高的客户端的视频质量的基础上,避免网络状况差、硬件配置低的客户端出现视频卡顿的问题,进而提升多个用户共享视频画面的使用体验。
基于上述任意实施例,如前所示,客户端在和主机端进行视频流串流的过程中,通讯网络的状态往往并不能一直保持稳定状态。为此,对于主客户端的第一视频质量参数和从客户端的第二视频质量参数应当根据实际视频流串流情况进行适当的调整,在本申请的一种可选地实施例中,还可以进一步地包括:
当延迟时长、图像渲染时间以及图像编码时间中任意一项大于对应的时间阈值时,则第一视频质量参数的帧数为主客户端的理论可解码帧数的一半,且在第一预设时长之后,将第一视频质量参数的帧数调整为理论可解码帧数;
当I帧请求频率不小于预设频率阈值时,则第一视频质量参数的视频码率设定为小于当前的网络带宽的预设码率,并在第二预设时长之后,将第一视频质量参数的视频码率调整为等于当前的网络带宽。
如前所述,正常情况下第一视频质量参数的帧数为主客户端的理论可解码帧数。当网络状况不好或者渲染图像和编码图像时间延长时,就需要适当减小第一视频质量参数中的帧数,可以是减小至主客户端的理论可解码帧数的一半,也可以减小至理论可解码帧数的三分之二等等。
例如对于当每秒获取视频帧图像的帧数等于主客户端的理论可解码帧数,若是将第一视频质量参数中的帧数减小为理论可解码帧数的一半,则每间隔一帧视频帧图像选取一帧视频帧图像进行视频流编码,即可实现帧数减半;同理若是帧数需要减小为主客户端的理论可解码帧数的三分之二,则每间隔一帧视频图像选取两帧视频帧图像进行视频流编码。
当然,一般情况网络状态的不稳定性一般不会持续较长时间,因此,当第一视频质量参数的帧数减小一半之后,在持续第一预设时长之后,可以重新将帧数恢复至客户端的理论可解码帧数。该第一预设时长可以为10s、20s、30s等。
同理,当I帧请求过于频繁时,也需要对第一视频质量参数的视频码率进行适当下调,例如可以调整为2M,在持续第二预设时长之后再调整至等于当前的网络带宽,该第二预设时长可以和第一预设时长相等。
可选地,除了因I帧请求频率、延时、图像渲染时间以及图像编码时间等发生变动需要对帧数、视频码率等进行调整之外,还需要实时接收主客户端解码第一视频流的解码时间和解码帧序号;
若解码时间超过预设时长或解码帧序号的数量小于预设数量,则减小第一视频质量参数的视频码率。
解码时长和客户端自身的工作性能有关,解码时间越长,说明当前客户端的性能越差,因此不适合给其发送质量过高的视频流,应当下调视频码率,以缓解客户端的解码压力。
解码帧序号和主机端发送的视频流图像帧数之间的比例在一定程度上反映了客户端的丢包率,解码帧序号即是指已经解码出的帧图像,该数量越多,则说明丢包越少。
无论是主客户端还是从客户端,若是解码时间过长、或者是丢包率过高,都应当减小视频码率,同样的可以先减小到预设码率,例如2M,在一定时间之后再恢复。
除了上述基于主客户端和从客户端之间串流视频流的状况进行视频质量参数的变更外,在本申请的另一可选地实施例中,还可以进一步包括:
当接收到所从客户端输入的视频码率变更请求时,判断从客户端对应的视频码率是否为所有从客户端的视频码率中最小视频码率,若是,则以从客户端输入的视频码率作为从客户端的视频质量参数的视频码率,并重新确定各个从客户端的第二视频质量参数中的视频码率;
当接收到从客户端输入的帧数变更请求时,判断从客户端对应的帧数是否为所有从客户端的帧数中最小帧数,若是,则以从客户端输入的帧数作为从客户端的视频质量参数的帧数,并重新确定各个从客户端的第二视频质量参数中的帧数。
如前所述,对于第二视频质量参数,是基于所有从客户端对应的视频质量参数中最小帧数、最小视频码率以及最低性能编码类型而设定,在实际应用中,可能存在某些用户认为视频质量过差,要求获得更高质量的视频流。此时用户可以通过客户端输入要求变更的帧数变更和视频码率变更的变更请求。
若是发送变更请求的从客户端对应的视频质量参数中的帧数或视频码率是所有从客户端中最小的,则可以以从客户端的变更请求中设定的视频码率和帧数作为该从客户端的视频码率和帧数,重新确定所有从客户端的最小视频码率和最小帧数,并根据重新确定的最小视频码率和最小帧数确定第二视频质量参数。
当然,若是该变更请求的从客户端对应的视频质量参数的帧数和视频码率均不是所有从客户端中最小的,可以将变更请求中的视频码率和帧数先记录下来,当存在客户端退出时,再重新判断该变更请求中的视频码率或帧数是否为所有从客户端中的最小,若是,则基于该变更请求中的视频码率和帧数对第二视频质量参数进行调整。
同理,若存在多个主客户端,则对于第一视频质量参数也可以按照相同的方式进行变更。
进一步地,尽管在视频流串流过程中,需要根据实际状况对第一视频质量参数和第二视频质量参数进行频繁调节,但是如果调节过于频繁也会影响视频流的正常串流,因此,在对第一视频质量参数和第二视频质量参数进行调整时,可以先判断距离上一次调整的时长是否达到设定的时长,若是达到则进行调整,若是没有达到,则不进行调整。
下面对本发明实施例提供的多用户共享视频画面的视频流串流装置进行介绍,下文描述的多用户共享视频画面的视频流串流装置与上文描述的多用户共享视频画面的视频流串流方法可相互对应参照。
图2为本发明实施例提供的多用户共享视频画面的视频流串流装置的结构框图,参照图2的多用户共享视频画面的视频流串流装置可以包括:
客户端划分模块100,用于预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
帧图像模块200,用于实时获得视频帧图像;
第一编码模块300,用于基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
第二编码模块400,用于基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
本实施例的多用户共享视频画面的视频流串流装置用于实现前述的多用户共享视频画面的视频流串流方法,因此多用户共享视频画面的视频流串流装置中的具体实施方式可见前文中的多用户共享视频画面的视频流串流方法的实施例部分,例如,客户端划分模块100,帧图像模块200,第一编码模块300,第二编码模块400,分别用于实现上述多用户共享视频画面的视频流串流方法中步骤S11,S12,S13和S14,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本申请还提供了一种多用户共享视频画面的视频流串流设备的实施例,该设备可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任一项所述多用户共享视频画面的视频流串流方法的步骤。
该处理器执行多用户共享视频画面的视频流串流方法的步骤可以包括:
预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
实时获得视频帧图像;
基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
存储器可以包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本实施例中的设备将客户端划分成两类,且针对每一类客户端的硬件状况和网络装置等情况设定合理的视频质量参数,由此基于不同的视频质量参数同时进行两种不同的编码,获得两个不同的视频流,以提供给两类不同的客户端,在尽可能不增加编码过程复杂度的情况下,尽可能的满足所有客户端对视频流的要求,避免视频卡顿的问题,提升用户使用体验。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种多用户共享视频画面的视频流串流方法,其特征在于,包括:
预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
实时获得视频帧图像;
基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
2.如权利要求1所述的多用户共享视频画面的视频流串流方法,其特征在于,根据所述主客户端的硬件配置和网络情况确定第一视频质量参数的过程,包括:
检测获得所述主客户端对应的至少包括网络带宽、丢包比例、延迟时长、图像渲染时间、图像编码时间以及I帧请求频率的网络状况信息;
当所述延迟时长、所述图像渲染时间以及所述图像编码时间均不大于对应的时间阈值时,则所述第一视频质量参数的帧数为所述主客户端的理论可解码帧数;
当所述丢包比例小于预设比例且所述I帧请求频率小于预设频率阈值时,则所述第一视频质量参数的视频码率的大小等于所述网络带宽的大小;
根据所述主客户端可解码编码格式设定所述第一视频质量参数中的编码类型。
3.如权利要求2所述的多用户共享视频画面的视频流串流方法,其特征在于,根据所述主客户端的硬件配置和网络情况确定第一视频质量参数的过程,包括:
当所述延迟时长、所述图像渲染时间以及所述图像编码时间中任意一项大于对应的时间阈值时,则所述第一视频质量参数的帧数为所述主客户端的所述理论可解码帧数的一半,且在第一预设时长之后,将所述第一视频质量参数的帧数调整为所述理论可解码帧数;
当所述I帧请求频率不小于预设频率阈值时,则所述第一视频质量参数的视频码率设定为小于当前的所述网络带宽的预设码率,并在第二预设时长之后,将所述第一视频质量参数的视频码率调整为等于当前的所述网络带宽。
4.如权利要求2所述的多用户共享视频画面的视频流串流方法,其特征在于,将所述第一视频流发送至所述主客户端之后,还包括:
接收所述主客户端解码所述第一视频流的解码时间和解码帧序号;
若所述解码时间超过预设时长或解码帧序号的数量小于预设数量,则减小所述第一视频质量参数的视频码率。
5.如权利要求1所述的多用户共享视频画面的视频流串流方法,其特征在于,将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端,包括:
将第一个接入的客户端设定为视频流质量要求高的主客户端,将主客户端之后接入的客户端设定为视频流质量要求低的从客户端。
6.如权利要求1所述的多用户共享视频画面的视频流串流方法,其特征在于,根据所述从客户端的硬件配置和网络情况确定第二视频质量参数的过程,包括:
根据每个从客户端的硬件配置和网络情况,确定每个所述从客户端对应的视频质量参数;
以各个所述从客户端对应的视频质量参数中最小帧数、最小视频码率以及最低性能编码类型分别作为第二视频质量参数的帧数、视频码率以及编码类型。
7.如权利要求6所述的多用户共享视频画面的视频流串流方法,其特征在于,还包括:
当存在新的从客户端接入或存在从客户端退出时,根据当前接入的所有从客户端的对应的所述视频质量参数,重新确定所述第二视频质量参数。
8.如权利要求6所述的多用户共享视频画面的视频流串流方法,其特征在于,还包括:
当接收到所述从客户端输入的视频码率变更请求时,判断所述从客户端对应的视频码率是否为所有所述从客户端的视频码率中最小视频码率,若是,则以所述从客户端输入的视频码率作为所述从客户端的视频质量参数的视频码率,并重新确定各个所述从客户端的第二视频质量参数中的视频码率;
当接收到所述从客户端输入的帧数变更请求时,判断所述从客户端对应的帧数是否为所有所述从客户端的帧数中最小帧数,若是,则以所述从客户端输入的帧数作为所述从客户端的视频质量参数的帧数,并重新确定各个所述从客户端的第二视频质量参数中的帧数。
9.一种多用户共享视频画面的视频流串流装置,其特征在于,包括:
客户端划分模块,用于预先将多个客户端按照不同的视频流质量要求划分为主客户端和从客户端;
帧图像模块,用于实时获得视频帧图像;
第一编码模块,用于基于第一视频质量参数,利用第一编码器对所述视频帧图像进行编码,获得第一视频流,并将所述第一视频流发送至所述主客户端;其中,所述第一视频质量参数为根据所述主客户端的硬件配置和网络情况确定的参数;
第二编码模块,用于基于第二视频质量参数,利用第二编码器对所述视频帧图像进行编码,获得第二视频流,并将所述第二视频流发送至所述从客户端;其中,所述第二视频质量参数为根据所述从客户端的硬件配置和网络情况确定的参数。
10.一种多用户共享视频画面的视频流串流设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至8任一项所述多用户共享视频画面的视频流串流方法的步骤。
CN202011620987.9A 2020-12-30 2020-12-30 多用户共享视频画面的视频流串流方法、装置、设备 Pending CN112822519A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011620987.9A CN112822519A (zh) 2020-12-30 2020-12-30 多用户共享视频画面的视频流串流方法、装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011620987.9A CN112822519A (zh) 2020-12-30 2020-12-30 多用户共享视频画面的视频流串流方法、装置、设备

Publications (1)

Publication Number Publication Date
CN112822519A true CN112822519A (zh) 2021-05-18

Family

ID=75854538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011620987.9A Pending CN112822519A (zh) 2020-12-30 2020-12-30 多用户共享视频画面的视频流串流方法、装置、设备

Country Status (1)

Country Link
CN (1) CN112822519A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113891153A (zh) * 2021-09-30 2022-01-04 杭州雾联科技有限公司 一种云游戏串流处理方法、装置及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365125A (zh) * 2008-09-27 2009-02-11 腾讯科技(深圳)有限公司 多路视频通信方法与***
CN102045312A (zh) * 2009-10-21 2011-05-04 三星电子(中国)研发中心 自适应转码方法和***
CN108093294A (zh) * 2016-11-21 2018-05-29 ***通信有限公司研究院 一种终端屏幕直播方法及终端
CN109640116A (zh) * 2018-12-24 2019-04-16 广州微算互联信息技术有限公司 云手机网络视频编码方法与服务器
CN109831637A (zh) * 2017-11-23 2019-05-31 中兴通讯股份有限公司 一种视频会议中数据传输方法、服务器以及***
WO2020015678A1 (zh) * 2018-07-19 2020-01-23 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365125A (zh) * 2008-09-27 2009-02-11 腾讯科技(深圳)有限公司 多路视频通信方法与***
CN102045312A (zh) * 2009-10-21 2011-05-04 三星电子(中国)研发中心 自适应转码方法和***
CN108093294A (zh) * 2016-11-21 2018-05-29 ***通信有限公司研究院 一种终端屏幕直播方法及终端
CN109831637A (zh) * 2017-11-23 2019-05-31 中兴通讯股份有限公司 一种视频会议中数据传输方法、服务器以及***
WO2020015678A1 (zh) * 2018-07-19 2020-01-23 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质
CN109640116A (zh) * 2018-12-24 2019-04-16 广州微算互联信息技术有限公司 云手机网络视频编码方法与服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113891153A (zh) * 2021-09-30 2022-01-04 杭州雾联科技有限公司 一种云游戏串流处理方法、装置及介质

Similar Documents

Publication Publication Date Title
Petrangeli et al. An http/2-based adaptive streaming framework for 360 virtual reality videos
US9445136B2 (en) Signaling characteristics of segments for network streaming of media data
US8635357B2 (en) Dynamic selection of parameter sets for transcoding media data
TWI511544B (zh) 用於可調適視訊串流之技術
CN102625106B (zh) 场景自适应的屏幕编码码率控制方法及其***
US20140348246A1 (en) Video Conversion Method and Apparatus
EP2785068B1 (en) Video image data delivery device, method and system
US8842159B2 (en) Encoding processing for conferencing systems
US20180077385A1 (en) Data, multimedia & video transmission updating system
WO2008045963A2 (en) Digital content buffer for adaptive streaming
US11856191B2 (en) Method and system for real-time content-adaptive transcoding of video content on mobile devices to save network bandwidth during video sharing
WO2013001426A1 (en) Distributing audio video content
US10869048B2 (en) Method, device and system for transmitting and receiving pictures using a hybrid resolution encoding framework
KR20150131175A (ko) Http를 통한 동적 적응형 스트리밍에서 미디어 세그먼트들의 손실 존재시의 회복력
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
US10708667B1 (en) Combining fragments with different encodings
CN110956683A (zh) 信息处理***、终端装置及计算机可读介质
CN113068001A (zh) 基于级联摄像机的数据处理方法、装置、设备和介质
CN111263243A (zh) 视频编码方法、装置、计算机可读介质及电子设备
CN112822519A (zh) 多用户共享视频画面的视频流串流方法、装置、设备
JP4447443B2 (ja) 画像圧縮処理装置
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
CN115379235A (zh) 基于缓冲池的图像解码方法、装置、可读介质及电子设备
CN114007137A (zh) 一种基于roi的视频分级编码的方法、装置及介质
CN114827668B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210518

RJ01 Rejection of invention patent application after publication