CN116980688A - 视频处理方法、装置、计算机、可读存储介质及程序产品 - Google Patents

视频处理方法、装置、计算机、可读存储介质及程序产品 Download PDF

Info

Publication number
CN116980688A
CN116980688A CN202211292011.2A CN202211292011A CN116980688A CN 116980688 A CN116980688 A CN 116980688A CN 202211292011 A CN202211292011 A CN 202211292011A CN 116980688 A CN116980688 A CN 116980688A
Authority
CN
China
Prior art keywords
video
data
stream data
video stream
picture
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
CN202211292011.2A
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.)
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 CN202211292011.2A priority Critical patent/CN116980688A/zh
Priority to PCT/CN2023/085843 priority patent/WO2024082561A1/zh
Publication of CN116980688A publication Critical patent/CN116980688A/zh
Priority to US18/438,615 priority patent/US20240214521A1/en
Pending legal-status Critical Current

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/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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/155Conference systems involving storage of or access to video conference sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开了一种视频处理方法、装置、计算机、可读存储介质及程序产品,该方法包括:从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。采用本申请,可以使得多视频的同步播放,提高多视频显示的流畅性及多视频之间的时间同步性。

Description

视频处理方法、装置、计算机、可读存储介质及程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频处理方法、装置、计算机、可读存储介质及程序产品。
背景技术
随着直播行业的兴起,出现了越来越多的直播应用以及直播类型,而在进行直播时,经常可能出现需要对多个视角进行展示的情况,例如在节目中,可能会在后台、主舞台及其他分区等多个视角中部署摄像机,进行多视角的视频采集及播放,使得用户可以查看到不同视角下的画面;或者,在对多用户进行直播时,可能会对多用户所在的视角下部署摄像机,进行多视角的视频采集及播放等等。也就是说,进行多视角视频播放已经成为需要实现的一项技术,目前,一般是采集端多个摄像机采集各自的视频流并推流到后台,后台针对每个视频流进行编码并输出可播视频流,观看端启动多个播放器分别拉取不同的视角的码流进行播放,由于多个视角下的码流是独立采集的,需要多个播放器分别对不同视角下的码流进行播放,而播放器之间因为后台存储、网络、缓存策略及同步策略等因素,导致无法做到多个视角下的视频的同步播放,使得整体视频显示的流畅性较低,不同视频之间的时间同步性较差。
发明内容
本申请实施例提供了一种视频处理方法、装置、计算机、可读存储介质及程序产品,可以使得多视频的同步播放,提高多视频显示的流畅性及多视频之间的时间同步性。
本申请实施例一方面提供了一种视频处理方法,该方法包括:
从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;
将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。
本申请实施例一方面提供了一种视频处理方法,该方法包括:
从视频处理设备中获取视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据;N为正整数;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;视频合成画面是由视频处理设备基于区域划分信息,将N个视频流数据拼接而成的;N个视频流数据是从N个视频采集设备中所获取的;
基于视频展示区域信息,对N个视频流数据进行同步渲染。
本申请实施例一方面提供了一种视频处理装置,该装置包括:
视频获取模块,用于从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
数据拼接模块,用于基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;
视频发送模块,用于将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。
其中,该装置还包括:
周期确定模块,用于获取视频播放帧率,基于视频播放帧率确定视频帧切换周期;
该视频获取模块,包括:
视频更新单元,用于在视频帧切换周期内,当接收N个视频采集设备分别发送的视频流数据时,删除N个视频采集设备所关联的历史视频流数据,将N个视频流数据与N个视频采集设备进行关联存储;
视频存储单元,用于当满足视频帧切换周期所指示的视频帧切换条件时,获取N个视频采集设备在满足视频帧切换条件时分别关联的视频流数据。
其中,该装置还包括:
主设备选取模块,用于获取N个视频采集设备分别对应的设备采集信息及覆盖区域,基于N个视频采集设备分别对应的设备采集信息及覆盖区域,确定N个视频采集设备中的主设备;
该视频获取模块,包括:
视频采集单元,用于当接收到主设备所发送的视频流数据时,从N个视频采集设备除主设备之外的视频采集设备中,获取视频流数据。
其中,该装置还包括:
推流确定模块,用于与N个视频采集设备之间建立数据连接,基于数据连接及媒体推流方式所对应的数据传输损耗度,从媒体推流方式中确定目标媒体推流方式;
方式发送模块,用于将目标媒体推流方式发送至N个视频采集设备;
该视频获取模块,包括:
视频获取单元,用于获取N个视频采集设备分别基于目标媒体推流方式所发送的视频流数据。
其中,区域划分信息包括N个视频采集设备分别对应的视频区域位置;
该数据拼接模块,包括:
图像拼接单元,用于获取每个视频流数据所包括的图像数据及音频数据,基于N个视频采集设备分别对应的视频区域位置,将N个视频流数据分别包括的图像数据拼接成合成图像;
音频关联单元,用于将N个图像数据分别对应的音频数据关联至合成图像中的N个图像数据,得到视频合成画面;每个音频数据与对应的图像数据进行关联后得到一个视频流数据。
其中,该视频发送模块,包括:
数据获取单元,用于获取组成视频合成画面的图像合成数据及音频合成数据;
色值获取单元,用于获取图像合成数据所包括的d个像素点及每个像素点分别对应的像素色值信息,获取d个像素点中各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据;d为正整数;
像素分组单元,用于基于各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据,将d个像素点划分为k个像素组;k为小于或等于d的正整数;每个像素组中所包括的像素点在图像合成数据中连续;
图像编码单元,用于将各个像素组中位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,组成图像合成数据所对应的图像编码数据;第一像素点是指各个像素组中除每个像素组中的位于首位的像素点之外的像素点;
音频编码单元,用于对音频合成数据进行音频编码处理,得到音频编码数据;
编码发送单元,用于将由图像编码数据与音频编码数据组成的视频合成编码数据,发送至参与客户端,以使参与客户端对视频合成编码数据进行解码操作,得到视频合成画面。
其中,该装置还包括:
优先确定模块,用于获取N个视频采集设备分别对应的设备采集信息,基于N个视频采集设备分别对应的设备采集信息,确定N个视频采集设备分别对应的设备优先级;
尺寸确定模块,用于基于N个视频采集设备分别对应的采集分辨率,确定视频合成尺寸;
位置确定模块,用于根据N个视频采集设备分别对应的设备优先级以及视频合成尺寸,确定N个视频采集设备分别对应的视频区域位置;
信息生成模块,用于根据N个视频采集设备分别对应的设备标识,以及N个视频采集设备分别对应的视频区域位置,确定区域划分信息;
信息发送模块,用于将区域划分信息发送至参与客户端。
本申请实施例一方面提供了一种视频处理装置,该装置包括:
视频接收模块,用于从视频处理设备中获取视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据;N为正整数;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;视频合成画面是由视频处理设备基于区域划分信息,将N个视频流数据拼接而成的;N个视频流数据是从N个视频采集设备中所获取的;
视频输出模块,用于基于视频展示区域信息,对N个视频流数据进行同步渲染。
其中,该视频输出模块,包括:
窗口获取单元,用于获取当前显示的直播页面,获取直播页面中所包括的M个直播窗口,以及M个直播窗口分别对应的直播视角;M为正整数;
信息确定单元,用于基于M个直播视角分别对应的视频采集设备,确定视频展示区域信息;视频展示区域信息用于指示M个直播窗口分别对应的视频采集设备;
视频对应单元,用于基于视频展示区域信息,从N个视频流数据中,确定每个直播窗口所对应的视频流数据;
视频渲染单元,用于基于每个直播窗口所对应的视频流数据,在每个直播窗口中渲染该直播窗口所对应的视频流数据。
其中,M个直播窗口包括主窗口及辅窗口,辅窗口是指M个直播窗口中除主窗口之外的直播窗口;
该装置还包括:
画面切换模块,用于响应针对辅窗口中的第一直播窗口的主画面切换请求,将主窗口中所显示的视频流数据,切换显示为第一直播窗口所显示的视频流数据;切换后的主窗口与第一直播窗口中所显示的内容相同。
其中,该装置还包括:
设备确定模块,用于响应针对第二直播窗口的播放请求,获取第二直播窗口所对应的第一视频采集设备;第二直播窗口不属于M个直播窗口;N个视频采集设备包括第一视频采集设备;
视频显示模块,用于从N个视频流数据中,获取第一视频采集设备所对应的视频流数据,在第二直播窗口中输出第一视频采集设备所对应的视频流数据。
其中,该视频接收模块,包括:
编码获取单元,用于从视频处理设备中获取视频合成编码数据,获取组成视频合成编码数据的图像编码数据及音频编码数据;
组别获取单元,用于获取图像编码数据的k个像素组;k为正整数;
图像解码单元,用于基于k个像素组中分别对应的位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,确定k个像素组所包括的d个像素点分别对应的像素色值信息;d为大于或等于k的正整数;
图像组合单元,用于将d个像素点分别对应的像素色值信息组成图像合成数据;
音频解码单元,用于对音频编码数据进行音频解码处理,得到音频合成数据;
画面合成单元,用于将图像合成数据与音频合成数据组成视频合成画面。
本申请实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;
处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本申请实施例一方面中的视频处理方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例一方面中的视频处理方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例一方面中的各种可选方式中提供的方法。
实施本申请实施例,将具有如下有益效果:
在本申请实施例中,从N个视频采集设备中分别获取视频流数据;N为正整数;基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。通过以上过程,可以将多个视角(即视频采集设备)下的视频流数据,进行同步获取,并且是将获取到的各个视角下的视频流数据进行合成,得到视频合成画面,相当于是将多路码流合成一路码流,使得该视频合成画面中的各个视角下的视频流数据可以认为是同一时刻下的,客户端可以通过获取视频合成画面,得到各个视角下的视频流数据,实现对多视角下的视频的同步播放,从而提高多视频显示的流畅性及多视频之间的时间同步性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频处理的网络交互架构图;
图2是本申请实施例提供的一种视频处理场景示意图;
图3是本申请实施例提供的一种视频处理的方法流程图;
图4是本申请实施例提供的一种视频流合成场景示意图;
图5是本申请实施例提供的另一种视频处理的方法流程图;
图6是本申请实施例提供的一种视频展示场景示意图;
图7是本申请实施例提供的一种视角增加场景示意图;
图8是本申请实施例提供的一种视频处理的交互流程图;
图9是本申请实施例提供的一种视频处理装置示意图;
图10是本申请实施例提供的另一种视频处理装置示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,请参见图1,图1是本申请实施例提供的一种视频处理的网络交互架构图,如图1所示,可以认为部署N个视频采集设备,N为正整数,每个视频采集设备对应一个视角,如图1所示,该N个视频采集设备可以包括如视频采集设备101a、视频采集设备101b及视频采集设备101c等。各个视频采集设备可以被部署在不同的视角下,用于采集对应视角下的视频流数据,其中,视频流数据在经过后台编码后可供用户直接用来播放,可以认为相当于视频链接,包含视频画面及声音等多媒体信息。视频处理设备102可以从N个视频采集设备中分别获取视频流数据,将N个视频流数据进行拼接合成,以得到视频合成画面,使得该视频合成画面中可以集成多视角下的同步画面,相当于将多路码流合成一路码流,视频处理设备102可以将视频合成画面发送至参与客户端,该参与客户端的数量可以为一个或至少两个,如图1中所示的参与客户端103a、参与客户端103b及参与客户端103c等。各个参与客户端可以基于获取到的视频合成画面,对该视频合成画面进行拆分,得到N个视频流数据,也就是各个视角下的同步的画面,进一步可以对N个视频流数据进行同步渲染,使得渲染出来的各个视角下的画面是同步的,从而提高多视频显示的流畅性及多视频之间的时间同步性。其中,多视角是指同一场直播中存在多路码流(一般是同一个场景但不同的视频采集设备从不同角度进行拍摄),使得在产品形态上,用户可以同时观看到多个视角下的画面。
具体的,请参见图2,图2是本申请实施例提供的一种视频处理场景示意图。如图2所示,N个视频采集设备(如图2所示的视频采集设备201a、视频采集设备201b及视频采集设备201c等)可以采集视频流数据,该采集过程可以认为是实时采集的,也就是可以实时采集视频流数据,使得各个视角下的画面可以进行采集播放。视频处理设备202可以从N个视频采集设备中分别获取视频流数据,基于区域划分信息,将N个视频流数据拼接成视频合成画面203,该视频合成画面203中可以认为包括视频区域203a、视频区域203b及视频区域203c等,该区域划分信息用于指示各个视频区域所需拼接的视频流数据的视角,例如,该视频区域203a关联视频采集设备201a下的视角1,视频区域203b关联视频采集设备201b下的视角2,视频区域203c关联视频采集设备201c下的视角3等,也就是说,在该示例下,该视频合成画面203中的视频区域203a用于显示视频采集设备201a所采集的视频流数据,视频区域203b用于显示视频采集设备201b所采集的视频流数据,视频区域203c用于显示视频采集设备201c所采集的视频流数据等。视频处理设备202可以将该视频合成画面203发送至参与客户端204,该参与客户端204的数量可以为一个或至少两个。参与客户端204可以基于区域划分信息对视频合成画面203进行拆分,得到N个视频流数据,从而得到各个视频采集设备所在的视角下的同步画面,参与客户端204可以基于需要对N个视频流数据进行同步渲染,实现多视频的同步播放,提高多视频整体显示的流畅性及多视频之间的时间同步性。
可以理解的是,视频采集设备可以是指具有采集视频流数据的设备,如摄像机等。本申请实施例中所提及的视频处理设备或参与客户端可以是一种计算机设备,本申请实施例中的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机(如图1中所示的参与客户端103c)、平板电脑、台式电脑、笔记本电脑(如图1中所示的参与客户端103b)、掌上电脑、车载设备(如图1中所示的参与客户端103a)、增强现实/虚拟现实(Augmented Reality/Virtual Reality,AR/VR)设备、头盔显示器、可穿戴设备、智能音箱、智能电视、数码相机、摄像头及其他具备网络接入能力的互联网设备(mobile internet device,MID)等,可选的,该参与客户端103a可以是指位于交通工具104中的设备。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,参与客户端具备视频播放功能。
可选的,本申请实施例中所涉及的数据可以存储在计算机设备中,或者可以基于云存储技术或区块链网络对该数据进行存储,在此不做限制。
进一步地,请参见图3,图3是本申请实施例提供的一种视频处理的方法流程图。如图3所示,以视频处理设备作为执行主体为例进行描述,换句话说,在图3所描述的方法实施例中,该视频处理过程包括如下步骤:
步骤S301,从N个视频采集设备中分别获取视频流数据。
在本申请实施例中,视频处理设备可以从N个视频采集设备中分别获取视频流数据。其中,N个视频采集设备可以实时采集视频流数据,N个视频采集设备在采集到视频流数据时,可以将采集到的视频流数据推送至视频处理设备,视频处理设备接收N个视频采集设备分别推送的视频流数据。或者,视频处理设备可以从N个视频采集设备中分别获取视频流数据。
其中,一种情况下,视频处理设备可以周期性合成视频合成画面。具体的,可以获取视频播放帧率,基于视频播放帧率确定视频帧切换周期。其中,该视频播放帧率是指在播放视频时的每秒传输帧数,基于该视频播放帧率,可以确定帧与帧之间切换所需的时间,即视频帧切换周期,例如,假定所需要的视频播放帧率为25帧/秒(Frame Per Second,fps),则表示视频每隔40毫秒(ms)切换一帧,也就是说视频帧切换周期可以认为是40ms。可选的,也可以获取视频帧切换周期,该视频帧切换周期可以是默认的视频帧切换周期,也可以是由人工提供的视频帧切换周期。
进一步地,在从N个视频采集设备中分别获取视频流数据时,视频处理设备可以在视频帧切换周期内,当接收N个视频采集设备分别发送的视频流数据时,删除N个视频采集设备所关联的历史视频流数据,将N个视频流数据与N个视频采集设备进行关联存储;当满足视频帧切换周期所指示的视频帧切换条件时,获取N个视频采集设备在满足视频帧切换条件时分别关联的视频流数据,可以针对该N个视频采集设备在满足视频帧切换条件时分别关联的视频流数据,执行步骤S302。简单来说,N个视频采集设备在采集到视频流数据时,将该视频流数据推送至视频处理设备,视频处理设备中相当于存在N路,每一路存储一帧视频流数据,视频处理设备在接收到N个视频采集设备分别推送的视频流数据时,每接收到一帧视频流数据,就可以覆盖各个视频采集设备所对应的上一帧视频流数据(即历史视频流数据),使得各个视频采集设备所对应的那一路存储的是最新的视频流数据,在满足视频帧切换周期所指示的视频帧切换条件时,也就是当前的系统网络时间与上一次合成视频合成画面的时间之间的时间间隔达到视频帧切换周期,可以针对N个视频采集设备当前所关联的视频流数据,执行步骤S302。可选的,N个视频采集设备可以每经过视频帧切换周期,向视频处理设备推送视频流数据,视频处理设备可以接收N个视频采集设备分别推送的视频流数据。
一种情况下,视频处理设备可以采用主设备触发方式合成视频合成画面。具体的,视频处理设备可以获取默认视频采集设备,将该默认视频采集设备确定为主设备。或者,视频处理设备可以获取N个视频采集设备分别对应的设备采集信息及覆盖区域,基于N个视频采集设备分别对应的设备采集信息及覆盖区域,确定N个视频采集设备中的主设备。其中,该设备采集信息可以包括但不限于对应的视频采集设备的采集分辨率以及设备质量等,该覆盖区域用于表示对应的视频采集设备所对应的视角,也就是所采集的区域,例如,部署于主舞台处的视频采集设备所对应的覆盖区域可以认为是主舞台等。其中,一个视频采集设备的设备采集信息所指示的性能越好,覆盖区域越重要,则该视频采集设备的重要程度越大,也就越可以作为主设备。例如,在节目等中,一般情况下主舞台是观众的主要观看场景,则可以将部署于主舞台(即覆盖区域为主舞台)的视频采集设备确定为主设备;或者,多个覆盖区域较为平衡,如是针对多个直播对象(如主播等)进行视频流采集的视频采集设备,则可以获取各个视频采集设备的覆盖区域的直播流量等,基于各个视频采集设备的覆盖区域的直播流量等,从N个视频采集设备中确定主设备等。当然,本申请不限制其他用于确定主设备的方式,可以基于需要增加或更改其他用于进行主设备确定的参数等。
进一步地,在从N个视频采集设备中分别获取视频流数据时,当接收到主设备所发送的视频流数据时,视频采集设备可以从N个视频采集设备除主设备之外的视频采集设备中,获取视频流数据。也就是说,视频采集设备在接收到主设备所发送的视频流数据时,就会主动获取其他视频采集设备所采集的视频流数据,实现多视角(即多个视频采集设备)下的视频流的同步获取,实现多视角下的视频的时间同步性。
可选的,视频处理设备可以与N个视频采集设备之间建立数据连接,基于数据连接及媒体推流方式所对应的数据传输损耗度,从媒体推流方式中确定目标媒体推流方式。例如,数据连接对应连接带宽及数据传输速率等等,该媒体推流方式可以包括但不限于实时消息传输协议(Real-Time Messaging Protocol,rtmp)、实时流传输协议(Real TimeStreaming Protocol,rtsp)以及基于HTTP的流媒体网络传输协议(HTTP Live Streaming,HLS)等,可以基于数据连接及媒体推流方式所对应的数据传输损耗度,从媒体推流方式中确定目标媒体推流方式。进一步,将目标媒体推流方式发送至N个视频采集设备,例如假定该目标媒体推流方式为rtmp等,也就是将rtmp发送至N个视频采集设备,以使N个视频采集设备可以确定与视频处理设备进行推流的方式。进一步地,视频处理设备可以获取N个视频采集设备分别基于目标媒体推流方式所发送的视频流数据。各个视频采集设备可以使用相同的媒体推流方式(即目标媒体推流方式),向视频处理设备推送视频流数据,可以提高各个视频采集设备的推流同步性,进而提高多视频之间的时间同步性。也就是说,在一种可选的方式下,本步骤在上述所提及的视频流数据推送中,各个视频采集设备可以采用目标媒体推流方式,向视频处理设备推送视频流数据。
步骤S302,基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面。
在本申请实施例中,区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置。可选的,该区域划分信息包括N个视频采集设备分别对应的视频区域位置;视频处理设备可以基于N个视频采集设备分别对应的视频区域位置,将N个视频采集设备分别对应的视频流数据拼接成视频合成画面,其中,每个视频采集设备对应的视频流数据在该视频合成画面中所处的区域,是该视频采集设备的视频区域位置所指示的区域。具体的,该区域划分信息用于指示参与客户端,基于每个视频采集设备所对应的视频区域位置,确定N个视频采集设备分别对应的视频流数据;每个视频采集设备对应一个视角;每个视频采集设备所对应的视角,用于指示参与客户端对N个视频流数据进行同步渲染,也就是说,参与客户端可以基于每个视频采集设备所对应的视角,确定每个视角所对应的视频流数据,进而可以在显示的视角下输出对应的视频流数据,实现对N个视频流数据的同步渲染。
其中,视频处理设备可以直接基于N个视频采集设备分别对应的视频区域位置,将N个视频采集设备分别对应的视频流数据拼接成视频合成画面,该拼接方式可以是任意一种视频流拼接方式,在此不做限制。
或者,视频处理设备可以获取每个视频流数据所包括的图像数据及音频数据,基于N个视频采集设备分别对应的视频区域位置,将N个视频流数据分别包括的图像数据拼接成合成图像;将N个图像数据分别对应的音频数据关联至合成图像中的N个图像数据,得到视频合成画面;每个音频数据与对应的图像数据进行关联后得到一个视频流数据,即,任意一个音频数据与该音频数据所对应的图像数据进行关联后得到的视频流数据,属于N个视频流数据。也就是说,视频处理设备也可以对图像数据与音频数据分开进行拼接再合成,以得到视频合成画面。
举例来说,请参加图4,图4是本申请实施例提供的一种视频流合成场景示意图。如图4所示,视频处理设备接收到N个视频流数据,以图4所示,假定N为4,N个视频流数据可以包括视频采集设备1所采集的视频流数据401a、视频采集设备2所采集的视频流数据401b、视频采集设备3所采集的视频流数据401c,以及视频采集设备4所采集的视频流数据401d。获取用于进行视频画面合成的区域划分信息,该区域划分信息可以是如图4中所示的区域划分模板402,也可以是以文本信息进行表示等,在此不做限制。如图4所示,该区域划分模板402包括视频采集设备1所对应的视频区域402a(即区域A)、视频采集设备2所对应的视频区域402b(即区域B)、视频采集设备3所对应的视频区域402c(即区域C),以及视频采集设备4所对应的视频区域402d(即区域D),可选的,该对应关系可以是采用各个视频采集设备的设备标识进行描述的,当然,该区域划分模板402仅为一种可选的示例,该区域划分模板402所包括的视频区域的位置及尺寸等,均可以根据需要进行更新。进一步地,可以将视频流数据401a拼接至视频区域402a处,将视频流数据401b拼接至视频区域402b处,将视频流数据401c拼接至视频区域402c处,将视频流数据401d拼接至视频区域402d处,得到视频合成画面403。
例如,存在A、B、C及D四个机位,也就是说,假定N为4,视频采集设备1的设备标识为A,视频采集设备2的设备标识为B,视频采集设备3的设备标识为C,视频采集设备4的设备标识为D,可以将四个机位的视频流数据编码至各个视频区域中,例如,区域A用于编码A机位的视频流数据,区域B用于编码B机位的视频流数据,区域C用于编码C机位的视频流数据,区域D用于编码D机位的视频流数据。其中,该区域划分信息包括N个视频采集设备分别对应的视频区域位置,该视频区域位置可以包括对应的视频区域的长度、宽度以及起始点位置等,以左上角(如图4所示的点404)为起始点为例,也就是以左上角为原点,向右方向为x轴方向,向下方向为y轴方向,则该区域划分信息可以包括区域A的视频区域位置“长:1920;宽:1080;起始点x坐标:0,起始点y坐标:0”、区域B的视频区域位置“长:940;宽:360;起始点x坐标:1920,起始点y坐标:0”、区域C的视频区域位置“长:940;宽:360;起始点x坐标:1920,起始点y坐标:360”、区域D的视频区域位置“长:940;宽:360;起始点x坐标:1920,起始点y坐标:720”,以上为一种可能的视频区域划分方式,也可以以其他的起始点、x轴方向及y轴方向确定区域划分信息。也就是说,该区域划分信息可以包括N个视频采集设备分别对应的视频区域位置,可以认为包括N个关联关系,每个关联关系可以为(设备标识,视频区域位置),用于表示该设备标识所对应的视频采集设备的视频区域位置等。
步骤S303,将视频合成画面发送至参与客户端。
在本申请实施例中,视频处理设备将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。可选的,若此次生成视频合成画面的区域划分信息未同步至参与客户端,即,参与客户端处没有此次用于生成视频合成画面的区域划分信息,则视频处理设备可以在将视频合成画面发送至参与客户端时,还可以将该区域划分信息发送至参与客户端。
可选的,视频处理设备可以将视频合成画面发送至参与客户端。或者,视频处理设备可以对视频合成画面进行编码,得到视频合成画面所对应的视频合成编码数据,将视频合成编码数据发送至参与客户端,其中,对该视频合成画面的编码方式,可以是任意一种视频流编码方式,在此不做限制。或者,视频处理设备可以获取组成视频合成画面的图像合成数据及音频合成数据,对图像合成数据进行图像编码处理,得到图像编码数据;对音频合成数据进行音频编码处理,得到音频编码数据;将图像编码数据与音频编码数据组合成视频合成编码数据,将视频合成编码数据发送至参与客户端,其中,对图像合成数据的图像编码方式,可以是任意一种图像编码方式,如霍夫曼编码方式、预测编码方式或变换编码方式等;对音频合成数据的音频编码方式可以是任意一种音频编码方式,如波形编码方式、参数编码方式或混合编码方式等,在此不做限制。
一种可选的方式下,视频处理设备可以获取组成视频合成画面的图像合成数据及音频合成数据。获取图像合成数据所包括的d个像素点及每个像素点分别对应的像素色值信息,获取d个像素点中各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据;d为正整数。其中,该色值差异数据用于表示对应的相邻的两个像素点分别对应的像素色值信息之间的差异程度。进一步,可以基于各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据,将d个像素点划分为k个像素组;k为小于或等于d的正整数;每个像素组中所包括的像素点在图像合成数据中连续。也就是说,若第i个像素点的像素色值信息与第(i+1)个像素点的像素色值信息之间的色值差异数据,大于或等于差异阈值,则在第i个像素点与第(i+1)个像素点之间增加像素断点,i为小于d的正整数;若第i个像素点的像素色值信息与第(i+1)个像素点的像素色值信息之间的色值差异数据,小于差异阈值,则将第(i+1)个像素点确定为第i个像素点,返回执行对第i个像素点的像素色值信息与第(i+1)个像素点的像素色值信息之间的色值差异数据,与差异阈值的比对过程,也就是处理下一个色值差异数据。直至对d个像素点全部遍历完成,即(i+1)为d,得到d个像素点中所存在的像素断点,基于d个像素点中所存在的像素断点,将d个像素点划分为k个像素组。
进一步地,将各个像素组中位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,组成图像合成数据所对应的图像编码数据;第一像素点是指各个像素组中除每个像素组中的位于首位的像素点之外的像素点。具体的,以第j个像素组为例,j为小于或等于k的正整数,将第j个像素组中位于首位的像素点的像素色值信息,以及第j个像素组中的第一像素点与该第一像素点的前一个像素点之间的色值差异数据,组成第j个像素组的组编码数据,直至得到k个像素组分别对应的组编码数据,将k个像素组分别对应的组编码数据组成图像编码数据。可选的,可以在像素组与像素组之间增加组间隔符,用于表示一个像素组的开始。
进一步,可以对音频合成数据进行音频编码处理,得到音频编码数据。将由图像编码数据与音频编码数据组成的视频合成编码数据,发送至参与客户端,以使参与客户端对视频合成编码数据进行解码操作,得到视频合成画面。
其中,视频处理设备将视频合成画面发送至参与客户端,参与客户端需要对视频合成画面进行拆分,也就是说,参与客户端需要保持与视频处理设备相同的区域划分信息,因此,视频处理设备在生成新的区域划分信息,或更新了区域划分信息等时,需要将生成的新的区域划分信息,或更新后的区域划分信息同步至参与客户端。可选的,该区域划分信息可以是由管理人员所提供的,也可以是由视频处理设备所生成的。举例来说,视频处理设备可以获取N个视频采集设备分别对应的设备采集信息,基于N个视频采集设备分别对应的设备采集信息,确定N个视频采集设备分别对应的设备优先级,该设备优先级用于表示各个视频采集设备的重要程度。进一步可以基于N个视频采集设备分别对应的采集分辨率,确定视频合成尺寸,该采集分辨率可以是指对应的视频采集设备所能采集的视频流数据的最大分辨率等。进一步可以根据N个视频采集设备分别对应的设备优先级以及视频合成尺寸,确定N个视频采集设备分别对应的视频区域位置。根据N个视频采集设备分别对应的设备标识,以及N个视频采集设备分别对应的视频区域位置,确定区域划分信息。进一步,可以将区域划分信息发送至参与客户端。
进一步地,请参见图5,图5是本申请实施例提供的另一种视频处理的方法流程图。如图5所示,以参与客户端作为执行主体为例进行描述,换句话说,在图5所描述的方法实施例中,该视频处理过程包括如下步骤:
步骤S501,从视频处理设备中获取视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据。
在本申请实施例中,N为正整数,每个视频采集设备对应一个视角;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;视频合成画面是由视频处理设备基于区域划分信息,将N个视频流数据拼接而成的;N个视频流数据是从N个视频采集设备中所获取的。
其中,参与客户端获取到视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据。参与客户端获取到视频合成编码数据,若该视频合成编码数据为针对视频合成画面进行编码得到的,则参与客户端可以对视频合成编码数据进行解码操作,得到视频合成画面。若该视频合成编码数据是针对图像合成数据与音频合成数据进行编码得到的,则参与客户端可以获取组成视频合成编码数据的图像编码数据及音频编码数据,对图像编码数据进行图像解码操作,得到图像合成数据;对音频编码数据进行音频解码操作,得到音频合成数据;将图像合成数据与音频合成数据组成视频合成画面。其中,对图像编码数据的图像解码方式,与上述对图像合成数据的图像编码方式相对应;对音频编码数据的音频解码方式,与上述对音频合成数据的音频编码方式相对应。
举例来说,针对上述图3的步骤S303中的一种可选的方式,参与客户端可以从视频处理设备中获取视频合成编码数据,获取组成视频合成编码数据的图像编码数据及音频编码数据。获取图像编码数据的k个像素组;k为正整数。可选的,可以检测图像编码数据中的组间隔符,基于组间隔符,确定图像编码数据的k个像素组。进一步,可以基于k个像素组中分别对应的位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,确定k个像素组所包括的d个像素点分别对应的像素色值信息;d为大于或等于k的正整数。具体的,以第j个像素组为例,可以以第j个像素组中位于首位的像素点的像素色值信息为基础,以第j个像素组中的第一像素点与第一像素点的前一个像素点之间的色值差异数据,确定第一像素点的像素色值信息,得到第j个像素组所包括的各个像素点的像素色值信息,直至得到k个像素组分别包括的像素点的像素色值信息,即d个像素点分别对应的像素色值信息。当然,参与客户端可以对图像编码数据进行遍历,当检测到组间隔符时,以新的像素组开始解码,直至得到d个像素点分别对应的像素色值信息。例如,以一种简单的例子来说,假定组间隔符为“'”,图像编码数据为(216,1,3,-1,',224,0,2…),针对该图像编码数据进行头像解码操作后,得到图像合成数据(216,217,220,219,224,224,226…)等,其中,“216,1,3,-1”属于一个像素组,“224,0,2…”属于一个像素组等,此处只为进行简单的示例,实际的图像编码数据是由对图像合成数据的实际编码过程所得到的。进一步,可以将d个像素点分别对应的像素色值信息组成图像合成数据。对音频编码数据进行音频解码处理,得到音频合成数据。将图像合成数据与音频合成数据组成视频合成画面。
进一步,可以基于区域划分信息,将视频合成画面划分为N个视频流数据。如图4所示,可以基于区域划分信息,对视频合成画面403进行划分,例如,该区域划分信息包括N个视频采集设备分别对应的视频区域位置,基于N个视频采集设备分别对应的视频区域位置,对视频合成画面403进行拆分,得到视频流数据401a、视频流数据401b、视频流数据401c及视频流数据401d等。
步骤S502,基于区域划分信息,对N个视频流数据进行同步渲染。
在本申请实施例中,可以基于区域划分信息,对N个视频流数据进行同步渲染。具体的,可以获取当前显示的视频页面,在视频页面中所包括的视频窗口中,输出该视频窗口所对应的视频流数据,其中,每个视频窗口对应一个视角,该视频窗口所对应的视频流数据,是指该视频窗口所对应的视角的视频采集设备所采集的视频流数据。具体的,在该实施例中,以视频页面为直播页面,视频窗口为直播窗口,视角为直播视角为例,参与客户端可以获取当前显示的直播页面,获取直播页面中所包括的M个直播窗口,以及M个直播窗口分别对应的直播视角;M为正整数。其中,该直播视角对应于视频采集设备所在的视角,例如,直播视角为区域A,对应于部署于区域A处的视频采集设备的视角。进一步地,可以基于M个直播视角分别对应的视频采集设备,确定视频展示区域信息;视频展示区域信息用于指示M个直播窗口分别对应的视频采集设备,也就是说,该视频展示区域信息可以包括M个直播窗口分别关联的视频采集设备,该视频展示区域信息可以是M个直播窗口分别关联的设备标识。进一步,可以基于视频展示区域信息,从N个视频流数据中,确定每个直播窗口所对应的视频流数据,例如,直播窗口1关联设备标识1,则该直播窗口1所对应的视频流数据是指设备标识1所对应的视频采集设备的视频流数据等。基于每个直播窗口所对应的视频流数据,在每个直播窗口中渲染该直播窗口所对应的视频流数据。其中,设备标识可以是对应的视频采集设备的唯一标识,如可以对各个视频采集设备进行编号得到的,也可以是各个视频采集设备的出厂编码等,在此不做限制,该设备标识可以是字符串或视角等形式的数据。例如,视频采集设备1的设备标识可以是类似A11的字符串,也可以是视频采集设备1的出厂编码,还可以是视角(如主舞台或后台等)等等,在此不做限制。
举例来说,参见图6,图6是本申请实施例提供的一种视频展示场景示意图。如图6所示,假定N为4,参与客户端获取到视频采集设备1对应的视频流数据601a、视频采集设备2对应的视频流数据601b、视频采集设备3对应的视频流数据601c,以及视频采集设备4对应的视频流数据601d等,参与客户端可以基于直播页面602获取该参与客户端所对应的视频展示区域信息,该视频展示区域信息可以包括M个直播窗口分别关联的视频采集设备,此处假定M为4,视频展示区域信息可以包括(直播窗口602a,视频采集设备1)、(直播窗口602b,视频采集设备1)、(直播窗口602c,视频采集设备3)以及(直播窗口602d,视频采集设备2),基于该视频展示区域信息,确定直播窗口602a对应视频流数据601a,直播窗口602b对应视频流数据601a,直播窗口602c对应视频流数据601c,直播窗口602d对应视频流数据601b。进一步,基于每个直播窗口所对应的视频流数据,在直播窗口602a中渲染视频流数据601a,在直播窗口602b中渲染视频流数据601a,在直播窗口602c中渲染视频流数据601c,在直播窗口602d中渲染视频流数据601b。
也就是说,参与客户端最终在直播页面中渲染各个视频数据流时,不一定会渲染所有获取到的视频流数据,不同直播窗口处所渲染的视频流数据可能相同。可选的,可以采用目标渲染器,将每个直播窗口所对应的视频流数据,同步渲染至对应的直播窗口,该目标渲染器支持多个直播窗口的渲染,即,该目标渲染器支持多个直播窗口的输入,同时可以指定各个直播窗口所对应的直播视角(即视频展示区域信息),可以提高多视频的展示同步性。
可选的,该M个直播窗口包括主窗口及辅窗口,辅窗口是指M个直播窗口中除主窗口之外的直播窗口,主窗口是指作为主要显示的直播窗口。进一步地,可以响应针对辅窗口中的第一直播窗口的主画面切换请求,将主窗口中所显示的视频流数据,切换显示为第一直播窗口所显示的视频流数据;切换后的主窗口与第一直播窗口中所显示的内容相同。如图6所示,直播窗口602a可以认为是主窗口,其他直播窗口可以认为是辅窗口,假定第一直播窗口为直播窗口602c,参与客户端可以响应针对直播窗口602c的主画面切换请求,将直播窗口602a中所显示的视频流数据601a,切换显示为视频流数据601c,此时,直播窗口602a与直播窗口602c中所显示的内容时相同的。其中,该针对辅窗口中的第一直播窗口的主画面切换请求,可以是由针对第一直播窗口的切换触发操作所触发的,也可以是针对视角切换组件的触发操作所触发的,在此不做限制。例如图6中,响应针对视角切换组件603的触发操作,显示候选直播视角,响应针对候选直播视角中的目标直播视角的选择操作,获取该目标直播视角所对应的视频流数据,将主窗口中所显示的视频流数据,切换显示为目标直播视角所对应的视频流数据。
可选的,参与客户端可以对辅窗口中所显示的视频流数据的音频数据,进行音量减弱调整(如静音或调小音量等),使得用户可以更好地接收到各个直播窗口中的视频流数据的信息,提高视频流数据的展示效果。
可选的,参与客户端可以响应针对第二直播窗口的播放请求,获取第二直播窗口所对应的第一视频采集设备;第二直播窗口不属于M个直播窗口;N个视频采集设备包括第一视频采集设备。从N个视频流数据中,获取第一视频采集设备所对应的视频流数据,在第二直播窗口中输出第一视频采集设备所对应的视频流数据。其中,在存在主窗口与辅窗口时,该第二直播窗口可以以辅窗口形式进行增加,也可以直接将第二直播窗口切换为主窗口,将原主窗口切换为辅窗口,在此不做限制。
举例来说,请参见图7,图7是本申请实施例提供的一种视角增加场景示意图。如图7所示,该直播页面701包括直播窗口701a、直播窗口701b、直播窗口701c及直播窗口701d,响应针对窗口增加组件702(图7中仅为一种可能的组件形态)的触发操作,可以显示待选窗口,该待选窗口是指直播页面701中当前未显示的直播窗口,响应待选窗口中的第二直播窗口的添加操作,获取第二直播窗口所对应的第一视频采集设备,在直播页面701中增加第二直播窗口701e,在第二直播窗口701e中输出第一视频采集设备所对应的视频流数据。
通过本申请,用户点击切换直播视角时,可以做到瞬间切换,且切换显示出的视频流数据与其他显示出的视频流数据之间时间同步。
其中,参与客户端响应针对直播页面的显示操作,触发执行步骤S501,从视频处理设备中获取视频合成画面。参与客户端在显示直播页面的过程中,会不断触发步骤S501,从而实现直播,也就是说,在直播过程中,只要没有断流(如直播结束或未接收到视频处理设备所发送的视频流数据等),或用户主动停止播放,就会一直触发步骤S501,获取视频流数据。可选的,参与客户端的数量为一个或至少两个,每个参与客户端均可以执行图5所示的各个步骤,为用户输出视频流数据。
其中,可以参见图8,图8是本申请实施例提供的一种视频处理的交互流程图。如图8所示,该视频处理过程可以包括如下步骤:
步骤S801,采集视频流数据。
在本申请实施例中,视频采集设备可以采集视频流数据,可选的,视频采集设备可以采用目标分辨率采集视频流数据,该目标分辨率可以为高分辨率,以满足后续不同视角切换时对清晰度的要求,也使得用户可以更为方便地以不同的清晰度,显示各个视频流数据。其中,视频采集设备可以获取该视频采集设备的最大分辨率,将该最大分辨率确定为目标分辨率;或者,可以获取该视频采集设备的最大分辨率,获取视频采集设备的采集成本,该采集成本可以包括视频采集设备采集不同分辨率下的视频流数据所需耗费的时间及资源等,可以根据最大分辨率与采集成本,确定目标分辨率,使得该目标分辨率在尽可能高的分辨率下,用较少的采集成本,可选的,目标分辨率可以大于或等于直播页面所对应的默认分辨率。其中,该视频采集设备的数量可以为N,N为正整数。其中,每个视频采集设备对应一个视角。
步骤S802,发送视频流数据。
在本申请实施例中,视频采集设备可以将视频流数据推送至视频处理设备,可选的,视频采集设备可以获取视频处理设备所发送的目标媒体推流方式,以目标媒体推流方式向视频处理设备发送视频流数据,具体可以参见图3的步骤S301中的相关描述。可选的,该目标媒体推流方式也可以是由各个视频采集设备所协商的,或者是由管理人员提供的,在此不做限制。
步骤S803,基于用于视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面。
在本申请实施例中,视频处理设备可以基于用于视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面,具体可以参见图3的步骤S302中的相关描述。
步骤S804,发送视频合成画面。
在本申请实施例中,视频处理设备向参与客户端发送视频合成画面,具体可以参见图3的步骤S303的相关描述。
步骤S805,基于区域划分信息,将视频合成画面拆分为N个视频流数据。
在本申请实施例中,参与客户端可以基于区域划分信息,将视频合成画面拆分为N个视频流数据,可以参见图5的步骤S501中的相关描述。
步骤S806,基于视频展示区域信息,对N个视频流数据进行同步渲染。
在本申请实施例中,参与客户端可以基于视频展示区域信息,对N个视频流数据进行同步渲染,可以参见图5的步骤S502中的相关描述。
在本申请实施例中,视频处理设备可以从N个视频采集设备中分别获取视频流数据;N为正整数;基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。通过以上过程,可以将多个视角(即视频采集设备)下的视频流数据,进行同步获取,并且是将获取到的各个视角下的视频流数据进行合成,得到视频合成画面,相当于是将多路码流合成一路码流,使得该视频合成画面中的各个视角下的视频流数据可以认为是同一时刻下的,客户端可以通过获取视频合成画面,得到各个视角下的视频流数据,实现对多视角下的视频的同步播放,从而提高多视频显示的流畅性及多视频之间的时间同步性。
进一步地,请参见图9,图9是本申请实施例提供的一种视频处理装置示意图。该视频处理装置可以是运行于计算机设备中的一个计算机程序,例如该视频处理装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该视频处理装置900可以包括:视频获取模块11、数据拼接模块12及视频发送模块13。
视频获取模块11,用于从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
数据拼接模块12,用于基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;
视频发送模块13,用于将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。
其中,该装置900还包括:
周期确定模块14,用于获取视频播放帧率,基于视频播放帧率确定视频帧切换周期;
该视频获取模块11,包括:
视频更新单元111,用于在视频帧切换周期内,当接收N个视频采集设备分别发送的视频流数据时,删除N个视频采集设备所关联的历史视频流数据,将N个视频流数据与N个视频采集设备进行关联存储;
视频存储单元112,用于当满足视频帧切换周期所指示的视频帧切换条件时,获取N个视频采集设备在满足视频帧切换条件时分别关联的视频流数据。
其中,该装置900还包括:
主设备选取模块15,用于获取N个视频采集设备分别对应的设备采集信息及覆盖区域,基于N个视频采集设备分别对应的设备采集信息及覆盖区域,确定N个视频采集设备中的主设备;
该视频获取模块11,包括:
视频采集单元113,用于当接收到主设备所发送的视频流数据时,从N个视频采集设备除主设备之外的视频采集设备中,获取视频流数据。
其中,该装置900还包括:
推流确定模块16,用于与N个视频采集设备之间建立数据连接,基于数据连接及媒体推流方式所对应的数据传输损耗度,从媒体推流方式中确定目标媒体推流方式;
方式发送模块17,用于将目标媒体推流方式发送至N个视频采集设备;
该视频获取模块11,包括:
视频获取单元114,用于获取N个视频采集设备分别基于目标媒体推流方式所发送的视频流数据。
其中,区域划分信息包括N个视频采集设备分别对应的视频区域位置;
该数据拼接模块12,包括:
图像拼接单元121,用于获取每个视频流数据所包括的图像数据及音频数据,基于N个视频采集设备分别对应的视频区域位置,将N个视频流数据分别包括的图像数据拼接成合成图像;
音频关联单元122,用于将N个图像数据分别对应的音频数据关联至合成图像中的N个图像数据,得到视频合成画面;每个音频数据与对应的图像数据进行关联后得到一个视频流数据。
其中,该视频发送模块13,包括:
数据获取单元131,用于获取组成视频合成画面的图像合成数据及音频合成数据;
色值获取单元132,用于获取图像合成数据所包括的d个像素点及每个像素点分别对应的像素色值信息,获取d个像素点中各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据;d为正整数;
像素分组单元133,用于基于各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据,将d个像素点划分为k个像素组;k为小于或等于d的正整数;每个像素组中所包括的像素点在图像合成数据中连续;
图像编码单元134,用于将各个像素组中位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,组成图像合成数据所对应的图像编码数据;第一像素点是指各个像素组中除每个像素组中的位于首位的像素点之外的像素点;
音频编码单元135,用于对音频合成数据进行音频编码处理,得到音频编码数据;
编码发送单元136,用于将由图像编码数据与音频编码数据组成的视频合成编码数据,发送至参与客户端,以使参与客户端对视频合成编码数据进行解码操作,得到视频合成画面。
其中,该装置900还包括:
优先确定模块18,用于获取N个视频采集设备分别对应的设备采集信息,基于N个视频采集设备分别对应的设备采集信息,确定N个视频采集设备分别对应的设备优先级;
尺寸确定模块19,用于基于N个视频采集设备分别对应的采集分辨率,确定视频合成尺寸;
位置确定模块20,用于根据N个视频采集设备分别对应的设备优先级以及视频合成尺寸,确定N个视频采集设备分别对应的视频区域位置;
信息生成模块21,用于根据N个视频采集设备分别对应的设备标识,以及N个视频采集设备分别对应的视频区域位置,确定区域划分信息;
信息发送模块22,用于将区域划分信息发送至参与客户端。
本申请实施例提供了一种视频处理装置,该装置可以运行于视频处理设备中,可以从N个视频采集设备中分别获取视频流数据;N为正整数;基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。通过以上过程,可以将多个视角(即视频采集设备)下的视频流数据,进行同步获取,并且是将获取到的各个视角下的视频流数据进行合成,得到视频合成画面,相当于是将多路码流合成一路码流,使得该视频合成画面中的各个视角下的视频流数据可以认为是同一时刻下的,客户端可以通过获取视频合成画面,得到各个视角下的视频流数据,实现对多视角下的视频的同步播放,从而提高多视频显示的流畅性及多视频之间的时间同步性。
进一步地,请参见图10,图10是本申请实施例提供的另一种视频处理装置示意图。该视频处理装置可以是运行于计算机设备中的一个计算机程序,例如该视频处理装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该视频处理装置1000可以包括:视频接收模块31及视频输出模块32。
视频接收模块31,用于从视频处理设备中获取视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据;N为正整数;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;视频合成画面是由视频处理设备基于区域划分信息,将N个视频流数据拼接而成的;N个视频流数据是从N个视频采集设备中所获取的;
视频输出模块32,用于基于视频展示区域信息,对N个视频流数据进行同步渲染。
其中,该视频输出模块32,包括:
窗口获取单元321,用于获取当前显示的直播页面,获取直播页面中所包括的M个直播窗口,以及M个直播窗口分别对应的直播视角;M为正整数;
信息确定单元322,用于基于M个直播视角分别对应的视频采集设备,确定视频展示区域信息;视频展示区域信息用于指示M个直播窗口分别对应的视频采集设备;
视频对应单元323,用于基于视频展示区域信息,从N个视频流数据中,确定每个直播窗口所对应的视频流数据;
视频渲染单元324,用于基于每个直播窗口所对应的视频流数据,在每个直播窗口中渲染该直播窗口所对应的视频流数据。
其中,M个直播窗口包括主窗口及辅窗口,辅窗口是指M个直播窗口中除主窗口之外的直播窗口;
该装置1000还包括:
画面切换模块33,用于响应针对辅窗口中的第一直播窗口的主画面切换请求,将主窗口中所显示的视频流数据,切换显示为第一直播窗口所显示的视频流数据;切换后的主窗口与第一直播窗口中所显示的内容相同。
其中,该装置1000还包括:
设备确定模块34,用于响应针对第二直播窗口的播放请求,获取第二直播窗口所对应的第一视频采集设备;第二直播窗口不属于M个直播窗口;N个视频采集设备包括第一视频采集设备;
视频显示模块35,用于从N个视频流数据中,获取第一视频采集设备所对应的视频流数据,在第二直播窗口中输出第一视频采集设备所对应的视频流数据。
其中,该视频接收模块31,包括:
编码获取单元311,用于从视频处理设备中获取视频合成编码数据,获取组成视频合成编码数据的图像编码数据及音频编码数据;
组别获取单元312,用于获取图像编码数据的k个像素组;k为正整数;
图像解码单元313,用于基于k个像素组中分别对应的位于首位的像素点的像素色值信息,以及第一像素点与第一像素点的前一个像素点之间的色值差异数据,确定k个像素组所包括的d个像素点分别对应的像素色值信息;d为大于或等于k的正整数;
图像组合单元314,用于将d个像素点分别对应的像素色值信息组成图像合成数据;
音频解码单元315,用于对音频编码数据进行音频解码处理,得到音频合成数据;
画面合成单元316,用于将图像合成数据与音频合成数据组成视频合成画面。
在本申请实施例中,该装置可以运行于参与客户端,参与客户端可以基于视频处理设备所提供的区域划分信息,将视频合成画面拆分为N个视频流数据,以获取到各个视角下的同步的视频流数据,再对各个视频流数据进行渲染,实现多视频的同步播放,提高多视频显示的流畅性及多视频流之间的时间同步性。
参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,本申请实施例中的计算机设备可以包括:一个或多个处理器1101、存储器1102和输入输出接口1103。该处理器1101、存储器1102和输入输出接口1103通过总线1104连接。存储器1102用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1103用于接收数据及输出数据,如用于视频采集设备与视频处理设备之间进行数据交互,或者用于视频处理设备与参与客户端之间进行数据交互等;处理器1101用于执行存储器1102存储的程序指令。
其中,在一实施例中,该处理器1101位于视频处理设备中,可以执行如下操作:
从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;
将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。
其中,在另一实施例中,该处理器1101位于参与客户端中,可以执行如下操作:
从视频处理设备中获取视频合成画面,基于视频处理设备用于进行视频画面合成的区域划分信息,将视频合成画面拆分为N个视频流数据;N为正整数;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;视频合成画面是由视频处理设备基于区域划分信息,将N个视频流数据拼接而成的;N个视频流数据是从N个视频采集设备中所获取的;
基于视频展示区域信息,对N个视频流数据进行同步渲染。
在一些可行的实施方式中,该处理器1101可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1102可以包括只读存储器和随机存取存储器,并向处理器1101和输入输出接口1103提供指令和数据。存储器1102的一部分还可以包括非易失性随机存取存储器。例如,存储器1102还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3或图5中各个步骤所提供的实现方式,具体可参见该图3或图5中各个步骤所提供的实现方式,在此不再赘述。
本申请实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图3中或图5所示方法的各个步骤,进行视频处理操作。本申请实施例实现了从N个视频采集设备中分别获取视频流数据;N为正整数;基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;区域划分信息用于指示N个视频流数据分别在视频合成画面中的位置;将视频合成画面发送至参与客户端,以使参与客户端基于区域划分信息将视频合成画面拆分成N个视频流数据,基于参与客户端所对应的视频展示区域信息,对N个视频流数据进行同步渲染。通过以上过程,可以将多个视角(即视频采集设备)下的视频流数据,进行同步获取,并且是将获取到的各个视角下的视频流数据进行合成,得到视频合成画面,相当于是将多路码流合成一路码流,使得该视频合成画面中的各个视角下的视频流数据可以认为是同一时刻下的,客户端可以通过获取视频合成画面,得到各个视角下的视频流数据,实现对多视角下的视频的同步播放,从而提高多视频显示的流畅性及多视频之间的时间同步性。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图3或图5中各个步骤所提供的视频处理方法,具体可参见该图3或图5中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(securedigital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3或图5中的各种可选方式中所提供的方法,实现了将多个视角(即视频采集设备)下的视频流数据,进行同步获取,并且是将获取到的各个视角下的视频流数据进行合成,得到视频合成画面,相当于是将多路码流合成一路码流,使得该视频合成画面中的各个视角下的视频流数据可以认为是同一时刻下的,客户端可以通过获取视频合成画面,得到各个视角下的视频流数据,实现对多视角下的视频的同步播放,从而提高多视频显示的流畅性及多视频之间的时间同步性。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程视频处理设备的处理器以产生一个机器,使得通过计算机或其他可编程视频处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程视频处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程视频处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

1.一种视频处理方法,其特征在于,所述方法包括:
从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;所述区域划分信息用于指示所述N个视频流数据分别在所述视频合成画面中的位置;
将所述视频合成画面发送至参与客户端,以使所述参与客户端基于所述区域划分信息将所述视频合成画面拆分成所述N个视频流数据,基于所述参与客户端所对应的视频展示区域信息,对所述N个视频流数据进行同步渲染。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取视频播放帧率,基于所述视频播放帧率确定视频帧切换周期;
所述从N个视频采集设备中分别获取视频流数据,包括:
在所述视频帧切换周期内,当接收N个视频采集设备分别发送的视频流数据时,删除所述N个视频采集设备所关联的历史视频流数据,将N个视频流数据与所述N个视频采集设备进行关联存储;
当满足所述视频帧切换周期所指示的视频帧切换条件时,获取所述N个视频采集设备在满足所述视频帧切换条件时分别关联的视频流数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取N个视频采集设备分别对应的设备采集信息及覆盖区域,基于所述N个视频采集设备分别对应的设备采集信息及覆盖区域,确定所述N个视频采集设备中的主设备;
所述从N个视频采集设备中分别获取视频流数据,包括:
当接收到所述主设备所发送的视频流数据时,从所述N个视频采集设备除所述主设备之外的视频采集设备中,获取视频流数据。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
与所述N个视频采集设备之间建立数据连接,基于所述数据连接及媒体推流方式所对应的数据传输损耗度,从所述媒体推流方式中确定目标媒体推流方式;
将所述目标媒体推流方式发送至所述N个视频采集设备;
所述从N个视频采集设备中分别获取视频流数据,包括:
获取所述N个视频采集设备分别基于所述目标媒体推流方式所发送的视频流数据。
5.如权利要求1所述的方法,其特征在于,所述区域划分信息包括所述N个视频采集设备分别对应的视频区域位置;
所述基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面,包括:
获取每个视频流数据所包括的图像数据及音频数据,基于所述N个视频采集设备分别对应的视频区域位置,将N个视频流数据分别包括的图像数据拼接成合成图像;
将所述N个图像数据分别对应的音频数据关联至所述合成图像中的N个图像数据,得到视频合成画面;每个音频数据与对应的图像数据进行关联后得到一个视频流数据。
6.如权利要求1所述的方法,其特征在于,所述将所述视频合成画面发送至参与客户端,包括:
获取组成所述视频合成画面的图像合成数据及音频合成数据;
获取所述图像合成数据所包括的d个像素点及每个像素点分别对应的像素色值信息,获取所述d个像素点中各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据;d为正整数;
基于所述各个相邻的两个像素点分别对应的像素色值信息之间的色值差异数据,将所述d个像素点划分为k个像素组;k为小于或等于d的正整数;每个像素组中所包括的像素点在所述图像合成数据中连续;
将各个像素组中位于首位的像素点的像素色值信息,以及第一像素点与所述第一像素点的前一个像素点之间的色值差异数据,组成所述图像合成数据所对应的图像编码数据;所述第一像素点是指各个像素组中除每个像素组中的位于首位的像素点之外的像素点;
对所述音频合成数据进行音频编码处理,得到音频编码数据;
将由所述图像编码数据与所述音频编码数据组成的视频合成编码数据,发送至参与客户端,以使所述参与客户端对所述视频合成编码数据进行解码操作,得到所述视频合成画面。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述N个视频采集设备分别对应的设备采集信息,基于所述N个视频采集设备分别对应的设备采集信息,确定所述N个视频采集设备分别对应的设备优先级;
基于所述N个视频采集设备分别对应的采集分辨率,确定视频合成尺寸;
根据所述N个视频采集设备分别对应的设备优先级以及所述视频合成尺寸,确定所述N个视频采集设备分别对应的视频区域位置;
根据所述N个视频采集设备分别对应的设备标识,以及所述N个视频采集设备分别对应的视频区域位置,确定所述区域划分信息;
将所述区域划分信息发送至所述参与客户端。
8.一种视频处理方法,其特征在于,所述方法包括:
从视频处理设备中获取视频合成画面,基于所述视频处理设备用于进行视频画面合成的区域划分信息,将所述视频合成画面拆分为N个视频流数据;N为正整数;所述区域划分信息用于指示所述N个视频流数据分别在所述视频合成画面中的位置;所述视频合成画面是由所述视频处理设备基于所述区域划分信息,将所述N个视频流数据拼接而成的;所述N个视频流数据是从N个视频采集设备中所获取的;
基于视频展示区域信息,对所述N个视频流数据进行同步渲染。
9.如权利要求8所述的方法,其特征在于,所述基于视频展示区域信息,对所述N个视频流数据进行同步渲染,包括:
获取当前显示的直播页面,获取所述直播页面中所包括的M个直播窗口,以及所述M个直播窗口分别对应的直播视角;M为正整数;
基于M个直播视角分别对应的视频采集设备,确定视频展示区域信息;所述视频展示区域信息用于指示所述M个直播窗口分别对应的视频采集设备;
基于所述视频展示区域信息,从所述N个视频流数据中,确定每个直播窗口所对应的视频流数据;
基于所述每个直播窗口所对应的视频流数据,在每个直播窗口中渲染该直播窗口所对应的视频流数据。
10.如权利要求9所述的方法,其特征在于,所述M个直播窗口包括主窗口及辅窗口,所述辅窗口是指所述M个直播窗口中除所述主窗口之外的直播窗口;
所述方法还包括:
响应针对所述辅窗口中的第一直播窗口的主画面切换请求,将所述主窗口中所显示的视频流数据,切换显示为所述第一直播窗口所显示的视频流数据;切换后的主窗口与所述第一直播窗口中所显示的内容相同。
11.如权利要求9所述的方法,其特征在于,所述方法还包括:
响应针对第二直播窗口的播放请求,获取所述第二直播窗口所对应的第一视频采集设备;所述第二直播窗口不属于所述M个直播窗口;所述N个视频采集设备包括所述第一视频采集设备;
从所述N个视频流数据中,获取所述第一视频采集设备所对应的视频流数据,在所述第二直播窗口中输出所述第一视频采集设备所对应的视频流数据。
12.如权利要求8所述的方法,其特征在于,所述从视频处理设备中获取视频合成画面,包括:
从视频处理设备中获取视频合成编码数据,获取组成所述视频合成编码数据的图像编码数据及音频编码数据;
获取所述图像编码数据的k个像素组;k为正整数;
基于所述k个像素组中分别对应的位于首位的像素点的像素色值信息,以及第一像素点与所述第一像素点的前一个像素点之间的色值差异数据,确定所述k个像素组所包括的d个像素点分别对应的像素色值信息;d为大于或等于k的正整数;
将所述d个像素点分别对应的像素色值信息组成图像合成数据;
对所述音频编码数据进行音频解码处理,得到音频合成数据;
将所述图像合成数据与所述音频合成数据组成视频合成画面。
13.一种视频处理装置,其特征在于,所述装置包括:
视频获取模块,用于从N个视频采集设备中分别获取视频流数据;N为正整数,每个视频采集设备对应一个视角;
数据拼接模块,用于基于用于进行视频画面合成的区域划分信息,将N个视频流数据拼接成视频合成画面;所述区域划分信息用于指示所述N个视频流数据分别在所述视频合成画面中的位置;
视频发送模块,用于将所述视频合成画面发送至参与客户端,以使所述参与客户端基于所述区域划分信息将所述视频合成画面拆分成所述N个视频流数据,基于所述参与客户端所对应的视频展示区域信息,对所述N个视频流数据进行同步渲染。
14.一种视频处理装置,其特征在于,所述装置包括:
视频接收模块,用于从视频处理设备中获取视频合成画面;
数据拆分模块,用于基于所述视频处理设备用于进行视频画面合成的区域划分信息,将所述视频合成画面拆分为N个视频流数据;N为正整数;所述区域划分信息用于指示所述N个视频流数据分别在所述视频合成画面中的位置;所述视频合成画面是由所述视频处理设备基于所述区域划分信息,将所述N个视频流数据拼接而成的;所述N个视频流数据是从N个视频采集设备中所获取的;
视频输出模块,用于基于视频展示区域信息,对所述N个视频流数据进行同步渲染。
15.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-7任一项所述的方法,或者执行权利要求8-12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-7任一项所述的方法,或者执行权利要求8-12任一项所述的方法。
CN202211292011.2A 2022-10-20 2022-10-20 视频处理方法、装置、计算机、可读存储介质及程序产品 Pending CN116980688A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202211292011.2A CN116980688A (zh) 2022-10-20 2022-10-20 视频处理方法、装置、计算机、可读存储介质及程序产品
PCT/CN2023/085843 WO2024082561A1 (zh) 2022-10-20 2023-04-03 视频处理方法、装置、计算机、可读存储介质及程序产品
US18/438,615 US20240214521A1 (en) 2022-10-20 2024-02-12 Video processing method and apparatus, computer, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211292011.2A CN116980688A (zh) 2022-10-20 2022-10-20 视频处理方法、装置、计算机、可读存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN116980688A true CN116980688A (zh) 2023-10-31

Family

ID=88478399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211292011.2A Pending CN116980688A (zh) 2022-10-20 2022-10-20 视频处理方法、装置、计算机、可读存储介质及程序产品

Country Status (3)

Country Link
US (1) US20240214521A1 (zh)
CN (1) CN116980688A (zh)
WO (1) WO2024082561A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381782A (zh) * 2024-05-28 2024-07-23 江苏欧帝电子科技有限公司 一种多媒体流融合方法、系统、设备及介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6060663B2 (ja) * 2012-12-12 2017-01-18 株式会社Jvcケンウッド 画像信号符号化装置及び方法、並びに、画像信号復号装置及び方法
CN103686047A (zh) * 2013-12-18 2014-03-26 电子科技大学 一种多路视频数据传输方法
CN107205158A (zh) * 2016-03-18 2017-09-26 中国科学院宁波材料技术与工程研究所 一种基于时间戳的多路音视频流同步解码方法
CN106331822B (zh) * 2016-08-26 2020-02-07 北京金山安全软件有限公司 一种播放多视频的方法、装置及电子设备
CN108271033B (zh) * 2016-12-30 2021-01-01 武汉斗鱼网络科技有限公司 一种视频直播方法及装置
WO2019118890A1 (en) * 2017-12-14 2019-06-20 Hivecast, Llc Method and system for cloud video stitching
CN113497963B (zh) * 2020-03-18 2023-04-18 阿里巴巴集团控股有限公司 视频处理方法、装置及设备
CN111447457A (zh) * 2020-03-25 2020-07-24 咪咕文化科技有限公司 直播视频处理方法、装置及存储介质
KR102403259B1 (ko) * 2020-09-10 2022-05-30 네이버 주식회사 다중 라이브 송출 환경에서의 채널 간 고속 전환 모드를 구현하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
CN112929580A (zh) * 2021-01-14 2021-06-08 北京奇艺世纪科技有限公司 多视角视频播放方法、装置、系统、服务器和客户端设备
CN113259764A (zh) * 2021-07-06 2021-08-13 北京达佳互联信息技术有限公司 视频的播放方法、播放装置、电子设备及系统
CN113518260B (zh) * 2021-09-14 2022-05-03 腾讯科技(深圳)有限公司 视频播放方法、装置、电子设备及计算机可读存储介质
CN114257760A (zh) * 2021-12-10 2022-03-29 广东科凯达智能机器人有限公司 视频拼接处理方法、智能机器人及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381782A (zh) * 2024-05-28 2024-07-23 江苏欧帝电子科技有限公司 一种多媒体流融合方法、系统、设备及介质

Also Published As

Publication number Publication date
US20240214521A1 (en) 2024-06-27
WO2024082561A1 (zh) 2024-04-25

Similar Documents

Publication Publication Date Title
WO2021179783A1 (zh) 基于自由视点的视频直播处理方法、设备、系统、芯片及介质
CN110798697B (zh) 视频显示方法、装置、系统以及电子设备
US10237548B2 (en) Video transmission based on independently encoded background updates
CN114600468B (zh) 将复合视频流中的视频流与元数据组合的组合器系统、接收器设备、计算机实现的方法和计算机可读介质
CN111970524B (zh) 交互类直播连麦的控制方法、装置、系统、设备及介质
CN107211081B (zh) 基于独立编码的背景更新的视频传输
US20110090970A1 (en) Terminal and relay node for video conference system
Ahmad Multi-view video: get ready for next-generation television
CN102098443A (zh) 一种摄像设备、通信系统和相应的图像处理方法
CN112019877A (zh) 基于vr设备的投屏方法、装置、设备及存储介质
US20200213631A1 (en) Transmission system for multi-channel image, control method therefor, and multi-channel image playback method and apparatus
Gül et al. Cloud rendering-based volumetric video streaming system for mixed reality services
KR20080082759A (ko) 네트워크를 통한 가상 스튜디오 구현 시스템 및 그 방법
CN111479162B (zh) 直播数据传输方法、装置以及计算机可读存储介质
CN113518260B (zh) 视频播放方法、装置、电子设备及计算机可读存储介质
EP3434021A1 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US20240214521A1 (en) Video processing method and apparatus, computer, and readable storage medium
US20140196102A1 (en) Method for transmitting video signals from an application on a server over an ip network to a client device
CN106412617B (zh) 远程调试控制方法及装置
CN111447458A (zh) 基于内容解说的直播系统、方法、装置和直播服务器
CN1427618A (zh) 基于多进程的多视角视频节目网络转播方法
KR20170130883A (ko) 하이브리드 망 기반의 가상 현실 방송 서비스 방법 및 장치
CN115174942A (zh) 一种自由视角切换方法及交互式自由视角播放系统
CN114095772A (zh) 连麦直播下的虚拟对象展示方法、系统及计算机设备
CN111343475A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40098082

Country of ref document: HK