著录项信息
专利名称 | 在线网络flash前端录制视频的方法及flash前端 |
申请号 | CN201110117165.3 | 申请日期 | 2011-05-06 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-11-07 | 公开/公告号 | CN102768841A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G11B20/12 | IPC分类号 | G;1;1;B;2;0;/;1;2查看分类表>
|
申请人 | 腾讯科技(北京)有限公司 | 申请人地址 | 北京市海淀区海淀大街38号银科大厦16层1601-1608室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(北京)有限公司 | 当前权利人 | 腾讯科技(北京)有限公司 |
发明人 | 祁特;董霙;黄珊 |
代理机构 | 北京派特恩知识产权代理有限公司 | 代理人 | 王黎延;周义刚 |
摘要
本发明公开了一种在线网络flash前端录制视频的方法,包括:在线网络flash前端采集视频数据和音频数据;在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据;在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。本发明还相应地公开了一种flash前端。本发明可以使得在线网络flash录制视频更加简单,摆脱服务器端软件的支持,完全由在线网络flash前端实现视频录制功能,从而节省服务器成本,降低综合运营成本;并且,在线网络flash前端可以在完成一段视频的录制后,再将录制的视频传递给后台服务器,所以占用带宽较少,能够提高系统性能。
1.一种闪光flash前端录制视频的方法,其特征在于,该方法包括:
在线网络flash前端采集视频数据和音频数据;所述在线网络flash前端有flashplayer播放器运行;
在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据;
在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。
2.根据权利要求1所述的方法,其特征在于,所述在线网络flash前端采集视频数据为:根据固定采样率截取摄像头截图,所述摄像头截图以二进制位图数据bitmapdata对象的形式保存在在线网络flash前端内存对象中;
所述在线网络flash前端采集音频数据为:调用麦克风采集音频数据,采集的原始二进制音频数据以二进制数据字节数组ByteArray对象的形式保存在在线网络flash前端内存对象中。
3.根据权利要求2所述的方法,其特征在于,所述在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据为:将所述ByteArray形式的音频数据换成标准的wav格式音频数据,再将所述wav音频数据转换成标准的MP3音频数据,所述MP3音频数据以ByteArray的形式保存在在线网络flash前端内存对象中。
4.根据权利要求3所述的方法,其特征在于,所述预设的编码格式为flash视频flv编码格式、或mp4编码格式、或wmv编码格式。
5.根据权利要求4所述的方法,其特征在于,所述在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照flv编码格式进行编码为:
创建flv文件标头header格式编码之后,写入上一个标签previousTag为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flv视频标签flvVideoTag中,之后写入previousTag为flvVideoTag字节长度,并且,将MP3音频数据写入对应flv文件结构的flv音频标签flvAudioTag中,之后写入previousTag为flvAudioTag字节长度。
6.根据权利要求1至5任一项所述的方法,其特征在于,在线网络flash前端获取视频文件后,该方法还包括:所述在线网络flash前端将所述视频文件传递给后台服务器。
7.一种flash前端,其特征在于,该flash前端有flashplayer播放器运行;包括:采集模块、第一编码模块和第二编码模块;其中,
所述采集模块,用于采集视频数据和音频数据;
所述第一编码模块,用于对所述采集模块采集的音频数据进行MP3编码,转换成MP3音频数据;
所述第二编码模块,用于将所述采集模块采集的视频数据和所述第一编码模块编码后的MP3音频数据按照预设的编码格式进行编码,获取视频文件。
8.根据权利要求7所述的flash前端,其特征在于,所述采集模块采集视频数据为:根据固定采样率截取摄像头截图,所述摄像头截图以bitmapdata对象的形式保存在在线网络flash前端内存对象中,
所述采集模块采集音频数据为:调用麦克风采集音频数据,采集的原始二进制音频数据以ByteArray对象的形式保存在flash前端内存对象中。
9.根据权利要求8所述的flash前端,其特征在于,所述第二编码模块将所述采集的视频数据和所述MP3音频数据按照预设编码格式进行编码为:
创建flv文件header格式编码之后,写入previousTag为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flvVideoTag中,之后写入previousTag为flvVideoTag字节长度,并且,将MP3音频数据写入对应flv文件结构的flvAudioTag中,之后写入previousTag为flvAudioTag字节长度。
10.根据权利要求7至9任一项所述的flash前端,其特征在于,该flash前端还包括发送模块,用于将所述第二编码模块编码获取的视频文件传递给后台服务器。
在线网络flash前端录制视频的方法及flash前端\n技术领域\n[0001] 本发明涉及在线网络视频录制技术,尤其涉及一种在线网络闪光(flash)前端录制视频的方法及flash前端。\n背景技术\n[0002] 在现代生活中,通过手机、相机、数码DV等拍摄视频是很普遍的事情,但在网络中,虽然用户对在线拍摄视频的需求也比较大,但是目前在线拍摄视频应用还不是很普遍,这是因为:flash前端采用现有支持flash在线录制视频的服务器端技术,如使用ADOBE公司的Flash Media Server(FMS)、基于JAVA语言编写的RED5开源流媒体服务器、多媒体服务端程序FOX SERVER、开源的RTMP协议流媒体服务器CrtmpServer录制视频时,在线网络flash前端仅负责采集音视频数据,其必须依赖后台服务器端软件支持,才能实现在线视频录制的功能,如果脱离服务器端程序的配合,在线flash前端将无法独立完成录制保存视频文件的功能。因此,现有技术涉及flash前端的人力程序员成本、开发时间成本、后台服务器的视频流媒体软件程序成本、带宽成本等多项开销,导致在线视频拍摄综合运营成本相对高昂。\n[0003] 另外,flash前端在拍摄视频过程中,需要以流媒体的形式将获取的视频数据传递给后台服务器,这样,当大量用户同时在线的情况下,会消耗大量服务器带宽,不利于提高系统性能。并且,现有技术的大型流媒体都需要专有协议来支持,从而应用范围较小,例如,adobe公司的FMS流媒体服务器,就需要专属的rtmp协议来支持流媒体服务。\n发明内容\n[0004] 有鉴于此,本发明的主要目的在于提供一种在线网络flash前端录制视频的方法及flash前端,能够节省综合运营成本,提高系统性能,且应用范围较大。\n[0005] 为达到上述目的,本发明的技术方案是这样实现的:\n[0006] 一种闪光flash前端录制视频的方法,包括:\n[0007] 在线网络flash前端采集视频数据和音频数据;\n[0008] 在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据;\n[0009] 在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。\n[0010] 所述在线网络flash前端采集视频数据为:根据固定采样率截取摄像头截图,所述摄像头截图以二进制位图数据bitmapdata对象的形式保存在在线网络flash前端内存对象中;\n[0011] 所述在线网络flash前端采集音频数据为:调用麦克风采集音频数据,采集的原始二进制音频数据以二进制数据字节数组ByteArray对象的形式保存在在线网络flash前端内存对象中。\n[0012] 所述在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据为:将所述ByteArray形式的音频数据换成标准的wav格式音频数据,再将所述wav音频数据转换成标准的MP3音频数据,所述MP3音频数据以ByteArray的形式保存在在线网络flash前端内存对象中。\n[0013] 所述预设的编码格式为flash视频flv编码格式、或mp4编码格式、或wmv编码格式。\n[0014] 所述在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照flv编码格式进行编码为:\n[0015] 创建flv文件标头header格式编码之后,写入上一个标签previousTag为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flv视频标签flvVideoTag中,之后写入previousTag为flvVideoTag字节长度,并且,将MP3音频数据写入对应flv文件结构的flv音频标签flvAudioTag中,之后写入previousTag为flvAudioTag字节长度。\n[0016] 在线网络flash前端获取视频文件后,该方法还包括:所述在线网络flash前端将所述视频文件传递给后台服务器。\n[0017] 一种flash前端,包括:采集模块、第一编码模块和第二编码模块;其中,[0018] 所述采集模块,用于采集视频数据和音频数据;\n[0019] 所述第一编码模块,用于对所述采集模块采集的音频数据进行MP3编码,转换成MP3音频数据;\n[0020] 所述第二编码模块,用于将所述采集模块采集的视频数据和所述第一编码模块编码后的MP3音频数据按照预设的编码格式进行编码,获取视频文件。\n[0021] 所述采集模块采集视频数据为:根据固定采样率截取摄像头截图,所述摄像头截图以bitmapdata对象的形式保存在在线网络flash前端内存对象中,\n[0022] 所述采集模块采集音频数据为:调用麦克风采集音频数据,采集的原始二进制音频数据以ByteArray对象的形式保存在flash前端内存对象中。\n[0023] 所述第二编码模块将所述采集的视频数据和所述MP3音频数据按照预设编码格式进行编码为:\n[0024] 创建flv文件header格式编码之后,写入previousTag为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flvVideoTag中,之后写入previousTag为flvVideoTag字节长度,并且,将MP3音频数据写入对应flv文件结构的flvAudioTag中,之后写入previousTag为flvAudioTag字节长度。\n[0025] 该flash前端还包括发送模块,用于将所述第二编码模块编码获取的视频文件传递给后台服务器。\n[0026] 本发明在线网络flash前端录制视频的方法及flash前端,在线网络flash前端采集视频数据和音频数据,并对采集的音频数据进行MP3编码,转换成MP3音频数据,之后,将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。本发明可以使得在线网络flash前端录制视频更加简单,摆脱服务器端软件的支持,完全由在线网络flash前端实现视频录制功能,从而节省服务器成本,降低综合运营成本;并且,在线网络flash前端可以在完成一段视频的录制后,再将录制的视频传递给后台服务器,以减少带宽占用,能够提高系统性能;并且,在任何http协议环境下都可应用本发明,而http协议是网络的基础协议之一,任何能浏览网页的浏览器都支持此协议,从而本发明应用范围更加广泛。\n附图说明\n[0027] 图1为本发明在线网络flash前端录制视频的方法流程示意图;\n[0028] 图2为本发明flash前端的结构示意图。\n具体实施方式\n[0029] 本发明的基本思想是:在线网络flash前端采集视频数据和音频数据,并对采集的音频数据进行MP3编码,转换成MP3音频数据,之后,将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。\n[0030] 图1为本发明在线网络flash前端录制视频的方法流程示意图,如图1所示,该方法包括:\n[0031] 步骤101:在线网络flash前端采集视频数据和音频数据。\n[0032] 这里,采集视频数据和音频数据是同时进行的,在线网络flash前端同时采集摄像头视频数据以及采集麦克风音频数据,并将采集到的视频数据和音频数据存储到在线网络flash前端内存对象中。\n[0033] 具体的,在线网络flash前端调用电脑外部设备摄像头采集摄像头视频数据时,根据设定的固定采样率截取摄像头截图,例如,通过在线网络flash前端提供的应用程序编程接口(Application Programming Interface,API)设定固定采样率为每秒15帧截图,则在线网络flash前端每秒截取15张摄像头截图,摄像头截图以bitmapdata对象的形式保存在在线网络flash前端内存对象中,如果要录制20秒视频,那么,程序就需要截取300张视频截图,每张截图都以bitmapdata对象的形式保存在flash前端内存对象中。需要说明的是,在线网络flash前端录制视频的长度也一般为预先设置的值。\n[0034] 在采集摄像头视频数据的同时,在线网络flash前端也需调用电脑外部设备麦克风采集音频数据,采集的原始的二进制音频数据以二进制数据字节数组(ByteArray)对象的形式保存在在线网络flash前端内存对象中。\n[0035] 需要说明的是,bitmapData是flash功能内部提供的程序函数,是对位图操作对象的数据(像素),ByteArray类提供用于优化读取、写入以及处理二进制数据的方法和属性,利用ByteArray可以将flash中位图数据转换成二进制数据。\n[0036] 步骤102:在线网络flash前端对采集的音频数据进行MP3编码,转换成MP3音频数据。\n[0037] 这里,在线网络flash前端需要将采集到的音频数据进行MP3文件格式编码,编码成MP3格式的二进制数据流后,再存储到flash前端内存对象中。将ByteArray形式的音频数据转换成标准的MP3音频数据时,可以先将ByteArray形式的音频数据换成标准的wav格式音频数据,再将所述wav音频数据转换成标准的MP3音频数据,MP3音频数据也是以ByteArray的形式保存在在线网络flash前端内存对象中。\n[0038] 步骤103:在线网络flash前端将所述采集的视频数据和所述MP3音频数据按照预设的编码格式进行编码,获取视频文件。\n[0039] 优选的,可以将二进制的视频数据和MP3音频数据依照flash视频(flash video,flv)编码格式进行编码,保存输出flv视频文件,具体实施时,可以根据flv文件结构标准,创建flv文件标头(header)格式编码,接着写入上一个标签(previousTag)为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flvVideoTag中,接着写入previousTag为flv视频标签(flvVideoTag)字节长度;并且,同时将MP3音频数据写入对应flv文件结构的flv音频标签(flvAudioTag)中,接着写入previousTag为flvAudioTag字节长度。\n[0040] 依次对每张视频截图进行循环,构造flv文件格式编码,便可生成flv视频文件。\n可以看出,这里对输出的flv视频格式进行了改进,不是标准的flv格式,而是一个自定义的视频文件格式,这样有利于保护在线网络flash前端录制的视频文件不被盗用。\n[0041] 需要说明的是,在线网络flash前端还可以将采集的视频数据和MP3音频数据按照mp4、wmv等编码格式进行编码,获取视频文件,其中,wmv文件一般同时包含视频和音频部分。视频部分使用Windows Media Video编码,音频部分使用Windows Media Audio编码。\n[0042] 需要说明的是,如果后台服务器需要获取在线网络flash前端的视频,则在线网络flash前端可以直接将其拍摄存储的视频文件传递给后台服务器,从而在线网络flash前端在拍摄视频期间,不用一直保持与后台服务器之间的数据传输,从而能够节省服务器带宽,提高系统性能。\n[0043] 本发明还相应公开了一种flash前端,图2为本发明flash前端的结构示意图,如图2所示,该flash前端包括:采集模块21、第一编码模块22和第二编码模块23;其中,[0044] 采集模块21,用于采集视频数据和音频数据;\n[0045] 第一编码模块22,用于对采集模块21采集的音频数据进行MP3编码,转换成MP3音频数据;\n[0046] 第二编码模块23,用于将采集模块21采集的视频数据和第一编码模块22编码后的MP3音频数据按照预设的编码格式进行编码,获取视频文件。\n[0047] 采集模块21采集视频数据为:根据设定的固定采样率截取摄像头截图,所述摄像头截图以bitmapdata对象的形式保存在在线网络flash前端内存对象中,[0048] 采集模块21采集音频数据为:调用麦克风采集音频数据,采集的原始的二进制音频数据以ByteArray对象的形式保存在flash前端内存对象中。\n[0049] 第二编码模块23将所述采集的视频数据和所述MP3音频数据按照预设编码格式进行编码为:\n[0050] 创建flv文件header格式编码之后,写入previousTag为0长度,逐帧扫描已经保存在在线网络flash前端内存对象中的视频截图bitmapdata对象数据,将bitmapdata对象数据写入flv文件结构的flvVideoTag中,之后写入previousTag为flvVideoTag字节长度,并且,将MP3音频数据写入对应flv文件结构的flvAudioTag中,之后写入previousTag为flvAudioTag字节长度。\n[0051] 该flash前端还包括发送模块24,用于将第二编码模块23编码获取的视频文件传递给后台服务器。\n[0052] 可以看出,通过本发明提出的方案,不依赖任何服务器端技术,便能实现在线视频录制,并输出设定视频格式文件,并且,本发明不仅可以应用于在线网络flash前端,只要是有flashplayer播放器运行的电脑主机环境,就可以应用本发明(需要flashplayer10.1以上版本)。\n[0053] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
法律信息
- 2015-12-16
- 2013-10-23
实质审查的生效
IPC(主分类): G11B 20/12
专利申请号: 201110117165.3
申请日: 2011.05.06
- 2012-11-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-02-10
|
2008-08-08
| | |
2
| | 暂无 |
2006-12-04
| | |
3
| |
2006-08-02
|
2006-02-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |