一种在线实时视频的装饰方法与系统技术方案

技术编号:21663897 阅读:35 留言:0更新日期:2019-07-20 07:00
本发明专利技术公开了一种在线实时视频的装饰方法与系统,其中,所述方法包括:多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;每个用户端通过远程服务器发送自身在线视频数据并接收其他用户端的视频数据;具有装饰权限的用户端显示装饰素材以及待装饰用户端视频,根据第一素材ID和第一位置生成装饰指令,并发送指令至待装饰用户端;待装饰用户端从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上,将添加装饰素材的视频数据进行编码,并通过远程服务器发送至该虚拟房间的其他用户端。本发明专利技术可以实现在线实时视频的装饰和传输,对装饰素材没有数量限制,可以进行大量素材的效果叠加。

A Decoration Method and System for Online Real-time Video

【技术实现步骤摘要】
一种在线实时视频的装饰方法与系统
本专利技术涉及一种在线实时视频的装饰方法与系统,属于视频装饰

技术介绍
目前,流行的视频装扮系统多数都是离线、无法远程操作的视频装扮,其存在的缺点有:1、只能装扮本地视频,都是对本地录制的视频进行装饰处理,处理之后再上传到服务端,无法远程多用户互相装扮,也无法进行在线视频的实时装扮和传输,缺乏用户之间的互动和趣味性;2、装扮的场景素材和特效有数量限制,无法进行大量素材的效果叠加。
技术实现思路
本专利技术的目的在于,提供一种在线实时视频的装饰方法与系统,可以至少解决上述技术问题之一。为解决上述技术问题,本专利技术采用如下的技术方案:一种在线实时视频的装饰方法,包括以下步骤:步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;步骤S2,每个用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的视频数据;步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送所述装饰指令至待装饰用户端,其中,所述第一素材ID为选择的装饰素材的ID;步骤S5,所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;步骤S6,所述待装饰用户端将添加装饰素材的视频数据进行编码,并通过所述远程服务器实时发送至该虚拟房间的其他用户端。前述的在线实时视频的装饰方法中,所述步骤S5具体包括:步骤S51,根据接收到的装饰指令获取第一素材ID和第一位置;步骤S52,对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;步骤S53,查找与所述第一素材ID相同的第二素材ID所属的装饰素材;步骤S54,根据查找到的装饰素材的素材类型,将查找到的装饰素材添加到实时捕获的视频帧的相应位置上。前述的在线实时视频的装饰方法中,所述步骤S54具体包括:若查找到的装饰素材的素材类型为人脸装饰,则忽略所述装饰指令中的第一位置,并针对每一帧视频图像重复以下步骤进行装饰:步骤S541,进行人脸区域检测,计算出人脸的区域位置;步骤S542,进行人脸特征点检测,记录人脸的多个特征点的位置;步骤S543,根据人脸装饰的类别选择人脸上相应的两个特征点;步骤S544,使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为场景装饰,则忽略所述装饰指令中的第一位置,按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为奖品装饰,则根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。前述的在线实时视频的装饰方法中,所述步骤S54具体包括:若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。前述的在线实时视频的装饰方法中,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。一种在线实时视频的装饰系统,包括远程服务器,以及位于同一个虚拟房间的至少一个具有装饰权限的用户端和至少一个待装饰用户端;其中,所述具有装饰权限的用户端包括:第一下载模块,用于所述具有装饰权限的用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;第一视频捕获模块,用于所述具有装饰权限的用户端捕获自身在线视频数据;第一视频传输模块,与所述第一视频捕获模块连接,用于所述具有装饰权限的用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;显示模块,分别与所述第一下载模块和所述第一视频传输模块连接,用于所述具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;指令生成模块,用于在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,所述具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,其中,所述第一素材ID为选择的装饰素材的ID;指令发送模块,与所述指令生成模块连接,用于发送所述装饰指令至待装饰用户端;所述待装饰用户端包括:第二下载模块,用于所述待装饰用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;第二视频捕获模块,用于所述待装饰用户端捕获自身在线视频数据;第二视频传输模块,与所述第二视频捕获模块连接,用于所述待装饰用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的视频数据;素材查找模块,与所述第二下载模块连接,用于所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材;装饰模块,与所述素材查找模块和所述第二视频捕获模块连接,用于所述待装饰用户端将查找到的装饰素材添加到实时捕获的视频帧的相应位置上;编码模块,与所述装饰模块连接,用于所述待装饰用户端将添加装饰素材的视频数据进行编码;所述第二视频传输模块,与所述编码模块连接,还用于所述待装饰用户端将编码的装饰完的视频通过所述远程服务器实时发送至该虚拟房间的其他用户端。前述的在线实时视频的装饰系统中,所述素材查找模块包括:获取模块,用于根据接收到的装饰指令获取第一素材ID和第一位置;解析模块,用于对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;ID查找模块,分别与所述获取模块和所述解析模块连接,用于查找与所述第一素材ID相同的第二素材ID所属的装饰素材。前述的在线实时视频的装饰系统中,所述装饰模块包括人脸装饰模块和/或场景装饰模块和/或奖品装饰模块;其中,所述人脸装饰模块,用于当查找到的装饰素材的素材类型为人脸装饰时,忽略所述装饰指令中的第一位置,并对实时捕获的视频帧进行装饰处理;所述人脸装饰模块包括:区域检测模块,用于进行人脸区域检测,计算出人脸的区域位置;特征点检测模块,与所述区域检测模块连接,用于进行人脸特征点检测,记录人脸的多个特征点的位置;特征点选取模块,与所述特征点检测模块连接,用于根据人脸装饰的类别选择人脸上相应的两个特征点;仿射变换模块,与所述特征点选取模块连接,用于使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;所述场景装饰模块,用于当查找到的装饰素材的素材类型为场景装饰时,忽略所述装饰指令中的第一位置,并按照素材显示图层和素材透明度将素材图片覆盖到本文档来自技高网...

【技术保护点】
1.一种在线实时视频的装饰方法,其特征在于,包括以下步骤:步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;步骤S2,每个用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送所述装饰指令至待装饰用户端,其中,所述第一素材ID为选择的装饰素材的ID;步骤S5,所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;步骤S6,所述待装饰用户端将添加装饰素材的视频数据进行编码,并通过所述远程服务器实时发送至该虚拟房间的其他用户端。

【技术特征摘要】
1.一种在线实时视频的装饰方法,其特征在于,包括以下步骤:步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;步骤S2,每个用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送所述装饰指令至待装饰用户端,其中,所述第一素材ID为选择的装饰素材的ID;步骤S5,所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;步骤S6,所述待装饰用户端将添加装饰素材的视频数据进行编码,并通过所述远程服务器实时发送至该虚拟房间的其他用户端。2.根据权利要求1所述的在线实时视频的装饰方法,其特征在于,所述步骤S5具体包括:步骤S51,根据接收到的装饰指令获取第一素材ID和第一位置;步骤S52,对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;步骤S53,查找与所述第一素材ID相同的第二素材ID所属的装饰素材;步骤S54,根据查找到的装饰素材的素材类型,将查找到的装饰素材添加到实时捕获的视频帧的相应位置上。3.根据权利要求2所述的在线实时视频的装饰方法,其特征在于,所述步骤S54具体包括:若查找到的装饰素材的素材类型为人脸装饰,则忽略所述装饰指令中的第一位置,并针对每一帧视频图像重复以下步骤进行装饰:步骤S541,进行人脸区域检测,计算出人脸的区域位置;步骤S542,进行人脸特征点检测,记录人脸的多个特征点的位置;步骤S543,根据人脸装饰的类别选择人脸上相应的两个特征点;步骤S544,使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为场景装饰,则忽略所述装饰指令中的第一位置,按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为奖品装饰,则根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。4.根据权利要求2或3所述的在线实时视频的装饰方法,其特征在于,所述步骤S54具体包括:若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。5.根据权利要求1至4任一项所述的在线实时视频的装饰方法,其特征在于,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。6.一种在线实时视频的装饰系统,其特征在于,包括远程服务器,以及位于同一个虚拟房间的至少一个具有装饰权限的用户端和至少一个待装饰用户端;其中,所述具有装饰权限的用户端包括:第一下载模块,用于所述具有装饰权限的用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;第一视频捕获模块,用于所述具有装饰权限的用户端捕获自身在线视频数据;第一视频传输模块,与所述第一视频捕获模块连接,用于所述具有装饰权限的用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;显示模块,分别与所述第一下载模块和所述第一视频传...

【专利技术属性】
技术研发人员:梁小龙李小鹏陈靖
申请(专利权)人:北京大生在线科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1