h5页面怎么处理文件流_一种H5页面效果生成视频文件的方法及系统与流程
本发明涉及计算机技术领域,尤其涉及一种H5页面效果生成视频文件的方法及系统。
背景技术:
现有的视频合成方法均是将视频需要合成的各个元素拆分出来,针对每个元素进行合成视频,复杂度高,一旦需要添加新的动画元素,必须符合原来定义的规范,否则不易扩展。
技术实现要素:
本发明的目的在于针对上述现有技术中的视频合成方法复杂度高,不易扩展的缺点,提出一种H5页面效果生成视频文件的方法及系统,能够有效简化合成视频的步骤,且扩展性更强。
一种H5页面效果生成视频文件的方法,包括:
客户端向服务器发送动画数据请求;
浏览器前端接收服务器返回的动画数据;
浏览器前端对所述动画数据进行预渲染视频帧,并在预渲染视频帧完成后发送预渲染完成信号至客户端;
所述客户端接收到所述预渲染完成信号后,获取预设时间内的视频帧进行渲染,并编码视频帧,编码完成后生成视频文件。
进一步地,客户端向服务器发送动画数据请求之前,还包括:
客户端接收用户发送的动画数据并发送至服务器进行存储。
进一步地,浏览器前端对所述动画数据进行预渲染视频帧,包括:
浏览器前端将每个元素的动画效果分解生成H5页面,并将每一帧绘制到浏览器。
进一步地,获取预设时间内的视频帧并进行渲染,并编码视频帧,编码完成后生成视频文件,包括:
步骤A,客户端向浏览器前端获取预设时间内的视频帧,之后执行步骤B;
步骤B,浏览器前端渲染所述预设时间内的每一帧,并在渲染完成后通知客户端,之后执行步骤C;
步骤C,客户端再从所述浏览器前端依次截取每一帧进行编码,之后执行步骤D;
步骤D,所述预设时间内的视频帧编码完成后,判断整个视频是否编码完成,如果编码完成,则执行步骤E;如果整个视频编码未完成,则执行步骤A获取下一个预设时间内的视频帧;
步骤E,将视频写入文件进行保存。
进一步地,生成视频文件之后,还包括:
将所述视频文件存储至本地相册。
一种H5页面效果生成视频文件的系统,包括客户端、服务器以及浏览器前端;
所述客户端用于向服务器发送动画数据请求;
所述浏览器前端用于收服务器返回的动画数据,并对所述动画数据进行预渲染视频帧,在预渲染视频帧完成后发送预渲染完成信号至客户端;
所述客户端还用于接收到所述预渲染完成信号后,获取预设时间内的视频帧并进行渲染,并编码视频帧,编码完成后生成视频文件。
进一步地,所述客户端还用于接收用户发送的动画数据并发送至服务器进行存储。
进一步地,所述浏览器前端还用于将每个元素的动画效果分解生成H5页面,并将每一帧绘制到浏览器。
进一步地,所述客户端还用于向浏览器前端获取预设时间内的视频帧;
所述浏览器前端还用于渲染所述预设时间内的每一帧,并在渲染完成后通知客户端;
所述客户端还用于在渲染完成后再从所述浏览器前端依次截取每一帧进行编码,所述预设时间内的视频帧编码完成后,判断整个视频是否编码完成,如果编码完成,则将视频写入文件进行保存;如果整个视频编码未完成,则再向浏览器前端获取下一个预设时间内的视频帧。
进一步地,所述客户端还用于将所述视频文件存储至本地相册。
本发明提供的H5页面效果生成视频文件的方法及系统,至少包括如下有益效果:
通过H5页面得到每一帧的内容再进行编码,在保证最终视频内容和质量和H5页面一致的情况下,极大地简化了生成视频的步骤,并且需要添加其他动画效果,在合成视频这部分不需要其他额外的工作量,扩展性更强。
附图说明
图1为本发明提供的H5页面效果生成视频文件的方法一种实施例的步骤图。
图2为本发明提供的H5页面效果生成视频文件的方法一种实施例的流程图。
图3为本发明提供的H5页面效果生成视频文件的系统一种实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
参考图1和图2,本实施例提供一种H5页面效果生成视频文件的方法,包括:
步骤S101,客户端向服务器发送动画数据请求;
步骤S102,浏览器前端接收服务器返回的动画数据;
步骤S103,浏览器前端对所述动画数据进行预渲染视频帧,并在预渲染视频帧完成后发送预渲染完成信号至客户端;
步骤S104,所述客户端接收到所述预渲染完成信号后,获取预设时间内的视频帧进行渲染,并编码视频帧,编码完成后生成视频文件。
具体地,动画数据是由远端的一份结构化json文件定义,该份json文件是在动画编辑器内进行添加或修改而生成的。文件定义了每一个元素的类型、位置、其动画效果、视频的版本信息、编辑时间、编辑环境等,用户通过客户端上传保存动画数据,客户端接收用户发送的动画数据并发送至服务器进行存储。
当需要合成视频文件时,客户端向服务器发送动画数据请求,服务器收到该动画数据请求后向浏览器前端返回动画数据,之后对动画数据进行预渲染视频帧。
进一步地,浏览器前端对所述动画数据进行预渲染视频帧,包括:
浏览器前端将每个元素的动画效果分解生成H5页面,并将每一帧绘制到浏览器。
浏览器前端获取动画数据后,拥有所有元素的原始状态跟动画效果,浏览器前端将每个元素的动画效果分解生成一系列的H5页面,每一个H5页面即为该元素的每一帧。
进一步地,浏览器前端预渲染视频帧完成后,发送预渲染完成信号至客户端,通知客户端预渲染已经完成,客户端进行渲染视频帧。
获取预设时间内的视频帧进行渲染,并编码视频帧,编码完成后生成视频文件,包括:
步骤A,客户端向浏览器前端获取预设时间内的视频帧,之后执行步骤B;
步骤B,浏览器前端渲染所述预设时间内的每一帧,并在渲染完成后通知客户端,之后执行步骤C;
步骤C,客户端再从所述浏览器前端依次截取每一帧进行编码,之后执行步骤D;
步骤D,所述预设时间内的视频帧编码完成后,判断整个视频是否编码完成,如果编码完成,则执行步骤E;如果整个视频编码未完成,则执行步骤A获取下一个预设时间内的视频帧;
步骤E,将视频写入文件进行保存。
客户端把每个元素的同一时刻的状态渲染出来就是该视频某一帧的画面。
进一步地,生成视频文件之后,还包括:
将所述视频文件存储至本地相册。
本实施例提供的H5页面效果生成视频文件的方法,通过H5页面得到每一帧的内容再进行编码,在保证最终视频内容和质量和H5页面一致的情况下,极大地简化了生成视频的步骤,并且需要添加其他动画效果,在合成视频这部分不需要其他额外的工作量,扩展性更强。
实施例二
参考图3,本实施例提供一种H5页面效果生成视频文件的系统,包括客户端201、服务器202以及浏览器前端203;
客户端201用于向服务器202发送动画数据请求;
浏览器前端203用于收服务器202返回的动画数据,并对所述动画数据进行预渲染视频帧,在预渲染视频帧完成后发送预渲染完成信号至客户端201;
客户端201还用于接收到预渲染完成信号后,获取预设时间内的视频帧进行渲染,并编码视频帧,编码完成后生成视频文件。
进一步地,客户端201还用于接收用户发送的动画数据并发送至服务器进行存储。
进一步地,浏览器前端203还用于将每个元素的动画效果分解生成H5页面,并将H5页面的每一帧绘制到浏览器。
进一步地,客户端201还用于向浏览器前端获取预设时间内的视频帧;
浏览器前端203还用于渲染所述预设时间内的每一帧,并在渲染完成后通知客户端;
客户端201还用于在渲染完成后再从所述浏览器前端依次截取每一帧进行编码,所述预设时间内的视频帧编码完成后,判断整个视频是否编码完成,如果编码完成,则将视频写入文件进行保存;如果整个视频编码未完成,则再向浏览器前端获取下一个预设时间内的视频帧。
进一步地,客户端201还用于将所述视频文件存储至本地相册。
具体工作原理请参考实施例一,在此不再赘述。
本实施例提供的H5页面效果生成视频文件的系统,通过H5页面得到每一帧的内容再进行编码,在保证最终视频内容和质量和H5页面一致的情况下,极大地简化了生成视频的步骤,并且需要添加其他动画效果,在合成视频这部分不需要其他额外的工作量,扩展性更强。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
h5页面怎么处理文件流_一种H5页面效果生成视频文件的方法及系统与流程相关推荐
- dicom 脱敏_一种对医疗影像数据进行脱敏处理的方法及系统与流程
本发明涉及医疗人工智能与大数据处理领域,特别涉及一种对医疗影像数据进行脱敏处理的方法及系统. 背景技术: 随着以深度学习框架为内核的新人工智能技术强势崛起,在各个领域都获得了长足的发展与推进,Alph ...
- 肺结节目标检测_一种基于CT图像的肺结节检测方法及系统与流程
本发明属于医学图像分析和计算机辅助诊断等技术领域,更具体地,涉及一种基于CT图像的肺结节检测方法及系统. 背景技术: 肺癌是导致患癌死亡的最危险的疾病之一,其发病率占所有癌症的三分之二,且5年存活率为 ...
- 分布式mysql保持数据一致性_一种分布式跨数据库保持事务一致性的方法及系统与流程...
本发明涉及计算机网络技术领域,尤其涉及一种分布式跨数据库保持事务一致性的方法及系统. 背景技术: 目前,分布式服务架构十分的流行,特别是对于电商领域来说.他的优点就不多说了,但是随着集群机器的增加,集 ...
- c语言 文件流 输出数据类型,总结C++中输入输出流及文件流操作
当程序员在编写程序的时候,最不可分割的是对文件做的相应的操作,总结C++中输入输出流及文件流操作大家都了解吗?想要了解的朋友,就随爱站技术频道小编来看看吧. 1.流的控制 iomanip ...
- linux 查找文件夹_用python打造一个基于socket的文件(夹)传输系统
这段时间在学习python,接触到了网络编程中的socket这块,加上自己在用的Linux服务器都是原生支持python的,于是乎有了个做文件传输功能程序的想法. 毕竟python语言中,有下载功能的 ...
- MATLAB | 生成视频文件
在<MATLAB | 生成多张图片并保存>一文中演示了如何生成多张图片并保存到指定文件夹中,这篇博客将在上文基础上演示如何生成一个视频文件. %% Title: Video Generat ...
- 将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件
将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件. 其他UP主给的解决方法如下: 解决方案:settings -> compiler 勾选自动编译选项 ...
- iOS获取相册视频文件封面图 选取手机中的音频、视频文件并导出数据。
应项目需求,需要实现本地选取并上传图片.音频和视频文件. 其中选取图片这块有很多开源框架,不再赘述.本文主要是采用iOS自带的类MPMediaPickerController 来实现UIImagePi ...
- php输出PDF的文件流_怎么用PHP在HTML中生成PDF文件
译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PHP并借助FPDF来生成PDF文件.但是如今,已经有很多函数库可以使用了, ...
最新文章
- 基本设计模式:单例模式和工厂模式代码实现
- Android事件机制详解
- mysql sql高级应用程序_mysql-sql高级应用
- *p++和*++p_2020年P气瓶充装新版试题及P气瓶充装找答案
- Icicle is not a symbol o chillness but a sign of warming.
- 数据重现之11.5.2:RAID5同步与异步的判断
- 如何把he_llo wo_rld 变成 HeLlo WoRld
- 03 爬虫之selenium模块
- INTEL芯片组驱动下载地址
- 红米Note刷机包 移动版 开发版4.9.23 蝰蛇音效 CRT锁屏动画 最流畅的ROM
- python计算单词长度_附加一个计算单词长度的列表
- Alkyne-PEG-COOH 炔烃PEG羧基
- BFA“瑞云科技”大视频讲堂第五期“从好莱坞电影融资模式到中国电影的国际化”...
- 剑指 Offer 12. 矩阵中的路径
- PE文件之IMAGE_DOS_HEADER
- mysql 事件及定时器
- c语言怎么实现plc的自锁功能,【图】plc梯形图自锁与互锁功能编程实例
- 单片机外围模块漫谈之三,CAN总线
- 1000句英文常用语
- freemodbus源码笔记