一种视频文件转换为swf文件的方法及系统的制作方法

文档序号:7715314阅读:254来源:国知局
专利名称:一种视频文件转换为swf文件的方法及系统的制作方法
技术领域
本发明属于计算机应用领域,更具体地说,涉及一种视频文件转换为SWF 文件的方法及系统。
背景技术
当前在因特网上,通常说的Flash格式主体分为SWF(ShackWave File)文 件格式和FLV(Flash Video)视频格式。FLV视频格式相对于普通视频格式,是 一种支持在线播放的流媒体格式,SWF文件格式则是包容了 一些3见频如FLV、 脚本、图片、动画、声音等的可播放的媒体文件,它通过Adobe公司Flash Player 来播放执行。
近几年来,网络对Flash文件的需求一直都是上升势头,其中,Flash格式 (SWF文件和FLV视频)主导网络视频市场,份额高达81%,在国内,98% 的上网电脑安装了 Flash Player;才艮据艾瑞调查,2008年10月到2009年1月, 美国在线视频浏览总量由135亿增长到148亿,三个月增长了 10%。网络视频 的流行使得用户对Flash格式文件的热情居高不下,由于FLV文件仅仅是视频 文件,需要结合对应脚本的SWF文件才能在网络上进行播放,所以一直以来, 一部分用户就希望能把FLV文件直接转换成SWF文件,这样方便了文件管理, 也更方便文件共享。
目前,将FLV文件转换成SWF文件的方式主要有如下两种
1、以流的方式直接将FLV文件"缝合,,到SWF文件后面,FLV^L频内容 和SWF文件内容从逻辑上仍然是独立的,然后播放的时候再进行分别读取到 不同的地方再合起来插S文。
2、将视频格式完全解码,将每帧转换成一张张图片元素,然后再作为SWF 文件的一部分完全嵌入SWF文件。
第一种方法,以文件流的方式直接将FLV文件追加到SWF文件后面,
4因为该格式破坏了 Flash文件的标准格式,所以标准的Flash Player并不进行 支持,需要专门的播放器进行播放。
第二种方法中,在将一个视频转换成图片元素时,因为SWF文件的长度 不得超过16000帧,按照此前最普通一见频每秒至少播^t 15帧来计算,16000 帧至多包含1067秒的视频内容(16000+15-1067),也即至多包含18分钟的视 频内容(1067+60-18)。也就是说,如果按照传统的方法不加以处理, 一个普通 视频最多只能转换出18分钟的SWF文件。所以Flash单个SWF文件不得操
碍。
因此,需要一种视频格式转换为SWF文件格式的方案,不仅能不破坏Flash 文件的标准格式,还能突破SWF文件对视频长度的限制,来克服现有技术中 存在的上述缺陷。

发明内容
本发明所要解决的技术问题在于,针对现有视频格式转换为SWF文件格 式技术中存在的破坏Flash文件的标准格式的缺陷、SWF文件对视频文件的长 度有限制的缺陷,提供一种视频文件转换为SWF文件的方法及系统。
本发明解决其技术问题所采用的技术方案之一是提供一种视频文件转换 为SWF文件的方法,包括如下步骤
51) 提取源视频文件的相关参数值,并据此计算需要生成的主SWF文件相 关参数值;
52) 转换源视频文件为至少一个FLV文件;
53) 根据Sl计算出的主SWF文件相关参数值,生成至少一个子SWF文件, 将S2中的每个FLV文件分别嵌入到每个子SWF文件中;
54) 根据Sl计算出的主SWF文件相关参数值,生成一个主SWF文件,将 S3中的至少一个子SWF文件逐帧加入到主SWF文件中;
55) 加入播放规则到主SWF文件;
56) 保存输出主SWF文件。
本方案的关^:在于SWF文件一个独特的特征即SWF文件中允许在某
5个指定都位嵌入其它SWF文件,该特征一般被用来加入用户自定义广告和小 商标元素等。本方案将完美的利用这一特征,把FLV视频制作成能让主SWF 文件误认为是广告的子SWF文件,在互不干扰的嵌入主SWF文件后,再在 主SWF文件中通过脚本代码来控制这些小广告影片的播放及其屏幕效果,最 终实现FLV视频文件无畅的转换成可直接播放SWF文件的目标。
本发明所述的一种视频文件转换为SWF文件的方法,所述至少一个子 SWF文件的相关Wt值和所述主SWF文件的相关参数值要保持一致。
本发明所述的一种视频文件转换为SWF文件的方法,步骤S2包括
521) 将源视频完全解码,将视频转换为一张张连续的图片元素;
522) 4艮据单个SWF文件可操作图片数量的临界上P艮值,对已解码的连续 图片元素进行分组,连续的且数量在临界上限值之内的一組图片元素分为一 组,形成连续的至少一组图片元素;
S23)将每组图片元素转换成一个FLV文件,形成连续的至少一个FLV文件。
本发明所述的一种视频文件转换为SWF文件的方法,所述步骤S4进一 步包括从所述主SWF文件的第二帧开始,将步骤S3中生成的至少一个子 SWF文件依次逐帧力o入到所述主SWF文件中。
本发明所述的一种视频文件转换为SWF文件的方法,所述步骤S5进一 步包括根据嵌入的所述子SWF文件名称和位置添加脚本为播放规则,并将 其写入所述主SWF文件的第一帧位置。
本发明所述的一种^L频文件转换为SWF文件的方法,所述脚本用于控制 所述子SWF文件的播放顺序、进度条的拖动、声音的控制和实时调整所述子 SWF文件的屏幕效果。
本发明解决其技术问题所采用的技术方案之二是提供一种视频文件转换 为SWF文件的系统,包括
相关参数值产生模块用于提取源视频的相关参数值,并据此计算需要生 成的主SWF文件相关参数值;
FLV文件生成才莫块用于生成至少一个FLV文件;子SWF處件生成模块用于根据计算出的主SWF文件相关参数值,生 成至少一个子SWF文件,并将每个FLV文件分别嵌入到每个子SWF文件中;
主SWF文件生成模块用于根据计算出的主SWF文件相关^:值,生 成一个主SWF文件,将至少一个子SWF文件逐帧加入到主SWF文件中;
播放规则写入模块于写入播放规则的脚本。
本发明所述的一种视频文件转换为SWF文件的系统,子SWF文件生成 模块生成的至少一个子SWF的相关参数值和主SWF文件生成才莫块生成的主 SWF文件的相关参数值要保持一致。
本发明所述的一种视频文件转换为SWF文件的系统,FLV文件生成才莫块 包括
解码单元用于对视频文件完全解码,将视频转换为一张张图片元素; 分组单元用于根据单个SWF文件可操作图片数量的临界上限值,对已
解码的连续图片元素进行分组,将连续的且数量在临界上限值之内的一组图片
元素分为一组,形成连续的至少一组图片元素;
生成单元用于将每组图片元素转换成一个FLV文件,形成连续的至少
一个FLV文件。
本发明所述的一种视频文件转换为SWF文件的系统,主SWF文件生成 模块从主SWF文件的第二帧开始,将子SWF文件生成模块生成的至少一个 子SWF文件依次逐帧加入到主SWF文件中。
本发明所述的一种视频文件转换为SWF文件的系统,播放规则写入模块 根据嵌入的所述子SWF文件名称和位置添加脚本为播放规则,并将其写入所 述主SWF文件的第一帧位置。
本发明所述的一种视频文件转换为SWF文件的系统,播放规则写入模块 用于控制子SWF文件的播放顺序、进度条的拖动、声音的控制和实时调整所 述子SWF文件的屏幕效果。
实施本发明的技术方案,具有以下有益效果不破坏Flash文件的标准格 式,且不论任何长度的视频文件,生成的SWF文件都只有一个,突破了 SWF 文件对视频长度的限制。


图1是本发明一较佳实施例提供的一种视频文件转换为SWF文件方法的 流程图2是本发明一较佳实施例提供的源视频文件转换为至少一个FLV文件 的流程图3是本发明一较佳实施例提供的一种视频文件转换为SWF文件的系统 示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
本发明方案的关4建在于SWF文件一个独特的特征即SWF文件中允许 在某个指定部位嵌入其它SWF文件,该特征一般被用来加入用户自定义广告 和小商标元素等。本方案将完美的利用这一特征,把FLV视频制作成能让主 SWF文件误认为是广告的子SWF文件,在互不干扰的嵌入主SWF文件后, 再在主SWF文件中通过脚本代码来控制这些小广告影片的播放及其屏幕效 果,最终实现FLV视频文件无畅的转换成可直接播放SWF文件的目标。
图1是本发明一较佳实施例提供的一种视频文件转换为SWF文件方法的 流程图,如图1所示,详述如下
在步骤S1中,提取源视频文件的相关参数值,并据此计算需要生成的主 SWF文件相关参数值。
作为本发明的实施例,相关参数包括分辨率、帧率等,提取源这些相关 参数值作为需要生成的主SWF文件的相关参数值。
在步骤S2中,转换源视频文件为至少一个FLV文件。图2是本发明一较 佳实施例提供的源视频文件转换为至少一个FLV文件的流程图,如图2所示, 步骤S2又包括如下步骤
S21)将源视频完全解码,将视频转换为 一张张连续的图片元素;522) 根据单个SWF文件可操作图片数量的临界上限值,对已解码的连续 图片元素进行分组,连续的且数量在临界上限值之内的一组图片元素分为一 组,形成连续的至少一组图片元素;
523) 将每组图片元素转换成一个FLV文件,形成连续的至少一个FLV文件。
在本发明的实施例中,单个SWF文件可操作的图片元素的临界上限值为 16000。
在一个实施例中,可对已解码的连续图片元素进^f亍连续编号,然后才艮据编 号分组,每组的图片元素必须是连续的且数量可以相等也可以不相等,组与组 之间的图片元素必须是连续的,每组的图片元素数量必须在临界上限值16000 之内,如对图片元素编号为l、 2...160000、 16001、 16002...32000".,将编号 为1至16000的图片元素分为第一组,编号为16001至32000的图片元素为第 二组;或将编号为1至10000的图片元素为第一组,编号为10001至23587 的为第二组,编号为23588至31000为第三组,等等。
在另一个实施例中,也可对已解码的连续图片元素进^f亍连续循环编号,然 后根据编号分组。不管如何对图片元素编号,每组的图片元素必须是连续的且 数量可以相等也可以不相等,组与组之间的图片元素必须是连续的,每组的图 片元素数量必须在临界上限值16000之内。
在步骤S3中,根据Sl计算出的主SWF文件相关参数值,生成至少一个 子SWF文件,将S2中的每个FLV文件分别嵌入到每个子SWF文件中。
作为本发明的实施例,生成的每个子SWF文件的相关参数值必须和主 SWF文件相关参数值保持一致。
在步骤S4中,根据Sl计算出的主SWF文件相关参数值,生成一个主SWF 文件,将S3中的至少一个子SWF文件逐帧加入到主SWF文件中。
在本发明的实施例中,从主SWF文件的第二帧开始,将步骤S3中生成 的至少一个子SWF文件依次逐帧加入到所述主SWF文件中,必须确保每个 子SWF文件彼此不处在主SWF文件的同一帧上,不会互相产生干扰。
在步骤S5中,加入播放失见则到主SWF文件。
9在本发明的实施例中,S5^进一步包括根据嵌入的所述子SWF文件名称 和位置添加脚本为l番放规则,并将其写入所述主SWF文件的第一帧位置;脚 本用于控制子SWF文件的播放顺序、进度条的拖动、声音的控制和实时调整 所述子SWF文件的屏幕效果,让用户感受为无损体验。
步骤S6为保存输出主SWF文件。
图3是本发明一较佳实施例提供的一种视频文件转换为SWF文件的系统 示意图,如图3所示,包括相关参数值产生模块31、 FLV文件生成模块32、 子SWF文件生成模块33、主SWF文件生成才莫块34和播放规则写入模块35。 而FLV文件生成模块32又进一步包括解码单元321、分组单元322和生成 单元323。
相关参数值产生模块31提取源视频的相关参数值,并据此计算需要生成 的主SWF文件相关参数值;FLV文件生成模块32将源视频文件转换成至少一 个FLV文件;子SWF文件生成模块33用于根据计算出的主SWF文件相关参 数值,生成至少一个子SWF文件,并将每个FLV文件分别嵌入到每个子SWF 文件中;主SWF文件生成模块34根据计算出的主SWF文件相关参数值,生 成一个主SWF文件,将至少一个子SWF文件逐帧加入到主SWF文件中;播 放规则写入模块35用于写入播放规则的脚本。
作为本发明的实施例,相关参数值产生模块31提取并计算的参数包括分 辨率、帧率等。
作为本发明的实施例,FLV文件生成模块32将源视频文件转换成至少一 个FLV文件的过程具体为解码单元321用于对视频文件完全解码,将视频 转换为一张张图片元素,分组单元322根据单个SWF文件可操作图片数量的 临界上限值,对已解码的连续图片元素进行分组,将连续的且数量在临界上限 值之内的一组图片元素分为一组,形成连续的至少一组图片元素,生成单元 323将每组图片元素转换成一个FLV文件,形成连续的至少一个FLV文件。
作为本发明实施例,子SWF文件生成才莫块32生成的至少一个SWF文件 的相关参数值必须和相关参数值计算模块31计算出的主SWF文件的相关参数 值保持一致。作为本发明的实施例,主SWB文件生成模块34从主SWF文件的第二帧 开始,将子SWF文件生成模块33生成的至少一个子SWF文件依次逐帧加入 到主SWF文件中,确保每个子SWF文件;波此不处在主SWF文件的同一帧上, 不会互相产生干扰。
作为本发明的实施例,播放规则写入模块35根据嵌入的子SWF文件名称 和位置添加脚本为播放规则,并将其写入所述主SWF文件的第一帧位置;脚 本用于控制子SWF文件的I番放顺序、进度条的拖动、声音的控制和实时调整 所述子SWF文件的屏幕效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等肉替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种视频文件转换为SWF文件的方法,其特征在于,包括如下步骤S1)提取源视频文件的相关参数值,并据此计算需要生成的主SWF文件相关参数值;S2)转换源视频文件为至少一个FLV文件;S3)根据S1计算出的主SWF文件相关参数值,生成至少一个子SWF文件,将S2中的每个FLV文件分别嵌入到每个子SWF文件中;S4)根据S1计算出的主SWF文件相关参数值,生成一个主SWF文件,将S3中的至少一个子SWF文件逐帧加入到主SWF文件中;S5)加入播放规则到主SWF文件;S6)保存输出主SWF文件。
2、 如权利要求l所述方法,其特征在于,所述至少一个子SWF文件的相 关参数值和所述主SWF文件的相关l^:值要保持一致。
3、 如权利要求l所述方法,其特征在于,所述步骤S2包括S21) 将源视频完全解码,将视频转换为一张张连续的图片元素;S22) 根据单个SWF文件可操作图片数量的临界上限值,对已解码的连续 图片元素进行分组,连续的且数量在临界上限值之内的一组图片元素分为一 组,形成连续的至少一组图片元素;S23)将每组图片元素转换成一个FLV文件,形成连续的至少一个FLV文件。
4、 如权利要求l所述方法,其特征在于,所述步骤S4进一步包括从所 述主SWF文件的第二帧开始,将步骤S3中生成的至少一个子SWF文件依次 逐帧加入到所述主SWF文件中。
5、 如权利要求l所述方法,其特征在于,所述步骤S5进一步包括根据 嵌入的所述子SWF文件名称和位置添加脚本为播放规则,并将其写入所述主 SWF文件的第一帧位置。
6、 如权利要求5所述方法,其特征在于,所述脚本用于控制所述子SWF 文件的播放顺序、进度条的拖动、声音的控制和实时调整所述子SWF文件的 屏幕效果。
7、 一种视频文件转换为SWF文件的系统,其特征在于,包括 相关参数值产生模块用于提取源视频的相关参数值,并据此计算需要生成的主SWF文件相关参数值;FLV文件生成模块用于生成至少一个FLV文件;子SWF文件生成模块用于根据计算出的主SWF文件相关参数值,生成 至少一个子SWF文件,并将每个FLV文件分别嵌入到每个子SWF文件中;主SWF文件生成模块用于根据计算出的主SWF文件相关参数值,生成 一个主SWF文件,将至少 一个子SWF文件逐帧加入到主SWF文件中;播放规则写入模块用于写入播放规则的脚本。
8、 如权利要求7所述系统,其特征在于,FLV文件生成模块包括 解码单元用于对视频文件完全解码,将视频转换为一张张图片元素; 分组单元用于根据单个SWF文件可操作图片数量的临界上限值,对已解码的连续图片元素进行分组,将连续的且数量在临界上限值之内的一组图片 元素分为一组,形成连续的至少一组图片元素;生成单元用于将每组图片元素转换成一个FLV文件,形成连续的至少一 个FLV文件。
全文摘要
本发明涉及一种视频文件转换为SWF文件的方法,包括以下步骤提取源视频文件的相关参数值,并据此计算需要生成的主SWF文件相关参数值;转换源视频文件为至少一个FLV文件;根据计算出的主SWF文件相关参数值,生成至少一个子SWF文件,将个FLV文件分别嵌入到每个子SWF文件中;根据计算出的主SWF文件相关参数值,生成一个主SWF文件,将至少一个子SWF文件逐帧加入到主SWF文件中;加入播放规则到主SWF文件;保存输出主SWF文件。本发明还公开了使用上述方法的系统。利用本发明公开的方法和系统,不仅不破坏Flash文件的标准格式,且不论任何长度的视频文件,生成的SWF文件都只有一个,突破了SWF文件对视频长度的限制。
文档编号H04N5/262GK101646023SQ20091018985
公开日2010年2月10日 申请日期2009年9月2日 优先权日2009年9月2日
发明者宓 李, 亮 程, 荣 蒋 申请人:深圳市万兴软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1