CN112689119A - 一种云会议中录制视频合屏的处理方法及装置 - Google Patents
一种云会议中录制视频合屏的处理方法及装置 Download PDFInfo
- Publication number
- CN112689119A CN112689119A CN202110264122.1A CN202110264122A CN112689119A CN 112689119 A CN112689119 A CN 112689119A CN 202110264122 A CN202110264122 A CN 202110264122A CN 112689119 A CN112689119 A CN 112689119A
- Authority
- CN
- China
- Prior art keywords
- data
- screen
- processing
- video
- layout
- 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.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种云会议中录制视频合屏的处理方法及装置,针对本发明云会议中录制视频合屏的处理方法来说,包括如下步骤:S1:解析录制文件,解析出控制协议,获得合屏的布局信息以及分屏的宽高;S2:将非视频的会议元素,输入到图形图片转换模块进行统一处理,经过转换后,输出成合屏模块支持的YUV数据格式;S3:将非视频的会议元素经处理后的YUV数据,给到合屏模块合屏处理;S4:将合屏处理后的数据,按照设置的合屏编码参数进行H264编码,将编码后的H264视频ES数据给到上层业务进行容器封装处理。针对本发明装置来说,其执行上述方法。本发明能保证会议中提升会议效果的多种会议元素进行快速、稳定的视频合成。
Description
技术领域
本发明涉及一种云会议中录制视频合屏的处理方法。
本发明还涉及一种云会议中录制视频合屏的处理装置。
背景技术
随着视频云会议的快速发展,及视频会议媒介多元化,打破了时域、地域限制,随时随地都能快速进行视频会议。客户对会议录制的要求也越来越高,不仅仅需要录制存储会议中所有与会人员的视频和音频数据,还需要将一些辅助数据也能按照会议中的操作原封不动地记录下来。而这些辅助数据包括点位图形、JPEG/BMP图片、GIF动图,以及会中用户分享的视音频等,辅助数据可以用于提升会议效果和用户的直观体验。 目前,现有的视频合屏功能,分为硬件视频合屏方案和软件视频合屏方案。硬件视频合屏方案,是针对传统视频会议,将ASI等采集卡视频接入到硬混屏设备做为输入源,进行混屏编码输出的。
现有的软件视频合屏方案对输入的数据有要求,一般仅支持传输格式是TS、RTP、RTSP、RTMP、HLS等传输协议,其中负载数据都是视频格式编码后的数据。这种视频数据的输入帧率相对稳定,一般是15-25帧,合屏时相对较容易。还有一种云会议中录制方案,跳过混屏直接进行主持人显示界面截图编码,这样增加了用户端的上行带宽以及用户端性能耗费。
现有的会议视频合屏方案,不能将会议中图形、图片等会中元素按照用户操作录制下来。在录制合屏中,没有很好地解决多种输入源当帧率不同的时候,进行视频合屏会产生某些分屏快放,某些分屏不流畅等现象。
发明内容
本发明的目的是提供一种云会议中录制视频合屏的处理方法,能保证会议中提升会议效果的多种会议元素进行快速、稳定的视频合成,并极大地提升了用户进行会议回放的体验及感受。
本发明的另一个目的是提供一种云会议中录制视频合屏的处理装置,其执行上述方法。
针对本发明云会议中录制视频合屏的处理方法来说,具体包括如下步骤:
S1:解析录制文件,解析出控制协议,获得合屏的布局信息以及分屏的宽高,同时,也要解析出控制协议的操作;
S2:将非视频的会议元素,输入到图形图片转换模块进行统一处理,输入到图形图片转换模块的是点坐标数据和JPEG数据/文件或BMP数据/文件或PNG数据/文件或GIF数据/文件,经过转换后,输出成合屏模块支持的YUV数据格式;
S3:将非视频的会议元素处理后的YUV数据和H264视频ES数据,给到合屏模块进行合屏处理,YUV数据按照布局宽和高进行缩放处理;而H264视频ES数据,则需要先进行解码转换为YUV数据,解码成功后再根据布局宽和高进行缩放处理;将所有按照布局信息处理后的YUV数据,进行视频合屏处理;
S4:将合屏处理后的数据,按照设置的合屏编码参数进行H264编码,转换为H264视频ES数据,将编码成功后的H264视频ES数据给到上层业务进行容器封装处理。
作为本发明云会议中录制视频合屏的处理方法进一步的改进,解析出控制协议的操作,包括的操作信息为:插入会议元素、开启/关闭批注操作和切换合屏布局。
作为本发明云会议中录制视频合屏的处理方法进一步的改进,S2中,处理的流程为:
S2.1:首先解析数据包参数,并根据参数进行分类处理;
S2.2:如果是点坐标数据,其中首先根据输入参数的宽高信息,初始化默认透明画布;其次,根据宽高信息去校验,点坐标数据的所有坐标点是否超过画布边界,如果超过,则根据宽高重置坐标信息(合屏分屏宽高和左上点位置决定分屏在合屏中位置,如果分屏位置和宽高超出合屏布局,需要重新计算新的分屏位置和宽高进行分屏局部显示,左上点是一个坐标,用来写定位合成图中分屏图的位置);再次,设置画笔宽度、颜色相关参数后进行画笔绘图,按照线方式依次绘图;最后,对绘制后画布进行颜色空间转换,完成点坐标数据转YUV数据操作;
S2.3:如果是JPEG、BMP、PNG等静态图片格式,首先去加载数据或文件格式数据;其次,解析格式头信息并初始化(将BMP、jpg、png数据头信息进行解析并初始化内存和全局参数);再次,依据格式头信息中设置的参数,去解析负载数据;最后,对解析后的数据进行颜色空间转换,完成JPEG或BMP或PNG静态图片数据转YUV数据操作;
S2.4:如果是GIF格式,首先去加载数据头信息,其中会有frameCnt帧数,如果帧数大于1,则是GIF动图,这时需要计算出每帧播放时间,其次,根据frameCnt帧数循环处理,解析每帧图像的协议头,解析DATA负载数据,再对解析后的数据进行颜色空间转换,最后,完成循环得到一帧或多帧YUV数据,多帧YUV数据会有播放时间参数;将解码前的传输时间信息或解码时间信息作为YUV数据输入的时间,然后与合屏编码本地时间进行比较来判断是否更新YUV数据,体现为该YUV的播放时间。
S2.5:当多种格式处理完成后,根据转换后的YUV数据是单帧还是多帧来分别进行时间戳处理,如果是单帧数据,使用本地时间做为时间戳,如果是多帧数据,需要根据每帧播放时间加上本地时间作为合屏输入当前帧的时间戳。合屏的数据来源不同的时间系统,需要根据定义一套本地时间系统,将每帧帧率换算出每帧播放时间,加上本地当前时间系统作为当前数据输入的播放时间戳。
作为本发明云会议中录制视频合屏的处理方法进一步的改进,S3中,先进行视频合屏预处理,预处理需要根据输入通道的布局信息来进行处理,并进行帧率统计与时间戳处理,具体流程如下:
S3.1:进行视频合屏初始化,首先需要初始化合屏模块及合屏背景,其次需要初始化布局信息,最后需要设定布局对应的输入源信息,完成初始化并设置成功标记;
S3.2:判断当前合屏是否失败,如果失败,需要更新新的布局信息(合屏失败原因有布局信息错误和输入参数错误导致),以及新的布局信息对应的输入源的信息,如果未失败,直接进行步骤S3.3;
S3.3:根据输入ID查找对应的输入信息,针对输入信息进行分类处理,对系统约定的输入源数据类型YUV数据和H264视频ES数据分别进行处理;
S3.4:如果是H264视频ES数据,则需要初始化解码,然后进行解码处理,如果解码失败则沿用上帧数据继续合屏(解码失败后直接返回,并不去替换input通道中上一帧的解码数据,简单说就是当解码失败沿用上帧数据继续合屏,避免黑屏问题出现),如果成功则需要根据布局信息创建缩放模块,按照布局进行缩放处理,图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放后的图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把解码后的YUV数据放到通道的队列中;
S3.5:如果是YUV数据,无需解码直接进行缩放处理,根据布局信息创建缩放模块,按照布局进行缩放,图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把YUV数据放到通道的队列中。
作为本发明云会议中录制视频合屏的处理方法进一步的改进,将视频合屏预处理后的输入YUV数据(S3.1-S3.5得到视频合屏的输入YUV数据),按照布局信息中左上点位置信息和布局宽高进行视频合屏,默认依据通道初始化顺序进行,最后,再将视频合屏后的数据进行H264编码处理,输出编码后的H264视频ES数据,具体处理流程如下:
S4.1:进行视频合屏,初始化本地编码时间,并判断当前时间戳与通道处理后数据的时间戳,如果时间戳满足合屏则进行合屏处理,如果收到的待处理数据时间戳是否与本地时间戳相匹配,如果收到的待处理数据时间戳与本地时间戳匹配则进行合屏处理,待处理数据时间戳小于本地编码时间,则打印日志并丢弃该帧(即为,判断收到待处理数据时间戳比当前本地时钟早则认为是过期数据不予处理)。
S4.2:符合合屏条件,开始进行视频合成,首先,需要初始化合屏画布,并按照设定背景贴上背景底图,其次,按照通道的业务图层顺序,进行channel排序处理,再次,根据合屏通道数循环贴图;
S4.3:循环分屏贴图,首先要检查当前布局及通道状态是否已经准备就绪,然后进行分屏背景的初始化,完成后即可按照布局信息中左上点和布局宽高,在合屏画布上进行贴图;
S4.4:根据合屏的返回值进行处理,成功则将合屏后的YUV数据放入到编码队列中,如果异常则打印返回值并退出本次合屏,根据输入帧驱动机制,做完合屏操作后需要更新本地合屏时间戳,等待下一次合屏;
S4.5:创建合屏时,进行编码线程初始化并按照设定编码参数,设置编码器,线程运行中,检测待编码队列是否有数据,如果有数据,则从队列中选取后进行合屏数据的H264编码,编码成功将编码后的数据从回调接口给到上层应用。
针对本发明云会议中录制视频合屏的处理装置,其执行上述的方法。
本发明能把一场会议中所有信息元素都原封不动地记录下来,便于用户在会议结束后查阅会议内容。会议中的可见元素的数据包括与会人员视频的数据、批注画笔的数据、插入图片的数据、插入动图或视频的数据,完整的会议录制需要将上述全部信息元素按照会中用户操作混屏合并在一起记录到常规视频文件中。通过图形、静图、动图转换模块,来兼容非视频元素以混屏合并,帧率统计与时间戳同步,解决输入元素帧率不同的问题,最后采用时间戳控制快速合屏,从而完成多种图像与视频元素的混屏合并。通过本发明,实现了会议中可见元素的完整录制,录制后文件可以真实还原会中内容,提升了用户对录制功能体验和可靠性。并且,确保当输入源不同帧率时,视频合屏后各分屏播放平滑流畅不卡顿。
附图说明
图1为格式转换和合屏处理流程示意图。
图2为图形图片转换模块处理流程示意图。
图3为帧率统计与时间戳处理流程示意图。
图4为H264编码处理流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1-图4所示,本发明云会议中录制视频合屏的处理方法,具体包括如下步骤:
S1:解析录制文件,解析出控制协议,获得合屏的布局信息以及分屏的宽高,同时,也要解析出控制协议的操作;
S2:将非视频的会议元素,输入到图形图片转换模块进行统一处理,模块输入到图形图片转换模块的是点坐标数据和JPEG数据/文件和BMP数据/文件和PNG数据/文件和GIF数据/文件,经过转换后,输出成合屏模块支持的YUV数据格式;
S3:将非视频的会议元素处理后的YUV数据和H264视频ES数据,给到合屏模块进行合屏处理,YUV数据按照布局宽和高进行缩放处理;而H264视频ES数据,则需要先进行解码转换为YUV数据,解码成功后再根据布局宽和高进行缩放处理;将所有按照布局信息处理后的YUV数据,进行视频合屏处理;
S4:将合屏处理后的数据,按照设置的合屏编码参数进行H264编码,转换为H264视频ES数据将编码成功后的H264视频ES数据给到上层业务进行容器封装处理。
在本实施例中,解析出控制协议的操作,包括的操作信息为:插入会议元素、开启/关闭批注操作和切换合屏布局。
在本实施例中,S2中,处理的流程为:
S2.1:首先解析数据包参数,并根据参数进行分类处理;
S2.2:如果是点坐标数据,其中首先根据输入参数的宽高信息,初始化默认透明画布;其次,根据宽高信息去校验,点坐标数据的所有坐标点是否超过画布边界,如果超过,则根据宽高重置坐标信息;再次,设置画笔宽度、颜色相关参数后进行画笔绘图,按照线方式依次绘图;最后,对绘制后画布进行颜色空间转换,完成点坐标数据转YUV数据操作;
S2.3:如果是JPEG、BMP和PNG等静态图片格式,首先去加载数据或文件格式数据;其次,解析格式头信息并初始化;再次,依据格式头信息中设置的参数,去解析负载数据;最后,对解析后的数据进行颜色空间转换,完成JPEG、BMP和PNG静态图片数据转YUV数据操作;
S2.4:如果是GIF格式,首先去加载数据头信息,其中会有frameCnt帧数,如果帧数大于1,则是GIF动图,这时需要计算出每帧播放时间,其次,根据frameCnt循环处理,解析每帧图像的协议头,解析DATA负载数据,再对解析后的数据进行颜色空间转换,最后,完成循环得到一帧或多帧YUV数据,多帧YUV数据会有播放时间参数;
S2.5:当多种格式处理完成后,根据转换后的YUV数据是单帧还是多帧来分别进行时间戳处理,如果是单帧数据,使用本地时间做为时间戳,如果是多帧数据,需要根据每帧播放时间加上本地时间作为合屏输入当前帧的时间戳。
在本实施例中,S3中,先进行视频合屏预处理,预处理需要根据输入通道的布局信息来进行处理,并进行帧率统计与时间戳处理,具体流程如下:
S3.1:进行视频合屏初始化,首先需要初始化合屏模块及合屏背景,其次需要初始化布局信息,最后需要设定布局对应的输入源信息,完成初始化并设置成功标记;
S3.2:判断当前合屏是否失败,如果失败,需要更新新的布局信息,以及新的布局信息对应的输入源的信息,如果未失败,直接进行步骤S3.3;
S3.3:根据输入ID查找对应的输入信息,针对输入信息进行分类处理,对系统约定的输入源数据类型YUV数据和H264视频ES数据分别进行处理;
S3.4:如果是H264视频ES数据,则需要初始化解码,然后进行解码处理,如果解码失败则沿用上帧数据继续合屏,如果成功则需要根据布局信息创建缩放模块,按照布局进行缩放处理,图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放后的图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏YUV数据的时间戳,把解码后的YUV数据放到通道的队列中;
S3.5:如果是YUV数据,无需解码直接进行缩放处理,根据布局信息创建缩放模块,按照布局进行缩放,同时,根据当前宽高比计算出上下左右的偏移量,即图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把YUV数据放到通道的队列中。
在本实施例中,将视频合屏预处理后的输入YUV数据,按照布局信息中左上点位置信息和布局宽高进行视频合屏,默认依据通道初始化顺序进行,最后,再将视频合屏后的数据进行H264编码处理,输出编码后的H264视频ES数据,具体处理流程如下:
S4.1:进行视频合屏,初始化本地编码时间,并判断当前时间戳与通道处理后数据的时间戳,即收到的待处理数据时间戳是否与本地时间戳相匹配,如果时间戳满足合屏条件则进行合屏处理,即收到的待处理数据时间戳与本地时间戳匹配则进行合屏处理,如果待处理数据时间戳小于本地编码时间,则打印日志并丢弃该帧。
S4.2:符合合屏条件,开始进行视频合成,首先,需要初始化合屏画布,并按照设定背景贴上背景底图,其次,按照通道的业务图层顺序,进行channel排序处理,再次,根据合屏通道数循环贴图;
S4.3:循环分屏贴图,首先要检查当前布局及通道状态是否已经准备就绪,然后进行分屏背景的初始化,完成后即可按照布局信息中左上点和布局宽、高,在合屏画布上进行贴图;
S4.4:根据合屏的返回值进行处理,成功则将合屏后的YUV数据放入到编码队列中,如果异常则打印返回值并退出本次合屏,根据输入帧驱动机制,做完合屏操作后需要更新本地合屏时间戳,等待下一次合屏;
S4.5:创建合屏时,进行编码线程初始化并按照设定编码参数,设置编码器,线程运行中,检测待编码队列是否有数据,如果有数据,则从队列中选取后进行合屏数据的H264编码,编码成功将编码后的数据从回调接口给到上层应用。
针对本发明云会议中录制视频合屏的处理装置,其执行上述的方法。
实施例2
本发明是一种云会议中录制视频合屏的处理方法,主要处理及实现步骤如下:
首先,需要解析录制文件,解析出控制协议,获得合屏的布局信息以及分屏的宽高,同时,也要解析出控制协议的操作,比如插入会议元素,开启/关闭批注操作,切换合屏布局等操作信息。
其次,将非视频的会议元素,输入到图形图片转换模块进行统一处理,输入到图形图片转换模块的是点坐标数据、JPEG数据/文件、BMP数据/文件、PNG数据/文件和GIF数据/文件,如图1所示,经过转换处理后输出成合屏模块支持的统一对应的YUV数据格式。
再次,将非视频的会议元素处理后的YUV数据和H264视频ES数据,给到合屏模块进行合屏处理,YUV数据仅按照布局宽和高进行缩放处理;而H264视频ES数据,则需要先进行解码转换为YUV数据,解码成功后再根据布局宽和高进行缩放处理。如图1所示,将所有按照布局信息处理后的YUV数据(其中,PNG数据/文件、GIF数据/文件和H264视频ES数据可先解码转换为YUV数据),进行视频合屏处理。
最后,将合屏处理后的数据,按照设置的合屏编码参数进行H264编码,将编码成功后的H264视频ES数据给到上层业务进行容器封装处理。
图形图片转换模块将各种会议元素,转换成合屏模块支持的YUV数据格式,处理流程如图2所示:
(1)首先解析数据包参数,并根据参数进行分类处理;
(2)如果是点坐标数据,其中首先根据输入参数的宽高信息,初始化默认透明画布;其次,根据宽高信息去校验,点坐标数据的所有坐标点是否超过画布边界,如果超过,则根据宽高重置坐标信息;再次,设置画笔宽度、颜色等参数后进行画笔绘图,按照线方式依次绘图;最后,对绘制后的画布进行颜色空间转换,完成点坐标数据转YUV数据操作。
(3)如果是JPEG、BMP和PNG等静态图片格式,首先去加载数据或文件格式数据;其次,解析格式头信息并初始化;再次,依据格式头信息中设置的参数,去解析负载数据;最后,对解析后的数据进行颜色空间转换,完成JPEG、BMP和PNG静态图片数据转YUV数据操作。
(4)如果是GIF格式,首先去加载数据头信息,其中会有frameCnt帧数,如果帧数大于1,则是GIF动图,这时需要计算出每帧播放时间。其次,根据frameCnt帧数循环处理,解析每帧图像的协议头,解析DATA负载数据,再对解析后的数据进行颜色空间转换。最后,完成循环得到一帧或多帧YUV数据,多帧YUV数据会有播放时间参数。
(5)当多种格式处理完成后,根据转换后的YUV数据是单帧还是多帧来分别进行时间戳处理。如果是单帧数据,使用本地时间做为时间戳。如果是多帧数据需要,根据每帧播放时间加上本地时间作为合屏输入当前帧的时间戳。
视频合屏前,先进行视频合屏预处理,预处理需要根据输入通道的布局信息来进行处理,并进行帧率统计与时间戳处理,具体流程如图3所示:
(1)进行视频合屏初始化,首先需要初始化合屏模块及合屏背景,其次需要初始化布局信息,最后需要设定布局对应的输入源信息,完成初始化并设置成功标记;
(2)判断当前合屏是否失败,如果失败,需要更新新的布局信息,以及新的布局信息对应的输入源的信息,如果未失败,直接进行步骤(3)。
(3)根据输入ID查找对应的输入信息,针对输入信息进行分类处理。对系统约定的输入源数据类型YUV数据和H264视频ES数据分别进行处理。
(4)如果是H264视频ES数据,则需要初始化解码,然后进行解码处理。如果解码失败则沿用上帧数据继续合屏,如果成功则需要根据布局信息创建缩放模块,按照布局进行缩放处理。同时,根据当前宽高比计算出上下左右的偏移量,即图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放后的图像放置在布局了宽和高的画布的中心位置。最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把解码后的YUV数据放到通道的队列中;
(5)如果是YUV数据,无需解码直接进行缩放处理。根据布局信息创建缩放模块,按照布局进行缩放。同时,根据当前宽高比计算出上下左右的偏移量,即图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放图像放置在布局了宽和高的画布的中心位置。最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把YUV数据放到通道的队列中。
将视频合屏预处理后的输入YUV数据,按照布局信息中左上点位置信息和布局宽高进行视频合屏,默认依据通道初始化顺序进行。最后,再将视频合屏后的数据进行H264编码处理,输出编码后的H264视频ES数据,具体处理流程如图4所示:
(1)进行视频合屏,初始化本地编码时间,并判断当前时间戳与通道处理后数据的时间戳,如果时间戳满足合屏条件则进行合屏处理,即收到的待处理数据时间戳是否与本地时间戳相匹配,如果收到的待处理数据时间戳与本地时间戳匹配则进行合屏处理。如果待处理数据时间戳小于本地编码时间,则打印日志并丢弃该帧。
(2)符合合屏条件,开始进行视频合成。首先,需要初始化合屏画布,并按照设定背景贴上背景底图。其次,按照通道的业务图层顺序,进行channel排序处理。再次,根据合屏通道数循环贴图。
(3)循环分屏贴图,首先要检查当前布局及通道状态是否已经准备就绪,然后进行分屏背景的初始化,完成后即可按照布局信息中左上点和布局宽高,在合屏画布上进行贴图。
(4)根据合屏的返回值进行处理,成功则将合屏后的YUV数据放入到编码队列中,如果异常则打印返回值并退出本次合屏。根据输入帧驱动机制,做完合屏操作后需要更新本地合屏时间戳,等待下一次合屏。
(5)创建合屏时,进行编码线程初始化并按照设定编码参数,设置编码器。线程运行中,检测待编码队列是否有数据,如果有数据,则从队列中选取后,进行合屏数据的H264编码,编码成功将编码后的数据从回调接口给到上层应用。
最后,经本发明处理后释放的资源,能实现多种会议元素的录制视频合屏功能,保证兼容常用的会议元素。合屏时针对输入源通道采用3帧缓存队列,平滑当接收或解码时引入的耗时,避免了视频合屏后分屏的卡顿跳帧现象。采用本地编码时间进行视频的快速合屏,提升了设备合屏时性能。
本发明能把一场会议中所有信息元素都原封不动地记录下来,便于用户在会议结束后查阅会议内容。会议中的可见元素的数据包括与会人员视频的数据、批注画笔的数据、插入图片的数据、插入动图或视频的数据,完整的会议录制需要将上述全部信息元素按照会中用户操作混屏合并在一起记录到常规视频文件中。通过图形、静图、动图转换模块,来兼容非视频元素以混屏合并,帧率统计与时间戳同步,解决输入元素帧率不同的问题,最后采用时间戳控制快速合屏,从而完成多种图像与视频元素的混屏合并。通过本发明,实现了会议中可见元素的完整录制,录制后文件可以真实还原会中内容,提升了用户对录制功能体验和可靠性。并且,确保当输入源不同帧率时,视频合屏后各分屏播放平滑流畅不卡顿。
本发明采用多种输入转换模块,兼容不同类型的输入源,运用了帧率统计与时间戳同步机制,将待混屏合并的数据按照时间戳进行缩放快速合屏处理。实现了将云会议中所有操作与会议中所有元素完整录制,兼容多种会议元素,从而保证并提升了用户的会议效果和录制体验。
本发明同时能兼容传统的视频会议场景。通过多格式转换模块、帧率统计、时间同步校正、快速合屏机制,不但可以支持图形元素、常用图片元素、动态图片元素、视音频元素的混屏合并,还能保证合屏后各个元素平滑显示不会出现卡顿等现象,从而有效提升了用户会议效果和使用体验,能够完整的还原会议中所有内容。
本发明采用多模块转换适配,可以将点阵坐标数据、JPEG/BMP静图文件、GIF动图文件转换适配到YUV数据。根据用户操作和业务信息得出非视频元素的帧率,同时,统计所有视频元素的输入平均帧率,然后进行本地时钟校正处理。对视频元素解码后,建立缓存队列,用于平滑不同帧率进行视频合屏后的视频卡顿、跳帧问题。最后,使用本地时钟并依据输入元素的时间戳和帧率进行所有输入会议元素的视频合屏处理。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围之内。
Claims (6)
1.一种云会议中录制视频合屏的处理方法,其特征在于,具体包括如下步骤:
S1:解析录制文件,解析出控制协议,获得合屏的布局信息以及分屏的宽高,同时,也要解析出控制协议的操作;
S2:将非视频的会议元素,输入到图形图片转换模块进行统一处理,输入到图形图片转换模块的是点坐标数据和JPEG数据/文件或BMP数据/文件或PNG数据/文件或GIF数据/文件,经过转换后,输出成合屏模块支持的YUV数据格式;
S3:将非视频的会议元素经处理后的YUV数据和H264视频ES数据,给到合屏模块进行合屏处理,YUV数据按照布局宽和高进行缩放处理;而H264视频ES数据,则需要先进行解码转换为YUV数据,解码成功后再根据布局宽和高进行缩放处理;将所有按照布局信息处理后的YUV数据,进行视频合屏处理;
S4:将合屏处理后的数据,按照设置的合屏编码参数进行H264编码,转换为H264视频ES数据,将编码成功后的H264视频ES数据给到上层业务进行容器封装处理。
2.按照权利要求1所述的云会议中录制视频合屏的处理方法,其特征在于,解析出控制协议的操作,包括的操作信息为:插入会议元素、开启/关闭批注操作和切换合屏布局。
3.按照权利要求1所述的云会议中录制视频合屏的处理方法,其特征在于,S2的具体处理的流程为:
S2.1:首先解析数据包参数,并根据参数进行分类处理;
S2.2:如果是点坐标数据,其中首先根据输入参数的宽高信息,初始化默认透明画布;其次,根据宽高信息去校验,点坐标数据的所有坐标点是否超过画布边界,如果超过,则根据宽高重置坐标信息;再次,设置画笔宽度、颜色相关参数后进行画笔绘图,按照线方式依次绘图;最后,对绘制后的画布进行颜色空间转换,完成点坐标数据转YUV数据操作;
S2.3:如果是JPEG或BMP或PNG静态图片格式,首先去加载数据或文件格式数据;其次,解析格式头信息并初始化;再次,依据格式头信息中设置的参数,去解析负载数据;最后,对解析后的数据进行颜色空间转换,完成JPEG或BMP或PNG静态图片数据转YUV数据操作;
S2.4:如果是GIF格式,首先去加载数据头信息,其中会有frameCnt帧数,如果帧数大于1,则是GIF动图,这时需要计算出每帧播放时间,其次,根据frameCnt帧数循环处理,解析每帧图像的协议头,解析DATA负载数据,再对解析后的数据进行颜色空间转换,最后,完成循环得到一帧或多帧YUV数据,多帧YUV数据会有播放时间参数;
S2.5:当多种格式处理完成后,根据转换后的YUV数据是单帧还是多帧来分别进行时间戳处理,如果是单帧数据,使用本地时间做为时间戳,如果是多帧数据,需要根据每帧播放时间加上本地时间作为合屏输入当前帧的时间戳。
4.按照权利要求3所述的云会议中录制视频合屏的处理方法,其特征在于,S3中,先进行视频合屏预处理,预处理需要根据输入通道的布局信息来进行处理,并进行帧率统计与时间戳处理,具体流程如下:
S3.1:进行视频合屏初始化,首先需要初始化合屏模块及合屏背景,其次需要初始化布局信息,最后需要设定布局对应的输入源信息,完成初始化并设置成功标记;
S3.2:判断当前合屏是否失败,如果失败,需要更新新的布局信息,以及新的布局信息对应的输入源的信息,如果未失败,直接进行步骤S3.3;
S3.3:根据输入ID查找对应的输入信息,针对输入信息进行分类处理,对系统约定的输入源数据类型YUV数据和H264视频ES数据分别进行处理;
S3.4:如果是H264视频ES数据,则需要初始化解码,然后进行解码处理,如果解码失败则沿用上帧数据继续合屏,如果成功则需要根据布局信息创建缩放模块,按照布局进行缩放处理,图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放后的图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把解码后的YUV数据放到通道的队列中;
S3.5:如果是YUV数据,无需解码直接进行缩放处理,根据布局信息创建缩放模块,按照布局进行缩放,图像缩放时进行居中缩放上下或左右加黑边,需要计算数据在布局上的偏移位置后进行缩放填充,将缩放图像放置在布局了宽和高的画布的中心位置,最后,统计帧率并设置当前处理后的待合屏的YUV数据的时间戳,把YUV数据放到通道的队列中。
5.按照权利要求4所述的云会议中录制视频合屏的处理方法,其特征在于,将视频合屏预处理后的输入YUV数据,按照布局信息中左上点位置信息和布局宽高进行视频合屏,默认依据通道初始化顺序进行,最后,再将视频合屏后的数据进行H264编码处理,输出编码后的H264视频ES数据,具体处理流程如下:
S4.1:进行视频合屏,初始化本地编码时间,并判断当前收到的待处理数据时间戳是否与本地时间戳相匹配,如果收到的待处理数据时间戳与本地时间戳匹配则进行合屏处理,如果待处理数据时间戳小于本地编码时间,则打印日志并丢弃该帧;
S4.2:符合合屏条件,开始进行视频合成,首先,需要初始化合屏画布,并按照设定背景贴上背景底图,其次,按照通道的业务图层顺序,进行channel排序处理,再次,根据合屏通道数循环贴图;
S4.3:循环分屏贴图,首先要检查当前布局及通道状态是否已经准备就绪,然后进行分屏背景的初始化,完成后即可按照布局信息中左上点和布局宽高,在合屏画布上进行贴图;
S4.4:根据合屏的返回值进行处理,成功则将合屏后的YUV数据放入到编码队列中,如果异常则打印返回值并退出本次合屏,根据输入帧驱动机制,做完合屏操作后需要更新本地合屏时间戳,等待下一次合屏;
S4.5:创建合屏时,进行编码线程初始化并按照设定编码参数,设置编码器,线程运行中,检测待编码队列是否有数据,如果有数据,则从队列中选取后进行合屏数据的H264编码,编码成功将编码后的数据从回调接口给到上层应用。
6.一种云会议中录制视频合屏的处理装置,其特征在于,其执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110264122.1A CN112689119B (zh) | 2021-03-11 | 2021-03-11 | 一种云会议中录制视频合屏的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110264122.1A CN112689119B (zh) | 2021-03-11 | 2021-03-11 | 一种云会议中录制视频合屏的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689119A true CN112689119A (zh) | 2021-04-20 |
CN112689119B CN112689119B (zh) | 2021-06-18 |
Family
ID=75458380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110264122.1A Active CN112689119B (zh) | 2021-03-11 | 2021-03-11 | 一种云会议中录制视频合屏的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689119B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411541A (zh) * | 2021-08-18 | 2021-09-17 | 全时云商务服务股份有限公司 | 一种视频会议快速录制转换的处理方法 |
CN114615457A (zh) * | 2022-05-10 | 2022-06-10 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏布局平滑切换的方法和装置 |
CN114615458A (zh) * | 2022-05-10 | 2022-06-10 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏快速出图的方法和装置 |
CN115118922A (zh) * | 2022-08-31 | 2022-09-27 | 全时云商务服务股份有限公司 | 一种云会议中实时视频合屏插入动图的方法与装置 |
CN115118921A (zh) * | 2022-08-29 | 2022-09-27 | 全时云商务服务股份有限公司 | 一种云会议中视频合屏自适应输出的方法及系统 |
WO2023050995A1 (zh) * | 2021-09-29 | 2023-04-06 | 中兴通讯股份有限公司 | 数据处理方法、装置、计算机可读存储介质和程序产品 |
CN115988170A (zh) * | 2023-03-20 | 2023-04-18 | 全时云商务服务股份有限公司 | 云会议中实时视频合屏中英文字符清晰显示的方法与装置 |
CN116527986A (zh) * | 2023-04-26 | 2023-08-01 | 天地阳光通信科技(北京)有限公司 | 一种分屏文本显示控制方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215765A1 (en) * | 2005-03-25 | 2006-09-28 | Cherng-Daw Hwang | Split screen video in a multimedia communication system |
CN102547213A (zh) * | 2011-12-23 | 2012-07-04 | 南京超然科技有限公司 | 一种用于视频会议系统的视频成像预览方法 |
CN105635636A (zh) * | 2015-12-30 | 2016-06-01 | 随锐科技股份有限公司 | 一种视频会议系统及其实现视频图像传输控制的方法 |
CN108366216A (zh) * | 2018-02-28 | 2018-08-03 | 深圳市爱影互联文化传播有限公司 | 会议视频录制、记录及传播方法、装置及服务器 |
CN112073810A (zh) * | 2020-11-16 | 2020-12-11 | 全时云商务服务股份有限公司 | 一种多布局的云会议录制方法、系统和可读存储介质 |
-
2021
- 2021-03-11 CN CN202110264122.1A patent/CN112689119B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215765A1 (en) * | 2005-03-25 | 2006-09-28 | Cherng-Daw Hwang | Split screen video in a multimedia communication system |
CN102547213A (zh) * | 2011-12-23 | 2012-07-04 | 南京超然科技有限公司 | 一种用于视频会议系统的视频成像预览方法 |
CN105635636A (zh) * | 2015-12-30 | 2016-06-01 | 随锐科技股份有限公司 | 一种视频会议系统及其实现视频图像传输控制的方法 |
CN108366216A (zh) * | 2018-02-28 | 2018-08-03 | 深圳市爱影互联文化传播有限公司 | 会议视频录制、记录及传播方法、装置及服务器 |
CN112073810A (zh) * | 2020-11-16 | 2020-12-11 | 全时云商务服务股份有限公司 | 一种多布局的云会议录制方法、系统和可读存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411541A (zh) * | 2021-08-18 | 2021-09-17 | 全时云商务服务股份有限公司 | 一种视频会议快速录制转换的处理方法 |
WO2023050995A1 (zh) * | 2021-09-29 | 2023-04-06 | 中兴通讯股份有限公司 | 数据处理方法、装置、计算机可读存储介质和程序产品 |
CN114615458B (zh) * | 2022-05-10 | 2022-07-19 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏快速出图的方法、装置、存储介质和服务器 |
CN114615458A (zh) * | 2022-05-10 | 2022-06-10 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏快速出图的方法和装置 |
CN114615457B (zh) * | 2022-05-10 | 2022-08-16 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏布局平滑切换的方法和装置 |
CN114615457A (zh) * | 2022-05-10 | 2022-06-10 | 全时云商务服务股份有限公司 | 一种云会议中实时合屏布局平滑切换的方法和装置 |
CN115118921A (zh) * | 2022-08-29 | 2022-09-27 | 全时云商务服务股份有限公司 | 一种云会议中视频合屏自适应输出的方法及系统 |
CN115118921B (zh) * | 2022-08-29 | 2023-01-20 | 全时云商务服务股份有限公司 | 一种云会议中视频合屏自适应输出的方法及系统 |
CN115118922A (zh) * | 2022-08-31 | 2022-09-27 | 全时云商务服务股份有限公司 | 一种云会议中实时视频合屏插入动图的方法与装置 |
CN115118922B (zh) * | 2022-08-31 | 2023-01-20 | 全时云商务服务股份有限公司 | 一种云会议中实时视频合屏插入动图的方法与装置 |
CN115988170A (zh) * | 2023-03-20 | 2023-04-18 | 全时云商务服务股份有限公司 | 云会议中实时视频合屏中英文字符清晰显示的方法与装置 |
CN115988170B (zh) * | 2023-03-20 | 2023-08-11 | 全时云商务服务股份有限公司 | 云会议中实时视频合屏中英文字符清晰显示的方法与装置 |
CN116527986A (zh) * | 2023-04-26 | 2023-08-01 | 天地阳光通信科技(北京)有限公司 | 一种分屏文本显示控制方法、设备及存储介质 |
CN116527986B (zh) * | 2023-04-26 | 2024-06-04 | 天地阳光通信科技(北京)有限公司 | 一种分屏文本显示控制方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112689119B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112689119B (zh) | 一种云会议中录制视频合屏的处理方法及装置 | |
US10027970B2 (en) | Render-orientation information in video bitstream | |
US6989868B2 (en) | Method of converting format of encoded video data and apparatus therefor | |
CN102026017B (zh) | 一种视频解码高效测试方法 | |
CN112073810B (zh) | 一种多布局的云会议录制方法、系统和可读存储介质 | |
CN112073543B (zh) | 一种云视频录制方法、系统和可读存储介质 | |
CN109672897B (zh) | 全景视频编码方法及装置 | |
CN112584087B (zh) | 视频会议录制方法、电子装置和存储介质 | |
CN111818295B (zh) | 一种图像获取方法及装置 | |
KR20080062696A (ko) | 고속 고화질 연사 기능을 가지는 영상 입력 장치 및 이를이용한 연사 방법 | |
CN110662086A (zh) | 一种5g高清直播系统及视频处理方法 | |
CN111263164A (zh) | 一种高帧频视频并行编码及重组方法 | |
JP4406816B2 (ja) | 受信装置および受信方法、記録媒体、並びにプログラム | |
CN113207040A (zh) | 一种视频远程快速回放的数据处理方法、装置及系统 | |
CN112468763A (zh) | 会议电视的视频传输和显示方法、装置、设备及存储介质 | |
CN114513675A (zh) | 一种全景视频直播系统构建方法 | |
CN1257443C (zh) | 打印运动图像数据的打印机及其控制方法 | |
CN115118922B (zh) | 一种云会议中实时视频合屏插入动图的方法与装置 | |
CN113038254B (zh) | 一种视频播放方法、装置和存储介质 | |
An et al. | Synchronous playback technology of airborne network video based on RTP | |
CN118101992A (zh) | 一种视频处理方法、装置、电子设备及存储介质 | |
WO2023175234A1 (en) | A method, an apparatus and a computer program product for streaming volumetric video | |
CN115396564A (zh) | 视频处理方法、装置、视频设备和存储介质 | |
CN118368428A (zh) | 一种视频解码方法、装置及电子设备 | |
US20090296701A1 (en) | Method and apparatus for improving channel acquisition |
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 |