CN105657574A - 一种视频文件制作方法以及装置 - Google Patents
一种视频文件制作方法以及装置 Download PDFInfo
- Publication number
- CN105657574A CN105657574A CN201410645440.2A CN201410645440A CN105657574A CN 105657574 A CN105657574 A CN 105657574A CN 201410645440 A CN201410645440 A CN 201410645440A CN 105657574 A CN105657574 A CN 105657574A
- Authority
- CN
- China
- Prior art keywords
- animation
- frame
- file
- video file
- pixel information
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种视频文件制作方法,包括:逐帧读取自定义动画文件中每个动画帧的像素信息;将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。本申请提供的网页动画编辑方法,基于普通的HTML5浏览器即可实现视频文件的制作,无需专门的视频制作软件,也无需专业的视频制作人员参与制作,节省成本。
Description
技术领域
本申请涉及视频制作技术领域,具体涉及一种视频文件制作方法。本申请同时涉及一种视频文件制作装置。
背景技术
在网页上能看到绚丽多彩、精美漂亮的Flash、MTV、游戏等动画,尤其是视频网站当中的视频播放开始之前或者播放结束之后,都会播放一些视频广告,这些广告的大部分编辑工作都是专业人员使用特定的工具软件(如AfterEffects等)进行制作和编辑,最终生成视频格式的视频文件进行上传投放。
现有技术下,视频文件的主要是由专业的视频制作人员利用专业的视频制作软件编辑和制作的;除此之外,有一些视频制作软件面向普通用户(视频文件制作的初学者)提供简单易懂的视频制作教程,或者面向普通用户提供一些“傻瓜”化的入门级的视频制作软件,以便普通用户也能够使用视频制作软件编辑和制作生成视频文件。
上述现有技术提供的视频文件制作方法存在明显的缺陷。
现有技术提供的视频文件制作方法主要是利用专门的视频制作软件编辑和制作生成视频文件,这些专门的视频制作软件都需要在智能终端上安装,安装之后才能够进行视频文件的编辑和制作工作,由于目前的视频制作软件占用的内存空间或者硬盘空间较大,对智能终端的硬件要求较高,增加了成本,并且需要专业的视频制作人员参与其中,成本进一步增加,即使现有的一些视频制作软件面向普通用户提供了视频制作教程,或者面向普通用户提供了入门级的视频制作软件,但这些视频制作教程或者视频制作软件产出的视频文件的类型有限,无法满足用户的需求。
发明内容
本申请提供一种视频文件制作方法,以解决现有的视频文件制作方法存在的成本较高和视频文件种类限制的问题。本申请同时涉及一种视频文件制作装置。
本申请提供一种视频文件制作方法,包括:
逐帧读取自定义动画文件中每个动画帧的像素信息;
将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;
按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
可选的,所述自定义动画文件采用下述方法形成:
接收对网页动画模板当中动画对象提供的编辑数据;
将上述编辑数据带入动画模板,按照帧频要求,逐帧渲染动画帧;所述逐帧读取自定义动画文件中每个动画帧的像素信息的步骤,即为读取本步骤渲染的动画帧。
可选的,所述接收对网页动画模板当中动画对象提供的编辑数据步骤,基于支持Canvas动画的HTML5浏览器实现。
可选的,所述动画对象包括图片对象和/或文字对象;
其中,所述图片对象的编辑数据至少包括图片内容,针对该图片内容,还可以包括如下动画参数中的一项或者多项:渲染选项、坐标、旋转、缩放、扭曲以及透明度信息;
所述文字对象的编辑参数至少包括文字内容,针对该文字内容,还可以包括如下动画参数中的一项或者多项:渲染选项、坐标、字体、字号、颜色、透明度、旋转、文本长度以及换行长度信息。
可选的,所述自定义动画文件包含若干关键帧数据作为逐帧渲染动画帧的依据;所述关键帧数据包含某个具体的动画对象在动画中出现的起始时间点、动画时长以及相应起始时间点和终了时间点的动画参数;所述关键帧由动画模板或者对动画对象的编辑数据提供。
可选的,所述将上述编辑数据带入动画模板,按照帧频要求,逐帧渲染动画帧的具体步骤如下:
根据关键帧提供的起始时间点,在对应起始时间点的动画帧中加入相应的动画对象渲染动画帧;在该起始时间点,该动画对象采用与起始时间点对应的动画参数;
根据关键帧提供的终了时间点的动画参数,以及动画时长,根据帧频要求,以线性插值计算的方法,计算下一帧动画帧中,所述动画对象的动画参数的参数值;
以所述动画参数的参数值为依据,渲染所述下一动画帧;渲染完毕后,返回上一步骤;直到所述终了时间点。
可选的,所述将所述读取的动画帧的像素信息写入与该动画帧对应的图像文件中之后,包括:
判断所述自定义动画文件中的所有动画帧的像素信息是否都被写入对应的图像文件中;
若否,则继续所述逐帧读取自定义动画文件中每个动画帧的像素信息的步骤,和所述将所读取的动画帧对应的像素信息写入与该动画帧对应的图像文件中步骤,直至所述自定义动画文件中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则进入所述按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件步骤。
可选的,所述按动画帧的时间顺序,将所述上述步骤获得的与动画帧对应的图像文件拼接生成与所述自定义动画文件相对应的视频文件,包括:
获取所述自定义动画文件中所有的动画帧对应的图像文件;
利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
可选的,所述逐帧读取自定义动画文件中每个动画帧的像素信息步骤、所述将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中步骤,以及所述按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件步骤,由服务器执行。
可选的,所述服务器执行的步骤包括:
接收客户端发送的编辑数据;
接收到所述编辑数据之后,向所述客户端发送开始生成所述自定义动画文件对应的视频文件的反馈消息;
其中,所述反馈消息中包含所述自定义动画文件对应的视频文件的ID。
可选的,所述服务器执行的步骤包括:
接收客户端发送的所述自定义文件生成对应视频文件的生成进度请求;
基于该生成进度请求,计算出所述自定义文件生成对应视频文件的进度信息;
将所述进度信息发送至所述客户端。
可选的,所述自定义文件生成对应视频文件的进度信息包括:所述自定义动画文件中已经生成对应图像文件的动画帧的个数与该自定义动画文件中动画帧的总个数的比值。
本申请另外一种视频文件制作装置,包括:
像素信息读取单元,用于逐帧读取自定义动画文件中每个动画帧的像素信息;
像素信息写入图像单元,用于将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;
视频文件生成单元,用于按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
可选的,所述的视频文件制作装置,包括:
判断单元,用于判断所述自定义动画文件中的所有动画帧的像素信息是否都被写入对应的图像文件中;
若否,则进入所述像素信息读取单元和所述像素信息写入图像单元,直至所述自定义动画文件中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则进入所述视频文件生成单元。
可选的,所述视频文件生成单元,包括:
图像文件获取子单元,用于获取所述自定义动画文件中所有的动画帧对应的图像文件;
图像文件拼接子单元,用于利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
与现有技术相比,本申请具有以下优点:
本申请提供的一种视频文件制作方法,包括:获取自定义动画文件中动画帧对应的像素信息;将所述动画帧对应的像素信息写入与该动画帧对应的图像文件中;根据所述图像文件生成与所述自定义动画文件相对应的视频文件。
本申请提供的上述网页动画编辑方法中,通过支持HTML5的浏览器即可对服务器提供的网页动画模板进行编辑,生成自定义动画文件,并将所述自定义文件根据用户的需求转换为视频文件类型,不存在视频文件类型的限制;此外,普通用户通过支持HTML5的浏览器即可实现视频文件的制作,无需专门的视频制作软件,也无需专业的视频制作人员参与制作,节省了成本。
附图说明
图1是本申请第一实施例提供的一种视频文件制作方法处理流程图。
图2是本申请第二实施例提供的一种视频文件制作装置示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种视频文件制作方法,本申请另外提供一种视频文件制作装置;所述一种视频文件制作方法实施例如下:
实施例一
本实施例以服务器的视频文件制作方法为例对所述视频文件制作方法进行说明,除此之外,所述视频文件制作方法还可以通过本实施之外的其他方法实现,比如基于客户端实现的视频文件制作方法,或者基于客户端和服务器端共同实现的视频文件制作方法,在此不作限定。
参照图1,其示出了本实施例提供的一种视频文件制作方法处理流程图。
以下结合图1对本实施例提供的一种视频文件制作方法进行说明,并且对该方法的各个步骤进行说明;此外,本实施例提供的一种视频文件制作方法的具体步骤之间的顺序关系请根据图1确定。
步骤S101,逐帧读取自定义动画文件中每个动画帧的像素信息。
网页动画模板,是由服务器提供的包含多种动画效果或者动画元素的动画文件,并且向用户提供了编辑其中动画效果或者动画元素的接口。本实施例中,所述网页动画模板包括Canvas动画,所述编辑所述动画效果或者动画元素的接口包括表单;本申请实施例的表单在网页中主要负责数据的采集;一个表单有三个基本组成部分:表单标签、表单域和表单按钮。表单标签包含了处理表单中数据的所用的URL(统一资源定位符),并且包含了将数据提交到服务器的方法。表单域包含文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框以及文件上传框等。表单按钮包括提交按钮、复位按钮和一般按钮,用于将数据提交到服务器。
用户对该网页动画模板进行编辑,编辑之后的网页动画模板称之为自定义动画文件;本实施例中,所述网页动画模板包括Canvas动画。
所述自定义动画文件,是指用户对所述服务器提供的所述Canvas动画进行自定义的编辑,并由所述服务器对该Canvas动画进行重新渲染,渲染之后生成的新的Canvas动画称之为自定义动画文件。
本实施例中,由所述Canvas动画生成所述自定义动画文件步骤如下:
1)接收对所述Canvas动画当中动画对象提供的编辑数据;
所述动画对象,是指所述Canvas动画中提供的可编辑的动画效果或者动画元素,统称为动画对象;所述动画对象主要包括文字对象和图片对象。
需要说明的是,本步骤所述的接收对所述Canvas动画当中动画对象提供的编辑数据,是基于支持Canvas动画的HTML5浏览器(支持HTML5的浏览器)实现的。
本步骤中,在所述HTML5浏览器中以接收编辑数据的方式,对所述文字对象和所述图片对象的内容以及相关参数进行修改和替换。除此之外,还可以通过本实施例之外的其他方法实现,在此不作限定。
所述编辑数据可以提供文字对象和图片对象的内容,即文字对象呈现的具体文字,图片对象呈现的具体图片,同时还可以提供相关与文字或者图片相关的参数;
其中,所述文字对象相关的参数有:所述Canvas动画当中的文字的渲染选项、坐标、字体、字号、颜色、透明度、旋转、文本长度以及换行长度信息;所述图片对象相关的参数有:所述Canvas动画当中的图片的渲染选项、坐标、旋转、缩放、扭曲以及透明度信息。
完成本步骤之后,基于上述的HTML5浏览器将用户针对所述Canvas动画中动画对象提供的编辑数据发送至所述服务器。
2)根据上述编辑数据制作所述Canvas动画,按照帧频要求,逐帧渲染动画帧。
所述动画帧是指Canvas动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。
关键帧,是指Canvas动画当中角色或者物体运动变化中的关键动作所处的动画帧;使用关键帧即可描述所述Canvas动画的具体过程,作为逐帧渲染所述Canvas动画当中动画帧的依据。
所述关键帧包含一些与动画过程相关的数据,具体的数据类型在不同的实施方式中可以有所不同,一个典型的关键帧数据包含某个具体的动画对象在所述Canvas动画中出现的起始时间点、动画时长以及相应起始时间点和终了时间点的动画参数。下表列出两个具体的关键帧信息作为示例;
其中,所述动画参数是指用于描述所述Canvas动画中的动画对象在动画播放过程中具体状态信息的参数。
以上述表格的关键帧信息为例,以下详细说明其使用方式,例如:
对于上述表格中文本1,起始时间点是0秒,动画时长3s,即:上述文本1在所述Canvas动画播放过程中出现的时长为3s,不透明度0->不透明度1,是指上述文本1在3s的过程中不透明度从0变为1,在起始时间点0s时的不透明度为0,在所述Canvas动画中处于不可观察的状态,在终了时间点3s时的不透明度是1,在所述Canvas动画中处于完全显示的状态。
此外,上述文本1从起始时间点0s到终了时间点3s是线性变化的,在所述Canvas动画中从起始时间点0s的不可观察状态均匀的显示出来,直至终了时间点3s时在所述Canvas动画中处于完全显示状态。
对于上述表格中图片1,以上述图片1的左上角为基点,上述图片1的基点在起始时间点1s时的坐标为(Xa,Ya),动画时长为4s,上述图片1在终了时间点5s时的坐标为(Xb,Yb),上述图片1的基点在4s的过程中从坐标(Xa,Ya)移动到坐标(Xb,Yb)的过程,可以由一个关键帧来描述,改关键帧的起始信息为上述图片1在起始时间点0s时的坐标值(Xa,Ya),所述关键帧终了信息为上述图片1在终了时间点5s时的坐标值(Xb,Yb),此外,所述关键帧的缓动效果为线性;
若所述关键帧的帧频为60帧每秒,则每1s的动画需要生成60张图片,第0秒(起始时间点0s)渲染的是上述图片1的基点在坐标(Xa,Ya)时所对应的动画帧,即上述图片1的基点在坐标(500,400)时所对应的动画帧,完成上述图片1在第0秒(起始时间点0s)的动画帧的渲染之后,计算上述图片1的下一帧的动画帧的信息,即:16.6毫秒时上述图片1的动画帧的信息,通过计算得到上述图片1在16.6毫秒时的新坐标为(Xa+(Xb-Xa)/60,Ya+(Yb-Ya)/60),代入数据后的计算结果约为(205,102),则渲染上述图片1的基点在坐标(205,102)时所对应的动画帧,重复上述计算坐标和渲染动画帧的过程,直至完成所述关键帧在所述动画时长4s内所有动画帧的渲染。
完成所述Canvas动画中包含的所有的关键帧内的动画帧的渲染之后,获得所述自定义动画文件。
本步骤中,将上述步骤通过所述HTML5浏览器发送的所述编辑数据带入所述Canvas动画,按照帧频要求,逐帧渲染动画帧的过程中,完成渲染所述关键帧的动画时长内的第一帧动画帧(即:起始时间点对应的动画帧)之后,将所述Canvas动画暂停在当前所述的第一帧动画帧,并读取该动画帧的像素信息;以此类推,与上述步骤2)一一对应,即:只要上述步骤2)中完成了一帧动画帧的渲染,则将所述Canvas动画暂停在当前完成渲染动画帧,并读取该动画帧的像素信息;重复所述读取该动画帧的像素信息的过程,直至所述Canvas动画当中的所有动画帧的像素信息都读取完毕。
需要说明的是,在本步骤之前,还包括接收所述HTML5浏览器发送的编辑数据的步骤,,接收到所述编辑数据之后,向所述HTML5浏览器发送开始生成所述自定义动画文件对应的视频文件的反馈消息。其中,所述反馈消息中包含所述自定义动画文件对应的视频文件的ID,所述视频文件的ID用于区分不同用户或者不同时间生成的所述自定义动画文件对应的视频文件。
本实施例中,所述关键帧由所述Canvas动画提供,除此之外,所述关键帧还可以由用户针对所述Canvas动画当中的动画对象输入的编辑数据提供,在此不作限定。
此外,需要说明的是,所述HTML5浏览器设置有进度条,与视频播放软件当中的进度控制相类似,所述进度条用于控制和预览所述Canvas动画,以及该Canvas动画当中具体的动画效果,具体实现如下:
所述HTML5浏览器实现所述Canvas动画的预览包含两个要素,一是Canvas元素,该Canvas元素用于渲染所述Canvas动画的动画帧;二是HTML元素,该HTML元素用于渲染所述进度条,所述进度条的渲染过程如下:
所述进度条主要由两部分组成,播放头和总体进度。
当用户对所述进度条当中的播放头执行拖拽操作,并改变了所述Canvas动画的播放进度时,所述Canvas动画确定所述播放头当前所处的播放进度所对应的关键帧,并通过所述HTML5浏览器中提供的表单接收用户针对所述关键帧的动画对象提供的编辑数据。所述Canvas动画接收所述用户提供的编辑数据的操作完成之后,所述Canvas动画完成了更新,此时将所述Canvas动画的当前进度告知所述进度条以刷新该进度条的进度显示。
下述以长条形进度条为例对所述进度条进行说明:
所述长条形进度条的宽度具体数值可以是任意的,但所述长条形进度条的宽度映射为所述Canvas动画的总长;例如一段总长5秒的Canvas动画,当所述长条形进度条宽度为600像素,且播放头的中心点处于150像素的位置时,通过计算得到该播放头对应的时间是5*150/600秒,约为1.25秒,即:渲染用户在所述Canvas动画当中选定的1.25秒时所对应的内容;以上表中的关键帧A和关键帧B为例,在1.25秒时,需要渲染的动画对象有文本1和图片1;计算出上述文本1在1.25秒时的不透明度为0+(1.25-0)/3*(1-0),约为0.42;计算出上述图片1在1.25秒时基点的坐标为(200+(500-200)/4*(1.25-1),100+(200-100)/4*(1.25-1)),约为(219,106),根据上述计算的结果分别在所述Canvas动画中渲染出上述文本1的不透明度在0.42时对应的动画帧,以及渲染出上述图片1的基点坐标为(219,106)时所对应的动画帧。
本实施例中,所述将上述编辑数据带入所述Canvas动画,按照帧频要求,逐帧渲染动画帧的步骤由服务器执行,除此之外,所述渲染过程还可以由所述HTML5浏览器来执行,由所述HTML5浏览器完成所述Canvas动画的渲染过程,生成自定义动画文件,并获取所述自定义动画文件中关键帧对应的描述信息,将该描述信息发送至服务器,在此不作限定。
步骤S102,将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中。
上述步骤S101完成了逐帧读取所述Canvas动画中每个动画帧的像素信息的步骤,本步骤中,将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中。
本步骤与上述步骤S101一一对应,即:只要上述步骤S101中读取到所述Canvas动画中任意一帧动画帧的像素信息,则执行本步骤,将该动画帧的像素信息写入与该动画帧对应的图像文件中。
完成上述步骤S101以及本步骤所述将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中的步骤之后,判断所述Canvas动画中的所有动画帧的像素信息是否都被写入对应的图像文件中。
若否,则重复上述步骤S101,以及本步骤所述将所读取的动画帧对应的像素信息写入与该动画帧对应的图像文件中的步骤,直至所述Canvas动画中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则表明所述Canvas动画中的所有动画帧的像素信息都被写入对应的图像文件中,执行下述步骤S103。
步骤S103,按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
上述步骤S101完成了对所述Canvas动画的编辑工作,并结合步骤S102共同完成了基于该Canvas动画重新渲染生成自定义动画文件的工作,以及将所述自定义动画文件的动画格式转换为对应的图片格式的工作,本步骤中,将所述自定义动画文件对应的图片格式进一步转换为视频格式的文件,具体实现过程如下:
1)获取所述自定义动画文件中所有的动画帧对应的图像文件。
需要说明的是,上述步骤S101和上述步骤S102中,已经完成了对所述Canvas动画的重新渲染工作,即:完成了所述Canvas动画中包含的所有的关键帧内的动画帧的渲染工作,获得了所述自定义动画文件。本步骤中,获取所述自定义动画文件中所有的动画帧对应的图像文件。
2)利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
本实施例中,所述视频文件为mp4格式的视频文件,除此之外,所述视频文件的格式还包括AVI、RM、ASF、WMV以及MOV等,本实施例不作限定。除此之外,所述将所述图像文件拼接为视频文件基于现有技术实现,在此不再赘述。
需要说明的是,本步骤所述按动画帧的时间顺序,将上述步骤S102获得的所述自定义动画文件中所有的动画帧对应的图像文件拼接成与该自定义动画文件相对应的视频文件过程中,还包括如下步骤:
接收所述HTML5浏览器定时发送的获取所述Canvas动画对应自定义动画文件生成视频文件的进度信息的生成进度请求。
所述服务器接收到该生成进度请求之后,计算出所述自定义动画文件生成对应视频文件的进度信息,本实施例中,获取所述自定义动画文件中已经生成对应图像文件的动画帧的个数,并获取所述自定义动画文件中动画帧的总个数,将所述已经生成对应图像文件的动画帧的个数与所述动画帧的总个数之间的比值作为所述自定义动画文件生成对应视频文件的进度信息,计算出所述自定义动画文件生成对应视频文件的进度信息之后,将该进度信息发送至所述HTML5浏览器。
需要说明是,除本实施例所述实现方法之外,还可以采用其他方法来实现,比如所述HTML5浏览器不是定时向所述服务器发送所述生成进度请求,而是接收到用户的操作指令之后,向所述服务器发送所述生成进度请求,获取当前所述自定义动画文件生成对应视频文件的进度信息,在此不作限定。
此外,所述进度信息还可以采用本实施例之外的其他计算方法计算获得,来表示所述自定义动画文件生成对应视频文件的转换速率或者实时的转换进度,本实施例不作限定。
实施例二
在上述的实施例中,提供了一种视频文件制作方法,与之相对应的,本申请还提供了一种视频文件制作装置。
参照图2,其示出了根据本实施例提供的一种视频文件制作装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请所述的一种视频文件制作装置,包括:
像素信息读取单元201,用于逐帧读取自定义动画文件中每个动画帧的像素信息;
像素信息写入图像单元202,用于将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;
视频文件生成单元203,用于按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
可选的,所述视频文件制作装置,包括:
判断单元,用于判断所述自定义动画文件中的所有动画帧的像素信息是否都被写入对应的图像文件中;
若否,则进入所述像素信息读取单元和所述像素信息写入图像单元,直至所述自定义动画文件中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则进入所述视频文件生成单元。
可选的,所述视频文件生成单元203,包括:
图像文件获取子单元,用于获取所述自定义动画文件中所有的动画帧对应的图像文件;
图像文件拼接子单元,用于利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (15)
1.一种视频文件制作方法,其特征在于,包括:
逐帧读取自定义动画文件中每个动画帧的像素信息;
将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;
按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
2.根据权利要求1所述的视频文件制作方法,其特征在于,所述自定义动画文件采用下述方法形成:
接收对网页动画模板当中动画对象提供的编辑数据;
将上述编辑数据带入动画模板,按照帧频要求,逐帧渲染动画帧;所述逐帧读取自定义动画文件中每个动画帧的像素信息的步骤,即为读取本步骤渲染的动画帧。
3.根据权利要求2所述的视频文件制作方法,其特征在于,所述接收对网页动画模板当中动画对象提供的编辑数据步骤,基于支持Canvas动画的HTML5浏览器实现。
4.根据权利要求2所述的视频文件制作方法,其特征在于,所述动画对象包括图片对象和/或文字对象;
其中,所述图片对象的编辑数据至少包括图片内容,针对该图片内容,还可以包括如下动画参数中的一项或者多项:渲染选项、坐标、旋转、缩放、扭曲以及透明度信息;
所述文字对象的编辑参数至少包括文字内容,针对该文字内容,还可以包括如下动画参数中的一项或者多项:渲染选项、坐标、字体、字号、颜色、透明度、旋转、文本长度以及换行长度信息。
5.根据权利要求4所述的视频文件制作方法,其特征在于,所述自定义动画文件包含若干关键帧数据作为逐帧渲染动画帧的依据;所述关键帧数据包含某个具体的动画对象在动画中出现的起始时间点、动画时长以及相应起始时间点和终了时间点的动画参数;所述关键帧由动画模板或者对动画对象的编辑数据提供。
6.根据权利要求5所述的视频文件制作方法,其特征在于,所述将上述编辑数据带入动画模板,按照帧频要求,逐帧渲染动画帧的具体步骤如下:
根据关键帧提供的起始时间点,在对应起始时间点的动画帧中加入相应的动画对象渲染动画帧;在该起始时间点,该动画对象采用与起始时间点对应的动画参数;
根据关键帧提供的终了时间点的动画参数,以及动画时长,根据帧频要求,以线性插值计算的方法,计算下一帧动画帧中,所述动画对象的动画参数的参数值;
以所述动画参数的参数值为依据,渲染所述下一动画帧;渲染完毕后,返回上一步骤;直到所述终了时间点。
7.根据权利要求1所述的视频文件制作方法,其特征在于,所述将所述读取的动画帧的像素信息写入与该动画帧对应的图像文件中之后,包括:
判断所述自定义动画文件中的所有动画帧的像素信息是否都被写入对应的图像文件中;
若否,则继续所述逐帧读取自定义动画文件中每个动画帧的像素信息的步骤,和所述将所读取的动画帧对应的像素信息写入与该动画帧对应的图像文件中步骤,直至所述自定义动画文件中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则进入所述按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件步骤。
8.根据权利要求1所述的视频文件制作方法,其特征在于,所述按动画帧的时间顺序,将所述上述步骤获得的与动画帧对应的图像文件拼接生成与所述自定义动画文件相对应的视频文件,包括:
获取所述自定义动画文件中所有的动画帧对应的图像文件;
利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
9.根据权利要求1所述的视频文件制作方法,其特征在于,所述逐帧读取自定义动画文件中每个动画帧的像素信息步骤、所述将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中步骤,以及所述按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件步骤,由服务器执行。
10.根据权利要求9所述的视频文件制作方法,其特征在于,所述服务器执行的步骤包括:
接收客户端发送的编辑数据;
接收到所述编辑数据之后,向所述客户端发送开始生成所述自定义动画文件对应的视频文件的反馈消息;
其中,所述反馈消息中包含所述自定义动画文件对应的视频文件的ID。
11.根据权利要求9所述的视频文件制作方法,其特征在于,所述服务器执行的步骤包括:
接收客户端发送的所述自定义文件生成对应视频文件的生成进度请求;
基于该生成进度请求,计算出所述自定义文件生成对应视频文件的进度信息;
将所述进度信息发送至所述客户端。
12.根据权利要求11所述的视频文件制作方法,其特征在于,所述自定义文件生成对应视频文件的进度信息包括:所述自定义动画文件中已经生成对应图像文件的动画帧的个数与该自定义动画文件中动画帧的总个数的比值。
13.一种视频文件制作装置,其特征在于,包括:
像素信息读取单元,用于逐帧读取自定义动画文件中每个动画帧的像素信息;
像素信息写入图像单元,用于将所读取的动画帧的像素信息写入与该动画帧对应的图像文件中;
视频文件生成单元,用于按动画帧的时间顺序,将上述步骤获得的与动画帧对应的图像文件拼接成与所述自定义动画文件相对应的视频文件。
14.根据权利要求13所述的视频文件制作装置,其特征在于,包括:
判断单元,用于判断所述自定义动画文件中的所有动画帧的像素信息是否都被写入对应的图像文件中;
若否,则进入所述像素信息读取单元和所述像素信息写入图像单元,直至所述自定义动画文件中的所有动画帧的像素信息都被写入对应的图像文件中;
若是,则进入所述视频文件生成单元。
15.根据权利要求13所述的视频文件制作装置,其特征在于,所述视频文件生成单元,包括:
图像文件获取子单元,用于获取所述自定义动画文件中所有的动画帧对应的图像文件;
图像文件拼接子单元,用于利用现有的编码技术并结合所述动画帧对应的图像文件的生成时间次序,将所述图像文件拼接为视频文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410645440.2A CN105657574B (zh) | 2014-11-12 | 2014-11-12 | 一种视频文件制作方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410645440.2A CN105657574B (zh) | 2014-11-12 | 2014-11-12 | 一种视频文件制作方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105657574A true CN105657574A (zh) | 2016-06-08 |
CN105657574B CN105657574B (zh) | 2019-01-22 |
Family
ID=56479711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410645440.2A Active CN105657574B (zh) | 2014-11-12 | 2014-11-12 | 一种视频文件制作方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105657574B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294612A (zh) * | 2016-08-01 | 2017-01-04 | 厦门幻世网络科技有限公司 | 一种信息处理方法和设备 |
CN107403460A (zh) * | 2017-07-11 | 2017-11-28 | 北京潘达互娱科技有限公司 | 动画生成方法及装置 |
CN108495174A (zh) * | 2018-04-09 | 2018-09-04 | 深圳格莱珉文化传播有限公司 | 一种h5页面效果生成视频文件的方法及系统 |
CN109389661A (zh) * | 2017-08-04 | 2019-02-26 | 阿里健康信息技术有限公司 | 一种动画文件转化方法及装置 |
CN109658485A (zh) * | 2018-11-21 | 2019-04-19 | 平安科技(深圳)有限公司 | 网页动画绘制方法、装置、计算机设备和存储介质 |
WO2019214615A1 (zh) * | 2018-05-09 | 2019-11-14 | 鸿合科技股份有限公司 | 帧动画实现方法、装置、电子设备及计算机可读存储介质 |
CN110636382A (zh) * | 2019-09-17 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 在视频中添加可视对象的方法、装置、电子设备及存储介质 |
CN110662105A (zh) * | 2019-10-16 | 2020-01-07 | 广州华多网络科技有限公司 | 动画文件的生成方法、装置及存储介质 |
CN110727825A (zh) * | 2019-09-20 | 2020-01-24 | 彩讯科技股份有限公司 | 动画播放的控制方法、装置、服务器和存储介质 |
CN111193878A (zh) * | 2020-01-03 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 一种多媒体文本信息处理方法、装置、介质和电子设备 |
CN111488102A (zh) * | 2020-04-13 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 图形动画的模块化编辑方法、终端、服务器及系统 |
CN112073794A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机可读存储介质和计算机设备 |
CN112153418A (zh) * | 2019-06-26 | 2020-12-29 | 阿里巴巴集团控股有限公司 | 流媒体生成方法、装置、终端及服务器 |
CN112308947A (zh) * | 2019-07-25 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种动画的生成方法、装置及存储介质 |
CN112418902A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于网页的多媒体合成方法和系统 |
CN112689197A (zh) * | 2019-10-18 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种文件格式转换方法、装置、以及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266693A (zh) * | 2008-03-31 | 2008-09-17 | 康佳集团股份有限公司 | 一种动态控制动画运行过程的方法 |
US20090196520A1 (en) * | 2008-02-01 | 2009-08-06 | Devoy James M | System and method for generating an image enhanced product |
CN102447839A (zh) * | 2011-08-26 | 2012-05-09 | 深圳市万兴软件有限公司 | 一种基于Quartz Composer的视频制作方法及装置 |
CN102866886A (zh) * | 2012-09-04 | 2013-01-09 | 北京航空航天大学 | 一种基于Web的算法动画可视化开发系统 |
CN104079652A (zh) * | 2014-06-30 | 2014-10-01 | 广州视源电子科技股份有限公司 | 一种html广告文件的制作和播放方法 |
CN104123742A (zh) * | 2014-07-21 | 2014-10-29 | 徐才 | 一种将静态漫画图片转化为二维动画的方法和播放器 |
-
2014
- 2014-11-12 CN CN201410645440.2A patent/CN105657574B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090196520A1 (en) * | 2008-02-01 | 2009-08-06 | Devoy James M | System and method for generating an image enhanced product |
CN101266693A (zh) * | 2008-03-31 | 2008-09-17 | 康佳集团股份有限公司 | 一种动态控制动画运行过程的方法 |
CN102447839A (zh) * | 2011-08-26 | 2012-05-09 | 深圳市万兴软件有限公司 | 一种基于Quartz Composer的视频制作方法及装置 |
CN102866886A (zh) * | 2012-09-04 | 2013-01-09 | 北京航空航天大学 | 一种基于Web的算法动画可视化开发系统 |
CN104079652A (zh) * | 2014-06-30 | 2014-10-01 | 广州视源电子科技股份有限公司 | 一种html广告文件的制作和播放方法 |
CN104123742A (zh) * | 2014-07-21 | 2014-10-29 | 徐才 | 一种将静态漫画图片转化为二维动画的方法和播放器 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294612A (zh) * | 2016-08-01 | 2017-01-04 | 厦门幻世网络科技有限公司 | 一种信息处理方法和设备 |
CN107403460A (zh) * | 2017-07-11 | 2017-11-28 | 北京潘达互娱科技有限公司 | 动画生成方法及装置 |
CN109389661A (zh) * | 2017-08-04 | 2019-02-26 | 阿里健康信息技术有限公司 | 一种动画文件转化方法及装置 |
CN109389661B (zh) * | 2017-08-04 | 2024-03-01 | 阿里健康信息技术有限公司 | 一种动画文件转化方法及装置 |
CN108495174A (zh) * | 2018-04-09 | 2018-09-04 | 深圳格莱珉文化传播有限公司 | 一种h5页面效果生成视频文件的方法及系统 |
WO2019214615A1 (zh) * | 2018-05-09 | 2019-11-14 | 鸿合科技股份有限公司 | 帧动画实现方法、装置、电子设备及计算机可读存储介质 |
CN110473275A (zh) * | 2018-05-09 | 2019-11-19 | 鸿合科技股份有限公司 | 一种安卓系统下的帧动画实现方法、装置、电子设备 |
CN109658485A (zh) * | 2018-11-21 | 2019-04-19 | 平安科技(深圳)有限公司 | 网页动画绘制方法、装置、计算机设备和存储介质 |
CN109658485B (zh) * | 2018-11-21 | 2024-05-28 | 平安科技(深圳)有限公司 | 网页动画绘制方法、装置、计算机设备和存储介质 |
CN112073794A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机可读存储介质和计算机设备 |
CN112153418A (zh) * | 2019-06-26 | 2020-12-29 | 阿里巴巴集团控股有限公司 | 流媒体生成方法、装置、终端及服务器 |
CN112308947B (zh) * | 2019-07-25 | 2024-09-24 | 腾讯科技(深圳)有限公司 | 一种动画的生成方法、装置及存储介质 |
CN112308947A (zh) * | 2019-07-25 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种动画的生成方法、装置及存储介质 |
CN110636382A (zh) * | 2019-09-17 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 在视频中添加可视对象的方法、装置、电子设备及存储介质 |
CN110727825A (zh) * | 2019-09-20 | 2020-01-24 | 彩讯科技股份有限公司 | 动画播放的控制方法、装置、服务器和存储介质 |
CN110662105A (zh) * | 2019-10-16 | 2020-01-07 | 广州华多网络科技有限公司 | 动画文件的生成方法、装置及存储介质 |
CN112689197A (zh) * | 2019-10-18 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种文件格式转换方法、装置、以及计算机存储介质 |
CN111193878A (zh) * | 2020-01-03 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 一种多媒体文本信息处理方法、装置、介质和电子设备 |
CN111193878B (zh) * | 2020-01-03 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 一种多媒体文本信息处理方法、装置、介质和电子设备 |
CN111488102A (zh) * | 2020-04-13 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 图形动画的模块化编辑方法、终端、服务器及系统 |
CN112418902A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于网页的多媒体合成方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105657574B (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105657574A (zh) | 一种视频文件制作方法以及装置 | |
CN102576561B (zh) | 用于编辑的装置和方法 | |
US9773336B2 (en) | Controlling the structure of animated documents | |
CN102833490A (zh) | 一种互动视频的编辑播放方法、系统及电子学习设备 | |
CN112184856A (zh) | 支持多图层特效及动画混合的多媒体处理装置 | |
CN104994425A (zh) | 一种视频标识方法和装置 | |
CN103020237B (zh) | 一种网页更新方法和装置 | |
CN105376612A (zh) | 一种视频播放方法、媒体设备、播放设备以及多媒体系统 | |
CN104461484A (zh) | 前端模板的实现方法和装置 | |
RU2011118876A (ru) | Устройство воспроизведения, способ воспроизведения и программа для стереоскопического воспроизведения | |
CN102681841A (zh) | 一种手机应用开发方法和系统 | |
CN102662921B (zh) | 一种文档处理方法、装置和编辑器 | |
CN102654833A (zh) | 一种手机应用开发方法和系统 | |
CN102831111A (zh) | 一种图片显示方法和装置 | |
CN105407384A (zh) | 一种利用二维码标识媒体播放内容的方法、装置及系统 | |
CN103686454A (zh) | 一种信息获取方法和装置 | |
CN102420855B (zh) | Led终端显示播放方法、系统及服务器 | |
CN109242934A (zh) | 一种动画代码的生成方法及设备 | |
CN104079652A (zh) | 一种html广告文件的制作和播放方法 | |
CN107610207A (zh) | 一种生成gif图片的方法、装置及系统 | |
CN108495174B (zh) | 一种h5页面效果生成视频文件的方法及系统 | |
CN110727825A (zh) | 动画播放的控制方法、装置、服务器和存储介质 | |
CN102074221A (zh) | 一种字符显示方法及装置 | |
CN110211484A (zh) | 一种电子价签显示方法、系统及服务器和存储介质 | |
CN104751870A (zh) | 一种信息处理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |