CN114679550B - 通用录制的装置及其方法 - Google Patents
通用录制的装置及其方法 Download PDFInfo
- Publication number
- CN114679550B CN114679550B CN202210271118.2A CN202210271118A CN114679550B CN 114679550 B CN114679550 B CN 114679550B CN 202210271118 A CN202210271118 A CN 202210271118A CN 114679550 B CN114679550 B CN 114679550B
- Authority
- CN
- China
- Prior art keywords
- plug
- video
- stream
- audio
- recording
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012546 transfer Methods 0.000 claims abstract description 43
- 230000015572 biosynthetic process Effects 0.000 claims description 15
- 238000003786 synthesis reaction Methods 0.000 claims description 15
- 238000002156 mixing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 abstract description 13
- 238000012986 modification Methods 0.000 abstract description 9
- 230000004048 modification Effects 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000012792 core layer Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101710129069 Serine/threonine-protein phosphatase 5 Proteins 0.000 description 2
- 101710199542 Serine/threonine-protein phosphatase T Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 229920000470 poly(p-phenylene terephthalate) polymer Polymers 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/155—Conference systems involving storage of or access to video conference sessions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种通用录制的装置及其方法。其中所述通用录制的装置包括:数据转入模块、管理模块和录制模块;其中所述数据转入模块用于转换第三方视频系统的视频数据,并将转换后的视频数据转入所述录制模块;所述管理模块用于发送控制命令到所述录制模块,控制所述录制模块进行录制操作;所述录制模块用于接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果。本发明的通用录制的装置实现了对不同视频会议系统录制的兼容以及功能的高度模块化和动态修改能力。
Description
技术领域
本发明涉及通信和视频处理技术领域,具体地,涉及视频会议的通用录制的装置及其方法。
背景技术
基于互联网的视频通信技术被广泛应用企业或个人进行视频会议等工作和生活应用场合。随着视频会议的发展,也催生了视频会议录制的需求。视频会议录制是指发生在会议终端或服务器上的录制行为。视频会议录制的输入是网络中的视频流、音频流、分享流、图片流等,输出是各种格式的媒体文件。输出的媒体文件可以存储在云盘、本地或者用于直播,所存储的媒体文件随时可以被导出查看,实现了视频会议的记录,方便人们进行回放学习,复盘等操作。
现有的视频会议录制装置,在很多视频会议系统中都有设置,如腾讯会议录制、zoom录制。以zoom自带录制方法为例,首先点击zoom的右上角设置,然后选择录制选项。可以根据自己的需求,更改录制的保存路径以及其他的参数,然后点击录制按钮,开启录制。
但是现有的视频会议录制装置都是和某个视频会议系统深度绑定的,如腾讯的会议录制装置只能服务于腾讯的视频系统。这种绑定限制了视频会议录制装置的使用场景和拓展性。用户无法实现对不同视频会议的同时录制,无法自定义地增删录制中的某些特定功能,如自动添加字幕功能、更改会议视频画面的布局、以不同分辨率同时进行录制、录制用于直播的媒体流等等。
因此,在视频会议的录制中,为了进一步改善视频会议录制装置的使用场景和拓展性,有开发一种通用录制的装置的需求。
发明内容
本发明解决的技术问题是提供一种高度模块化,使用场景广泛的通用录制的装置(common recording module, 以下简称CRM)。通过使用网关,使得CRM的使用不被绑定在某个视频会议系统,可以兼容任意一套视频系统。利用gstreamer框架,CRM内部实现了高度模块化和动态修改录制行为。
在本上下文中,本发明的实施方式期望提供一种通用录制的装置及其方法。
在本发明实施方式的第一方面中,提供了一种通用录制的装置,其特征在于包括:数据转入模块、管理模块和录制模块;其中所述数据转入模块用于转换第三方视频系统的视频数据,并将转换后的视频数据转入所述录制模块;所述管理模块用于发送控制命令到所述录制模块,控制所述录制模块进行录制操作;所述录制模块用于接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果。
在本发明实施方式的第二方面中,提供了一种通用录制的方法,所述方法包括如下步骤:数据转入模块转换第三方视频系统的视频数据,并将转换后的视频数据转入录制模块;管理模块发送控制命令到所述录制模块,控制所述录制模块进行录制操作;所述录制模块接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果。
根据本发明实施方式的通用录制的装置及其方法,第一、实现了同一录制装置对不同视频会议系统录制的兼容,大大拓宽了用户的使用场景。本发明的通用录制的装置通过实现不同类型的网关可以录制不同视频会议系统的视频。同时,该通用录制的装置的使用场景不限于视频会议系统,还可用于监控等单机的使用场景,只要实现一个可以接受摄像头的网关即可。录制后的视频可以被存放在云端、本地或直播端。现有技术中,钉钉只能录制钉钉的视频会议,腾讯只能录制腾讯的视频会议,各个录制装置不兼容其他录制装置,且录制后的视频如非专门设置,会被不同的视频会议系统分散在不同的地址。与现有技术相比,本发明的录制后的视频由于是同一录制装置录制,本发明中录制后的视频不会被分散存放在不同地址,方便查找使用。第二、实现了高度模块化和动态修改,不同功能被设置在不同的插件中,功能的模块化,大大简化了在录制期间动态修改的工作量。例如在录制过程中,想要调整画面布局,只需要调用布局插件进行设置即可,并不需要对整个通用录制的装置进行重启或者对其他功能插件进行重新编译和部署,简化了调整布局的操作步骤,为实现视频会议录制中的快速动态修改录制结果提供了可能性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1是示意性地示出根据本公开实施例的通用录制的装置的一个示例的结构框图;
图2是示意性地示出根据本公开实施例的通用录制的装置的另一个示例的结构框图;
图3是示意性地示出根据本公开实施例的通用录制的装置的架构图;
图4是示意性地示出根据本公开实施例的通用录制的方法的一个示例的流程图;
图5是示意性地示出根据本公开实施例的通用录制的方法的另一个示例的流程图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
根据本发明的实施方式,提出了一种通用录制的装置及其方法。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
如前所述,本发明提供了一种高度模块化,使用场景广泛的通用录制的装置及其方法,实现了对不同视频会议系统录制的兼容,以及实现了在录制期间,根据用户需求简单快速地动态修改录制结果。
示例性装置
下面结合图1来描述根据本发明示例性实施方式的通用录制的装置。
图1是示意性地示出根据本公开实施例的通用录制的装置的一个示例的结构框图。
本发明实施方式的通用录制的装置100包括:数据转入模块110、管理模块120和录制模块130。该装置可以设置于终端设备中,例如,该装置可以设置于台式计算机、笔记型计算机、智能移动电话以及平板电脑等智能电子设备中。另外,本发明实施方式的装置100中数据转入模块110和录制模块130也可以设置于云端服务器中。
如图1所示,装置100运行期间,数据转入模块110用于转换第三方视频系统的视频数据,并将转换后的视频数据转入所述录制模块130,其中第三方视频系统包括任意一种视频系统,如H323视频系统、SIP视频系统、webPTC视频系统等;管理模块120用于发送控制命令到所述录制模块130,控制所述录制模块130进行录制操作;所述录制模块130用于接收来自所述管理模块120的控制命令以及来自所述数据转入模块110的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果。
图2是示意性地示出根据本公开实施例的通用录制的装置的另一个示例的结构框图。
图2在图1的基础上,示出了一种所述数据转入模块110和录制模块130内部的结构。所述数据转入模块110包括网关211;所述录制模块130包括命令服务单元231、会话控制单元232和一个或多个会话录制单元233。
所述网关211用于获取所述第三方视频系统的会议信息,接入对应的会议视频系统,将来自所述会议视频系统的音视频流转换为特定格式,然后将转换后的音视频流提供给所述录制模块130。其中所述特定格式为符合通用录制的装置100的标准格式,第三方视频系统的数据往往不是统一的,因此需要通过网关转换为本发明所用的特定标准格式。其中所述会议信息包括会议使用的会议系统、会议号、参会密码、会议开始和结束时间、会议主题名称、会议主办方、会议参与方等等与会议相关的信息。当其中一个会议参与方或者会议主办方需要使用本发明的会议录制的装置进行会议录制时,需要提供上述会议信息给网关211根据所获得的会议信息调取与相应会议系统兼容的接口,利用会议号以及参会密码作为其中一个会议参与方加入到该会议中,则可以获取该会议的全部音视频数据。
所述命令服务单元231用于接收来自所述管理模块120的控制命令,将所述控制命令发送至所述会话控制单元232;
所述会话控制单元232管理多个会话并基于所述控制命令控制所述会话录制单元233执行录制操作;一个会话可以是一个会议,其中有多个参与方利用相同或不同的会议系统用统一的会议号和参会密码加入到一个会议中。视频会议的参与方之间可以相互看到对方的视频画面。在同一时间可以同时进行多个会议。网关211可以利用多个会议号和参会密码同时接入多个不同的会议同时进行录制。当接入不同会议时,会生成多个会话。由会话控制单元232来管理该多个会话。每个会话的录制过程可以分别设置不同的录制参数并输出不同录制结果。
所述会话录制单元233基于所述控制命令录制所述转换后的音视频流并输出录制结果。
通用录制的装置100实施例1
图3是示意性地示出根据本公开实施例的通用录制的装置的架构图。
本实施例中的通用录制的装置100包括:数据转入模块110、管理模块120和录制模块130。
其中数据转入模块110包括连接不同第三方视频系统的多个网关211,如图所示的自定义网关211、H323网关211、SIP网关211和webRTC网关211;录制模块130包括命令服务单元231(httpserver)、会话控制单元232(session control)和一个或多个会话录制单元233(gstreamer recorder)。
数据转入模块110是外部使用者根据自身需求开发的模块,网关211用于获取所述第三方视频系统的会议信息,接入对应的会议视频系统,将来自所述会议视频系统的音视频流转换为特定格式,然后将转换后的音视频流提供给所述录制模块130。
其中所述特定格式为符合通用录制的装置100的标准格式,第三方视频系统的数据往往不是统一的,因此需要通过网关211转换为本发明所用的特定标准格式。
网关211可以适配任意一种视频系统的视频,如图3所示自定义视频系统、H323视频系统、SIP视频系统、webPTC视频系统,图中所示仅为示例并不限定本发明的应用范围。为了把任意一种视频系统的视频流转化为本发明所用的特定格式,进而接入本发明的通用录制的装置100,需要对特定的视频系统进行适配,即在网关中加入对应视频系统的客户端协议。例如,要录制H323视频系统的流,需要在网关中实现H323的客户端协议,并通过数据接口(stream SDK)把H323系统的视频流转入音视频流接收插件310;还需要反向地把“开始发送数据(start_stream)”命令,“结束发送数据(stop_stream)”命令转入H323视频系统。
其中所述会议信息包括会议使用的会议系统、会议号、参会密码、会议开始和结束时间、会议主题名称、会议主办方、会议参与方等等与会议相关的信息。当其中一个会议参与方或者会议主办方需要使用本发明的会议录制的装置进行会议录制时,需要提供上述会议信息给网关211根据所获得的会议信息调取与相应会议系统兼容的接口,利用会议号以及参会密码作为其中一个会议参与方加入到该会议中,则可以获取该会议的全部音视频数据。
管理模块120也是外部使用者开发的模块,是对外的用户控制界面,用户通过管理模块120对通用录制的装置100发送控制命令。当管理模块120接收到用户的控制命令,管理模块120会通过接口命令(control SDK)将所述控制命令发送到录制模块130,控制所述录制模块130进行相应的录制操作。所述控制命令包含但不限于:开始一次录制、结束一次录制、更新录制参数以及利用通用录制的装置100的服务注册机制发现并管理集群化部署的会话录制单元233。会话录制单元233可以根据需要进行集群化部署,每个会话录制单元233在一个时间段可以录制一个会议。当需要同时录制多个会议时可以注册多个会话录制单元233。每个会话录制单元233的配置和功能可以不同,通用录制的装置100可以根据需要随机选择一个空闲的会话录制单元233进行一个会话的录制。
所述命令服务单元231用于接收来自所述管理模块120的控制命令,将所述控制命令发送至所述会话控制单元232;
同一个通用录制的装置100可以启动多个会话录制单元233,所述会话控制单元232管理多个会话并基于所述控制命令控制所述会话录制单元233执行录制操作;一个会话可以是一个会议,其中有多个参与方利用相同或不同的会议系统用统一的会议号和参会密码加入到一个会议中。视频会议的参与方之间可以相互看到对方的视频画面。在同一时间可以同时进行多个会议。网关211可以利用多个会议号和参会密码同时接入多个不同的会议同时进行录制。当接入不同会议时,会生成多个会话。由会话控制单元232来管理该多个会话。每个会话的录制过程可以分别设置不同的录制参数并输出不同录制结果。
会话录制单元233采用gstreamer框架。gstreamer是一个基于流水线模型的开源框架,基于GObject,以C语言写成,能够处理任意类型的数据流,因此被广泛应用在各种多媒体系统,如MeidaPlayer、A/V Editor. VOIP、RTSP. A/V Coder等。gstreamer框架分为核心层和插件两大部分。核心层负责插件的加载及管理。插件负责实现音视频传输协议、音视频输入输出源、音视频编解转码等真实的媒体处理功能。
gstreamer框架有统一的插件管理机制,典型的播放器对于不同的媒体类型会有不同的插件,两个媒体播放器会实现各自不同的插件机制,所以编解码器不能方便的交换。每一个典型的媒体播放器的插件管理系统是具有其特定应用程序的需求。缺少统一的插件机制,严重阻碍了二进制编解码器的发展。gstreamer框架为插件开发者提供了一个非常丰富的框架,从而保证这些插件能够广泛灵活应用,并与其他插件能够无缝的交互。
gstreamer框架中多个插件通过前后连接的方式构成一个管线,插件之间的通信由核心层处理。gstreamer框架在运行中,所有插件都是可插拔的组件,可随意安装到任意管道上。通过这种方式可以实现代码高度的模块化,插件也被实现为独立的动态库。
gstreamer框架强大就是来自于开发者可以按照gstreamer框架给出的模板添加和生产各种各样功能强大的插件,然后将插件加入到gstreamer框架的统一管理系统中,这样在应用端就可以在插件工厂中找到插件,并利用插件的功能,gstreamer框架的插件都是在运行的时候进行动态加载的。
初始化gstreamer函数库,建立内部路径列表,注册内置元件以及加载标准的插件。总体的流程就是在调用gst_init会根据编译安装的环境变量(g_getenv("GST_REGISTRY_1_0"),g_getenv ("GST_REGISTRY"), 对插件所在的目录进行扫描,然后更新注册表。实际上就是通过去扫描动态库所在的路径(/usr/lib/gstreamer-1.0),然后跟之前已有的注册表缓冲区去比较,有新加的库就将库的路径加入注册表缓冲,缺少到就从缓冲中删除掉。执行完成之后,会预先加载一些必要的库。随后都是根据应用程序的流程而进行动态加载的。
本实施例中gstreamer框架至少包括如下插件中的一种:音视频流接收插件310(streamSrc)、布局插件350(videoOverlay)、和音视频合并输出插件391(recordSink)。
所述音视频流接收插件310连接所述数据转入模块110用于基于所述控制命令向所述数据转入模块110发送流控制命令以及接收并输出所述转换后的音视频流,所述转换后的音视频流包括转换后的音频流和转换后的视频流;其中所述流控制命令包含但不限于:“开始发送数据(start_stream)”命令以及“结束发送数据(stop_stream)”命令。
所述布局插件350连接音视频流接收插件310,用于对所述转换后的视频流的录制画面进行布局合成,输出布局合成后的视频;
所述音视频合并输出插件391连接所述布局插件350和所述音视频流接收插件310,用于合并所述布局合成后的视频和所述转换后的音频流,输出录制结果。
通用录制的装置100实施例2
在上述通用录制的装置100实施例1的基础上,其中所述gstreamer框架还至少包括如下插件中的一种:分类插件320、解码插件330、视频合并插件340、分辨率调整插件360、音频流混音插件370、视频编码插件380和音频编码插件390;
所述分类插件320至少包括视频流插件321(videoSrc)、分享流插件322(shareSrc)、图片流插件323(pictureSrc)、文本流插件324(textSrc)和音频流插件325(audioSrc)之一,所述分类插件320连接所述音视频流接收插件310,用于将所述转换后的音视频流分类为视频流、分享流、图片流、文本流和音频流;所述视频流例如为各个会议终端的摄像头拍摄的视频数据;所述分享流例如为各个会议终端共享的文件,包括但不限于PPT、Word文件、电子表格、视频文件等等;所述图片流例如为各个会议终端共享的照片、截屏、电子白板等等;文本流例如为各个会议终端发言的字幕、弹幕、聊天记录等等文本信息;音频流例如为各个会议终端共享的音乐、录音、旁白、发言等等。这些类型的数据通常是编码为一个数据流进行传输,需要在解码前进行分类后分别进行解密和处理。
所述解码插件330包括视频流解码插件331(videoTransDec)、分享流解码插件332(shareRender)、图片流解码插件333(pictureDec)、文本流解码插件334(subtitleParser)和音频流解码插件335(audioTransDec),所述解码插件330与所述分类插件320对应连接,分别用于解码对应的分类后的视频流、分享流、图片流、文本流和音频流,即视频流插件321连接视频流解码插件331用于解码分类后的视频流,输出解码后的视频流;分享流插件321连接分享流解码插件332用于解码分类后的分享流,输出解码后的分享流;图片流插件323连接图片流解码插件333用于解码分类后的图片流,输出解码后的图片流;文本流插件324连接文本流解码插件334用于解码分类后的文本流,输出解码后的文本流;音频流插件325连接音频流解码插件335用于解码分类后的音频流,输出解码后的音频流。
由于视频流、分享流和图片流都属于画面类型的可视信息,因此在录制时可以根据需要合并这些可视信息为统一的视频流,以便于压缩数据。例如,所述视频合并插件340连接所述视频流解码插件331、所述分享流解码插件332和所述图片流解码插件333,用于将解码后的视频流、解码后的分享流和解码后的图片流进行合并,输出合并后的视频;
在合并视频录制时为了方便调整各个视频图像、PPT或者共享屏幕的位置、大小、边框、字幕的位置和字体等等,需要调整各个元素的布局,以便于录制出符合要求的视频流,因此需要提供一个或多个布局插件350用于此目的。所述布局插件350连接视频合并插件340和所述文本流解码插件334,用于对解码后的文本流和所述合并后的视频的录制画面进行布局合成,输出布局合成后的视频,所述布局插件350可以包括一个或多个,如图3所示的两个布局插件350可以生成两种不同的布局合成后的视频,比如字幕置于视频上方和字幕置于视频下方两种;
有时用户可能需要录制不同分辨率的视频流,例如为了压缩存储空间、方便转发、方便直播等不同目的,需要引入一个分辨率调整插件360。所述分辨率调整插件360连接所述布局插件350,用于调整所述布局合成后的视频的分辨率,输出分辨率调整后的视频;所述分辨率调整插件360可以包括一个或多个,如图3所示的三个分辨率调整插件360可以生成三种不同的分辨率调整后的视频,用户可以根据自己的需求设置适合的分辨率;
为了对会议过程中各种音频数据进行处理,例如,增加旁白、评论、去掉杂音、突出人声、去除非主讲人的音频流、增加背景音乐、静音、调整增益等等,需要一个音频流混音插件370。所述音频流混音插件370连接所述音频流解码插件335,用于将解码后的音频流根据用户的需要进行混音,输出混音后的音频;
所述视频编码插件380连接所述分辨率调整插件360,用于编码所述分辨率调整后的视频,输出编码后的视频,所述视频编码插件380可以包括一个或多个,如图3所示的三个视频编码插件380可以生成三种不同的编码后的视频,例如用于直播或者用于存储的编码方式是不同的;
所述音频编码插件390连接所述音频流混音插件370,用于编码所述混音后的音频,输出编码后的音频;
所述音视频合并输出插件391连接所述视频编码插件380和所述音频编码插件390,用于合并所述编码后的视频和所述编码后的音频,输出录制结果,即输出生成的流,包括输出到本地文件(local storage)、云存储文件(cloud storage)、直播流(liveserver)。
综上,本发明中通用录制的装置100的使用流程是,外部使用者根据所要录制的第三方视频系统,在数据转入模块110增加对应的网关211类型,如需要录制华为的视频会议,就在数据转入模块110中加入华为的网关211,整个数据转入模块110根据需求都是可以拓展的。
本发明采用gstreamer框架可以带来如下技术效果:利用gstreamer框架自带的高度模块化和管线的动态修改两大能力,可以实现gstreamer recorder代码的高度模块化和录制行为的动态修改功能。例如,修改videoOverlay的功能,只需要编译和替换videoOverlay的动态库,不需要对整个通用录制的装置100或者其他部分进行重新编译和部署,大大简化了维护;当录制正在进行中,可以直接在frameQueue后面连接一组videoOverlay、videoResize、videoEnc、recordSink插件实现动态地增加布局和输出。
本发明的另一个创新点,即网关211的使用,实现了通用录制的装置100对任意第三方视频系统的兼容。实际工作中,第三方视频系统的数据往往不是标准的,通过网关的转换和转发,将第三方视频系统的数据标准化,为后续的录制做好了准备。因此,通用录制的装置100兼容任意一套视频系统,且实现方式简单且明确,只需要封装对应的网关211,而不需要修改通用录制的装置100的其他部分。
最后,本发明适用于任何录制的场景:作为云录制系统的一部分部署在云服务器上;作为单个硬件产品的一部分,例如家庭安全设备,网关通过提取本地的摄像头画面进行录制;部署在安防设备中,网关提取摄像头画面;以通用录制的装置为基础开发屏幕录制工具。所有录制后的视频可以被存放在云端、本地或直播端。
示例性方法
在介绍了本发明示例性实施方式的通用录制的装置100之后,接下来,参考图4对本发明示例性实施方式的通用录制的方法进行说明。
图4是示意性地示出根据本公开实施例的通用录制的方法的一个示例的流程图。
步骤S401:数据转入模块110转换第三方视频系统的视频数据,并将转换后的视频数据转入录制模块130;
步骤S402:管理模块120发送控制命令到所述录制模块130,控制所述录制模块130进行录制操作;
步骤S403:所述录制模块130接收来自所述管理模块120的控制命令以及来自所述数据转入模块110的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果。
图5是示意性地示出根据本公开实施例的通用录制的方法的一个示例的流程图。
步骤S501:所述网关211获取所述第三方视频系统的会议信息,接入对应的会议视频系统,将来自所述会议视频系统的视频流转换为特定格式,然后将转换后的视频流提供给所述录制模块130;
步骤S502:所述管理模块120发送控制命令到所述录制模块130,控制所述录制模块130进行录制操作;
步骤S503:所述命令服务单元231接收来自所述管理模块120的控制命令,将所述控制命令发送至所述会话控制单元232;
步骤S504:所述会话控制单元232管理多个会话并基于所述控制命令控制所述会话录制单元233执行录制操作;
步骤S505:所述会话录制单元233基于所述控制命令录制所述转换后的音视频流并输出录制结果。
上述步骤S501是步骤S401的一种具体实施方式;步骤S503~S505是步骤S403是一种具体实施方式。
应当注意,尽管在上文详细描述中提及了通用录制的装置的若干单元、模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明防止应用异常的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (4)
1.一种通用录制的装置,其特征在于包括:数据转入模块、管理模块和录制模块;其中
所述数据转入模块用于转换第三方视频系统的视频数据,并将转换后的视频数据转入所述录制模块;
所述管理模块用于发送控制命令到所述录制模块,控制所述录制模块进行录制操作;
所述录制模块用于接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果;
所述数据转入模块包括网关;
所述网关用于获取所述第三方视频系统的会议信息,接入对应的会议视频系统,将来自所述会议视频系统的音视频流转换为特定格式,然后将转换后的音视频流提供给所述录制模块;
其中所述录制模块包括命令服务单元、会话控制单元和一个或多个会话录制单元;其中
所述命令服务单元用于接收来自所述管理模块的控制命令,将所述控制命令发送至所述会话控制单元;
所述会话控制单元管理多个会话并基于所述控制命令控制所述会话录制单元执行录制操作;
所述会话录制单元基于所述控制命令录制所述转换后的音视频流并输出录制结果;
其中所述会话录制单元采用gstreamer框架;
所述gstreamer框架至少包括如下插件中的一种:音视频流接收插件、布局插件、和音视频合并输出插件;
所述音视频流接收插件连接所述数据转入模块用于基于所述控制命令向所述数据转入模块发送流控制命令以及接收并输出所述转换后的音视频流,所述转换后的音视频流包括转换后的音频流和转换后的视频流;
所述布局插件连接音视频流接收插件,用于对所述转换后的视频流的录制画面进行布局合成,输出布局合成后的视频;
所述音视频合并输出插件连接所述布局插件和所述音视频流接收插件,用于合并所述布局合成后的视频和所述转换后的音频流,输出录制结果。
2.根据权利要求1所述的通用录制的装置,其中所述gstreamer框架还至少包括如下插件中的一种:分类插件、解码插件、视频合并插件、分辨率调整插件、音频流混音插件、视频编码插件和音频编码插件;
所述分类插件至少包括视频流插件、分享流插件、图片流插件、文本流插件和音频流插件之一,所述分类插件连接所述音视频流接收插件,用于将所述转换后的音视频流分类为视频流、分享流、图片流、文本流和音频流;
所述解码插件包括视频流解码插件、分享流解码插件、图片流解码插件、文本流解码插件和音频流解码插件,所述解码插件与所述分类插件对应连接,分别用于解码对应的分类后的视频流、分享流、图片流、文本流和音频流;
所述视频合并插件连接所述视频流解码插件、所述分享流解码插件和所述图片流解码插件,用于将解码后的视频流、解码后的分享流和解码后的图片流进行合并,输出合并后的视频;
所述布局插件连接视频合并插件和所述文本流解码插件,用于对解码后的文本流和所述合并后的视频的录制画面进行布局合成,输出布局合成后的视频;
所述分辨率调整插件连接所述布局插件,用于调整所述布局合成后的视频的分辨率,输出分辨率调整后的视频;
所述音频流混音插件连接所述音频流解码插件,用于将解码后的音频流混音,输出混音后的音频;
所述视频编码插件连接所述分辨率调整插件,用于编码所述分辨率调整后的视频,输出编码后的视频;
所述音频编码插件连接所述音频流混音插件,用于编码所述混音后的音频,输出编码后的音频;
所述音视频合并输出插件连接所述视频编码插件和所述音频编码插件,用于合并所述编码后的视频和所述编码后的音频,输出录制结果。
3.一种通用录制的方法,所述方法包括如下步骤:
数据转入模块转换第三方视频系统的视频数据,并将转换后的视频数据转入录制模块;
管理模块发送控制命令到所述录制模块,控制所述录制模块进行录制操作;
所述录制模块接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果;
所述数据转入模块包括网关;
其中所述数据转入模块转换第三方视频系统的视频数据,并将转换后的视频数据转入所述录制模块的步骤,还包括如下步骤:
所述网关获取所述第三方视频系统的会议信息,接入对应的会议视频系统,将来自所述会议视频系统的视频流转换为特定格式,然后将转换后的视频流提供给所述录制模块;
其中所述录制模块包括命令服务单元、会话控制单元和一个或多个会话录制单元;
所述录制模块接收来自所述管理模块的控制命令以及来自所述数据转入模块的转换后的视频数据,然后录制所述转换后的视频数据并输出录制结果的步骤,还包括如下步骤:
所述命令服务单元接收来自所述管理模块的控制命令,将所述控制命令发送至所述会话控制单元;
所述会话控制单元管理多个会话并基于所述控制命令控制所述会话录制单元执行录制操作;
所述会话录制单元基于所述控制命令录制所述转换后的音视频流并输出录制结果;
其中所述会话录制单元采用gstreamer框架;
所述gstreamer框架至少包括如下插件中的一种:音视频流接收插件、布局插件、和音视频合并输出插件;
其中所述所述会话录制单元基于所述控制命令录制所述转换后的视频流并输出录制结果的步骤,还包括如下步骤:
所述音视频流接收插件连接所述数据转入模块,基于所述控制命令向所述数据转入模块发送流控制命令以及接收并输出所述转换后的音视频流,所述转换后的音视频流包括转换后的音频流和转换后的视频流;
所述布局插件连接音视频流接收插件,对所述转换后的视频流的录制画面进行布局合成,输出布局合成后的视频;
所述音视频合并输出插件连接所述布局插件和所述音视频流接收插件,合并所述布局合成后的视频和所述转换后的音频流,输出录制结果。
4.根据权利要求3所述的方法,其中所述gstreamer框架还至少包括如下插件中的一种:分类插件、解码插件、视频合并插件、分辨率调整插件、音频流混音插件、视频编码插件和音频编码插件;
其中所述布局插件连接音视频流接收插件,对所述转换后的视频流的录制画面进行布局合成,输出布局合成后的视频的步骤,还包括如下步骤:
所述分类插件至少包括视频流插件、分享流插件、图片流插件、文本流插件和音频流插件之一,所述分类插件连接所述音视频流接收插件,将所述转换后的音视频流分类为视频流、分享流、图片流、文本流和音频流;
所述解码插件包括视频流解码插件、分享流解码插件、图片流解码插件、文本流解码插件和音频流解码插件,所述解码插件与所述分类插件对应连接,分别解码对应的分类后的视频流、分享流、图片流、文本流和音频流;
所述视频合并插件连接所述视频流解码插件、所述分享流解码插件和所述图片流解码插件,将解码后的视频流、解码后的分享流和解码后的图片流进行合并,输出合并后的视频;
所述布局插件连接视频合并插件和所述文本流解码插件,对解码后的文本流和所述合并后的视频的录制画面进行布局合成,输出布局合成后的视频;
其中所述音视频合并输出插件连接所述布局插件和所述音视频流接收插件,合并所述布局合成后的视频和所述转换后的音频流,输出录制结果的步骤,还包括如下步骤:
所述分辨率调整插件连接所述布局插件,调整所述布局合成后的视频的分辨率,输出分辨率调整后的视频;
所述音频流混音插件连接所述音频流解码插件,将解码后的音频流混音,输出混音后的音频;
所述视频编码插件连接所述分辨率调整插件,编码所述分辨率调整后的视频,输出编码后的视频;
所述音频编码插件连接所述音频流混音插件,编码所述混音后的音频,输出编码后的音频;
所述音视频合并输出插件连接所述视频编码插件和所述音频编码插件,合并所述编码后的视频和所述编码后的音频,输出录制结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271118.2A CN114679550B (zh) | 2022-03-18 | 2022-03-18 | 通用录制的装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210271118.2A CN114679550B (zh) | 2022-03-18 | 2022-03-18 | 通用录制的装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679550A CN114679550A (zh) | 2022-06-28 |
CN114679550B true CN114679550B (zh) | 2024-08-02 |
Family
ID=82074630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210271118.2A Active CN114679550B (zh) | 2022-03-18 | 2022-03-18 | 通用录制的装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679550B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116614682B (zh) * | 2023-04-26 | 2024-04-02 | 天地阳光通信科技(北京)有限公司 | 一种全媒体融合音视频录制点播系统及处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104762A (zh) * | 2009-12-21 | 2011-06-22 | 中国移动通信集团公司 | Ims视频会议媒体录制方法及其设备和系统 |
CN102547394A (zh) * | 2011-12-27 | 2012-07-04 | 福建升腾资讯有限公司 | Vdi环境下云接入设备通用的音视频重定向方法 |
CN113542102A (zh) * | 2021-03-30 | 2021-10-22 | 南方电网数字电网研究院有限公司 | 一种视频监控系统与网页即时通信融合的网关系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250878A1 (en) * | 2006-04-05 | 2007-10-25 | Ryckman Lawrence G | Interactive system for conducting contest |
CN101262583B (zh) * | 2007-03-05 | 2011-06-15 | 华为技术有限公司 | 媒体流的录制方法、实体及系统 |
CN101626482B (zh) * | 2008-07-11 | 2011-11-09 | 华为技术有限公司 | 视频会议实现方法、设备及系统 |
CN101895719B (zh) * | 2010-08-05 | 2012-03-14 | 杭州华三通信技术有限公司 | 视讯会议终端控制录像播放的方法、系统和设备 |
US9160551B2 (en) * | 2012-03-23 | 2015-10-13 | Cisco Technology, Inc. | Analytic recording of conference sessions |
CN102970512A (zh) * | 2012-08-28 | 2013-03-13 | 北京汉博信息技术有限公司 | 一种录制视频会议的控制方法及系统 |
US9179100B2 (en) * | 2012-10-30 | 2015-11-03 | Polycom, Inc. | Video conferencing method and device thereof |
CN107959819A (zh) * | 2016-10-17 | 2018-04-24 | 北京视联动力国际信息技术有限公司 | 一种实现视频会议系统调度监控系统的方法和装置 |
-
2022
- 2022-03-18 CN CN202210271118.2A patent/CN114679550B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104762A (zh) * | 2009-12-21 | 2011-06-22 | 中国移动通信集团公司 | Ims视频会议媒体录制方法及其设备和系统 |
CN102547394A (zh) * | 2011-12-27 | 2012-07-04 | 福建升腾资讯有限公司 | Vdi环境下云接入设备通用的音视频重定向方法 |
CN113542102A (zh) * | 2021-03-30 | 2021-10-22 | 南方电网数字电网研究院有限公司 | 一种视频监控系统与网页即时通信融合的网关系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114679550A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101617906B1 (ko) | 다중 비트 전송률 스트림을 사용한 영상 회의 구독 | |
US7035804B2 (en) | Systems and methods for automated audio transcription, translation, and transfer | |
US9621854B2 (en) | Recording a videoconference using separate video | |
US6820055B2 (en) | Systems and methods for automated audio transcription, translation, and transfer with text display software for manipulating the text | |
CN100433826C (zh) | 记录视频会议数据的方法和系统 | |
TWI440346B (zh) | 基於開放架構之域相依即時多語系通信服務 | |
US9179100B2 (en) | Video conferencing method and device thereof | |
US8456509B2 (en) | Providing presentations in a videoconference | |
US8799408B2 (en) | Localization systems and methods | |
JP2007006444A (ja) | マルチメディア製作制御システム | |
CN114679550B (zh) | 通用录制的装置及其方法 | |
CN108665749A (zh) | 云桌面下的多媒体教学系统的显示装置及多媒体教学系统 | |
Black et al. | A compendium of robust data structures | |
Lohse | Network-Integrated Multimedia Middleware, Services, and Applications | |
JP2023017722A (ja) | コンピュータ実装方法、コンピュータシステム、コンピュータプログラム(リモートアプリケーション共有のためのコンテンツ外観変換) | |
CN117097907A (zh) | 音视频的转码装置、方法、设备、介质及产品 | |
KR20180091319A (ko) | 사운드 공유 장치 및 방법 | |
KR101067952B1 (ko) | 트래픽이 절감된 화상통신 운영 시스템 및 방법 | |
Manzato et al. | Live video adaptation: a context-aware approach | |
Rowe | Streaming media middleware is more than streaming media | |
CN113612964B (zh) | 互动教学的处理方法、装置、计算机设备和存储介质 | |
TWI792183B (zh) | 遠距會議系統及其相關資料的生成方法 | |
CN112584084B (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
Westerink et al. | A high level flexible framework for building multi-platform multi-media streaming applications | |
Rowe | Distributed Streaming Media Application Middleware |
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 |