一种视频的录制/播放方法及录制/播放装置.pdf

上传人:1*** 文档编号:4283129 上传时间:2018-09-13 格式:PDF 页数:13 大小:1.11MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310507814.X

申请日:

2013.10.24

公开号:

CN104581353A

公开日:

2015.04.29

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04N 21/433申请日:20131024|||公开

IPC分类号:

H04N21/433(2011.01)I; H04N21/472(2011.01)I

主分类号:

H04N21/433

申请人:

深圳习习网络科技有限公司

发明人:

刘志俊

地址:

518131广东省深圳市宝安区龙华民治大道牛栏前大厦8楼

优先权:

专利代理机构:

深圳中一专利商标事务所44237

代理人:

张全文

PDF下载: PDF下载
内容摘要

本发明适用于视频领域,提供了一种视频的录制/播放方法及录制/播放装置,录制方法包括:将录制过程中的每一个操作以节点的形式添加到消息队列中;周期性的从所述消息队列中读取节点数据;将读取到的节点数据转换成相应的二进制数据流;将所述二进制数据流存储至录制文件中。本发明通过将每一个操作以节点的形式添加到消息队列,再将节点数据转换成相应的二进制数据流,可大大缩小录制文件的大小。

权利要求书

权利要求书1.  一种视频的录制方法,其特征在于,所述方法包括:将录制过程中的每一个操作以节点的形式添加到消息队列中;周期性的从所述消息队列中读取节点数据;将读取到的节点数据转换成相应的二进制数据流;将所述二进制数据流存储至录制文件中。2.  如权利要求1所述的方法,其特征在于,所述将读取到的节点数据转换成相应的二进制数据流的步骤之后还包括以下步骤:将转换的二进制数据流存储到缓冲内存中;所述将所述二进制数据流存储至录制文件中的步骤之后还包括:周期性的清除缓冲内存中所存储的二进制数据流。3.  如权利要求1或2所述的方法,其特征在于,所述周期性的从所述消息队列中读取节点数据的步骤之后还包括以下步骤:将读取到的节点数据存储到缓冲内存中;当读取到的节点数据所占用的内存大小超过预先设置的阈值时,则清除缓冲内存中所存储的节点数据。4.  如权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:预先设置录制文件的格式。5.  如权利要求1所述的方法,其特征在于,所述将所述二进制数据流存储至录制文件中的步骤之后还包括以下步骤:将所述录制文件进行压缩。6.  一种视频的播放方法,其特征在于,所述方法包括:读取录制文件;将录制文件中的二进制数据流转换成相应的节点数据;将转换后的节点数据添加到消息队列中;从消息队列中读取节点数据;将节点数据以绘图方式绘制成相应操作;将绘制的操作显示出来。7.  一种视频的录制装置,其特征在于,所述装置包括:节点单元,用于在录制过程中将每一个操作以节点的形式添加到消息队列中;读取单元,用于周期性的从所述消息队列中读取节点数据;转换单元,用于将读取到的节点数据转换成相应的二进制数据流;存储单元,用于将所述二进制数据流存储至录制文件中。8.  如权利要求7所述的装置,其特征在于,所述装置还包括:第一缓冲单元,用于将转换的二进制数据流存储到缓冲内存中;第一清除单元,用于在所述存储单元将所述二进制数据流存储至录制文件中之后,周期性的清除缓冲内存中所存储的二进制数据流。9.  如权利要求7或8所述的装置,其特征在于,所述装置还包括:第二缓冲单元,用于将读取到的节点数据存储到缓冲内存中;第二清除单元,用于当读取到的节点数据所占用的内存大小超过预先设置的阈值时,则清除缓冲内存中所存储的节点数据。10.  一种操作轨迹的播放装置,其特征在于,所述装置包括:第一读取单元,用于读取录制文件;转换单元,用于将录制文件中的二进制数据流转换成相应的节点数据;添加单元,用于将转换后的节点数据添加到消息队列中;第二读取单元,用于从消息队列中读取节点数据;绘制单元,用于将节点数据以绘图方式绘制成相应操作;显示单元,用于将绘制的操作显示出来。

说明书

说明书一种视频的录制/播放方法及录制/播放装置
技术领域
本发明属于视频技术领域,尤其涉及一种视频的录制/播放方法及录制/播放装置。
背景技术
当今社会,网络的发展已普及到人们的生活中,移动互联网时代的来临,给人们的生活带来了很多便利。近几年电子书包、移动互联网教学在教育领域中也不断的被推广使用。由于在移动互联网中人们在移动数据流量上的花费越来越多,因此流量消耗成为了人们衡量是否选用一些应用软件的关键因素。
在移动互联网教学中关键的技术是视频的录制技术,现有的视频录制技术中,例如用户在画板上手写一个“一”字,则会将包含“一”字的画板作为整个图片提取存储起来,以供后续播放时调取使用,这种处理方式会使录制后的文件很大,会消耗很大流量,而且不便于在移动互联网上传输。
综上所述,现有的视频录制技术所录制的文件较大。
发明内容
本发明实施例的目的在于提供一种视频的录制方法,旨在解决现有的视频录制技术所录制的文件较大的问题。
本发明实施例是这样实现的,一种视频的录制方法,所述方法包括:
将录制过程中的每一个操作以节点的形式添加到消息队列中;
周期性的从所述消息队列中读取节点数据;
将读取到的节点数据转换成相应的二进制数据流;
将所述二进制数据流存储至录制文件中。
本发明实施例还提供了一种视频的播放方法,所述方法包括:
读取录制文件;
将录制文件中的二进制数据流转换成相应的节点数据;
将转换后的节点数据添加到消息队列中;
从消息队列中读取节点数据;
将节点数据以绘图方式绘制成相应操作;
将绘制的操作显示出来。
本发明实施例还提供了一种视频的录制装置,所述装置包括:
节点单元,用于在录制过程中将每一个操作以节点的形式添加到消息队列中;
读取单元,用于周期性的从所述消息队列中读取节点数据;
转换单元,用于将读取到的节点数据转换成相应的二进制数据流;
存储单元,用于将所述二进制数据流存储至录制文件中。
本发明实施例还提供了一种视频的播放装置,所述装置包括:
第一读取单元,用于读取录制文件;
转换单元,用于将录制文件中的二进制数据流转换成相应的节点数据;
添加单元,用于将转换后的节点数据添加到消息队列中;
第二读取单元,用于从消息队列中读取节点数据;
绘制单元,用于将节点数据以绘图方式绘制成相应操作;
显示单元,用于将绘制的操作显示出来。
本发明实施例与现有技术相比,有益效果在于:通过将每一个操作以节点的形式添加到消息队列,再将节点数据转换成相应的二进制数据流,可大大缩小录制文件的大小。
附图说明
图1是本发明实施例提供的视频的录制方法的流程图;
图2是本发明实施例提供的应用场景例示意图;
图3是本发明实施例提供的视频的播放方法的流程图;
图4是本发明实施例提供的另一个应用场景例示意图;
图5是本发明实施例提供的视频的录制装置的逻辑结构示意图;
图6是本发明实施例提供的视频的播放装置的逻辑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的实施方案如下:
请参阅图1,本发明实施例提供了一种视频的录制方法,其特征在于,所述方法包括:
101、将录制过程中的每一个操作以节点的形式添加到消息队列中。
在录制过程中,可按照时序进行添加。
其中,所述操作指在视频录制的过程中,用户在画板上进行写字、擦除所写字、插入图片及清屏等行为。当然还可以包括其他操作,在此不一一列举。
所述节点由输入输出和中间计算三部分构成。一般情况下,一个节点可通过一定途径取得数据作为自身计算的依据,然后在内部进行计算,最后将计算结果按要求输出。
比如,在画板上写一个“一”字,现有技术会则将包含“一”字的画板作为整个图片提取存储起来,以供后续播放时调取使用。而本发明在该步骤中则会将在画板上写的“一”以节点的形式添加到消息队列中,再经过后续步骤102到104的处理,就可以达到大大缩小录制文件的大小的目的。
该消息队列与后续播放中的消息队列不是同一个队列,但是二者类型一致。其中,消息队列具体可采用链表类型或索引类型的消息队列;优选索引类型的 消息队列,当采用索引类型的消息队列时,读取数据的效率会比较高。
请参阅图2,为了更好的解释所述操作,具体说明如下:
录制过程中的每一个操作是指从录制开始到录制结束之间的每一个操作。包括录制过程中使用每一个应用工具的所产生的操作。本发明实施例中所述应用工具包括画笔、插入图片及清屏;
以应用工具画笔为例,比如录制开始后,先点击“画笔”功能按钮以执行画笔的操作,然后依次手写“一个时代的代表”然后再点击了“停止录制”按钮,那么这个过程中从录制开始时到手写“一”之前的空闲状态视为操作;手写的每个字都视为操作,手写每个字之间的空闲状态也视为操作,手写的每个字本身笔画之间的空闲状态也视为操作,写完“表”之后到点击“停止录制”按钮之间的空闲状态也视为操作。
以应用工具插入图片为例,如图,先点击“插入图片”功能按钮以执行图片插入操作,然后从图片文件中调出家驹的图片,找好位置,调整好图片大小,放置家驹的图片,然后点击“停止录制”按钮,那么这个过程中将插入的图片的大小及图片的位置视为操作。
以应用工具清屏为例,如图,点击“清屏”功能按钮,便会实现清屏功能。这个过程中,将无实际内容视为操作。
在本发明实施例中,步骤101之前还包括以下步骤:预先设置所要录制的视频的宽、高及录制帧率。
当录制开始后,则将所要录制的视频的宽、高及录制帧率放入到预先创建的头文件中。
102、周期性的从所述消息队列中读取节点数据;
在本步骤中具体可每隔10~50ms读取一次节点数据。
更优选的可每隔20ms读取一次节点数据,这样不易漏读数据,还会使插入的音频与视频同步播放效果好。
103、将读取到的节点数据转换成相应的二进制数据流。
在本步骤中,可每隔一定的时间优选为100ms将时间戳加在相应的二进制数据流的后面,用于使插入的音频和视频同步。
104、将所述二进制数据流存储至录制文件中。
通过将每一个操作以节点的形式添加到消息队列,再将节点数据转换成相应的二进制数据流,可大大缩小录制文件的大小,甚至可缩小到现有技术所录制视频文件的1/10。
在本发明的实施例中,所述103将读取到的节点数据转换成相应的二进制数据流之后还包括以下步骤:
将转换的二进制数据流存储到缓冲内存中;
所述将所述二进制数据流存储至录制文件中的步骤之后还包括:
周期性的清除缓冲内存中所存储的二进制数据流。
具体可每隔5s清除一次数据。通过周期清除存储空间,不会导致录制程序的崩溃。若不及时清除还可能会导致丢失数据。
在本发明实施例中,所述102周期性的从所述消息队列中读取节点数据之后还包括以下步骤:
将读取到的节点数据存储到缓冲内存中;
当读取到的节点数据所占用的内存大小超过预先设置的阈值时,则清除缓冲内存中所存储的节点数据。
效果通过及时清除存储空间,不会导致录制程序的崩溃,若不及时清除还会导致丢失数据,因此还可有效防止数据溢出。
在本发明实施例中,所述方法还包括以下步骤:预先设置录制文件的格式。
参照表1至表3及示例对文件的格式说明如下:
表1头文件、

头文件示例:0000000000000000000000000000000001000002000001305258B6513F35F141050002F0FF FF FF FF00000000000000000000000000…
依次解释如下:其中00000000000000000000000000000000为文件头标;01000002为本件版本号,00000130为头部所占大小,固定值为304;305258B651为创建UTC格式时间;3F35F141为录制时长,单位是秒,精度是.3f,如219.123f;0500为视频宽;02F0为视频高;FF FF FF FF为画板的背景颜色;00000000为轨迹数据从文件头开始的偏移位置;000000为轨迹数据的长度;00000000为总的帧数;0000…为预留字段。
一、画笔(类型:0,长度8),格式如表2:
画笔节点包含了鼠标或手势是否处在空闲状态、画笔颜色、画笔粗细、样式(值可设为0)、坐标(X、Y)、预留字段,为了减少储存空间我们把空闲状态、颜色、粗细及样式放入一个字节即8个比特位,如00001011从右到左依次表示状态是按下(即正在画,占用1个比特位),画笔大小为5(规定值0=2,1=5,2=8,3=10,占用2个比特位),画笔颜色为红色(规定值0=黑,1=红,2=蓝,占用2个比特位),及鼠标样式为0(即画笔,0=画笔,4=橡皮擦,占用3个比特 位)。坐标x、y各占2个字节。
表2:

画笔示例:0000089900000001B009D
对示例按照先后顺序依次解释如下:00为协议类,0008为协议内容的长度;99为四个属性的集合;000000为预留字段01B为X坐标009D为Y坐标。
其中,协议类和协议内容长度组成了协议头,99为四个属性的集合,如01100011四个属性,其中011为鼠标样,00为画笔,01为画笔颜色,1为鼠标或手势状态。
二、橡皮擦
橡皮擦节点与画笔节点类似,区别在于画笔节点中的颜色对于橡皮擦节点无效,橡皮擦不读取颜色值;橡皮擦的样式值为4,画笔的样式值为0。其余轨迹都类似,在此不一一列举。三、清屏(类型:2,长度:0)
示例020000
对示例按照先后顺序依次解释如下:清屏操作相对比较简单,只记录了操作类,清屏操作的节点共占三个字节,一个节点类型02和节点长度0000(代表无实际内容)。
四、插入图片(类型3,长度:20),格式如表3。
其中,图片插入的节点包含了图片的尺寸、坐标、及图片名称,其中图片名称设为图片的CRC32值,这样可以避免图片重复插入。图片尺寸及坐标各占2个字节,剩下的12个字节中储存图片的CRC32值
表3、

示例:0300140000000061627364667361646673646605000244
对示例按照先后顺序依次解释如下:030014000000006162736466为图片名称;7361图片长度;6466图片宽度;7364为坐标X;6605为坐标Y;00为图片的类型;0244为图片的实际内容。
在录制过程中会将图片的源文件拷贝到photo目录下,然后图片名称重新命名为crc32值。其目的是为了在执行后续播放时,如下述播放中当执行到步骤从消息队列中读取节点数据时,当读到图片类型的节点数据时,则将节点数据以绘图方式绘制成相应操作及将绘制的操作显示出来的步骤具体为:获取这个节点数据所对应的图片名称;直接将图片源文件的二进制数据加入内存里,通过画布绘制显示出来。从而可避免图片重复插入。
在本发明实施例中,步骤104之后还包括以下步骤:
将所述录制文件进行压缩。
具体压缩方式可采用7z压缩算法压缩或采用rar压缩。
请参阅图3,本发明实施例还提供了一种操作轨迹的播放方法,所述方法包括:
201、读取录制文件。
202、将录制文件中的二进制数据流转换成相应的节点数据。
202、将转换后的节点数据添加到消息队列中。
该消息队列与录制中的消息队列不是同一个队列,但是二者类型一致。其中,消息队列具体可采用链表类型或索引类型的消息队列;优选索引类型的消息队列,当采用索引类型的消息队列时,读取数据的效率会比较高。
203、从消息队列中读取节点数据,将节点数据以绘图方式绘制成相应操作。
当从消息队列中读到插入图片应用工具中操作的节点数据时,所述将节点数据以绘图方式绘制成相应操作的动作的步骤具体为:获取这个节点数据所对应的图片的名称;直接将图片源文件的二进制数据加入内存里,通过画布绘制显示出来。当录制过程中使用插入图片应用工具时,会将图片的源文件拷贝到photo目录下,然后将图片名称重新命名为crc32值。
在本发明实施例中,可以采用path类还原画图应用工具的操作的路径,将节点数据连接起来,形成线,最后通过画布绘制呈现出来。
204、将绘制的操作显示出来。
示例效果如图4。
在本发明的实施例中,步骤204之前还包括以下步骤:
将绘制的操作存储到缓冲内存中;
按照预先设置的播放帧率从缓冲内存中读取绘制的操作。
请参阅图5,本发明实施例还提供了一种视频的录制装置,所述装置包括:
节点单元501,用于在录制过程中将每一个操作以节点的形式添加到消息队列中;
读取单元502,用于周期性的从所述消息队列中读取节点数据;
转换单元503,用于将读取到的节点数据转换成相应的二进制数据流;
存储单元504,用于将所述二进制数据流存储至录制文件中。
在本发明的一个实施例中,所述装置还包括:
第一缓冲单元,用于将转换的二进制数据流存储到缓冲内存中;
第一清除单元,用于在所述存储单元将所述二进制数据流存储至录制文件中之后,周期性的清除缓冲内存中所存储的二进制数据流。
在本发明的一个实施例中,所述装置还包括:
第二缓冲单元,用于将读取到的节点数据存储到缓冲内存中;
第二清除单元,用于当读取到的节点数据所占用的内存大小超过预先设置的阈值时,则清除缓冲内存中所存储的节点数据。
在本发明的一个实施例中,所述装置还包括:
设置单元,用于预先设置录制文件的格式。
在本发明的一个实施例中,所述装置还包括:
压缩单元,用于将所述录制文件进行压缩。
该录制装置中的细节方案描述已经在方法中进行了说明,在此不再赘述。
请参阅图6,本发明实施例还提供了一种操作轨迹的播放装置,所述装置包括:
第一读取单元601,用于读取录制文件;
转换单元602,用于将录制文件中的二进制数据流转换成相应的节点数据;
添加单元603,用于将转换后的节点数据添加到消息队列中;
第二读取单元604,用于从消息队列中读取节点数据;
绘制单元605,用于将节点数据以绘图方式绘制成相应操作;
显示单元606,用于将绘制的操作显示出来。
在本发明实施例中,所述播放装置还包括:
缓冲单元,用于将绘制的操作存储到缓冲内存中;
第三读取单元,用于按照预先设置的播放帧率从缓冲内存中读取绘制的操作。
细节方案已经在播放方法中说明,在此不再赘述。
本发明的视频的录制/播放方法及录制/播放装置,通过将每一个操作以节点的形式添加到消息队列,再将节点数据转换成相应的二进制数据流,可大大缩小录制文件的大小。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种视频的录制/播放方法及录制/播放装置.pdf_第1页
第1页 / 共13页
一种视频的录制/播放方法及录制/播放装置.pdf_第2页
第2页 / 共13页
一种视频的录制/播放方法及录制/播放装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种视频的录制/播放方法及录制/播放装置.pdf》由会员分享,可在线阅读,更多相关《一种视频的录制/播放方法及录制/播放装置.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明适用于视频领域,提供了一种视频的录制/播放方法及录制/播放装置,录制方法包括:将录制过程中的每一个操作以节点的形式添加到消息队列中;周期性的从所述消息队列中读取节点数据;将读取到的节点数据转换成相应的二进制数据流;将所述二进制数据流存储至录制文件中。本发明通过将每一个操作以节点的形式添加到消息队列,再将节点数据转换成相应的二进制数据流,可大大缩小录制文件的大小。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1