写给即将寿终正寝的Flash,即html5 Flash解决方案
Adobe的Flash将于2020年12月31日正式终止。
Adobe公司最近宣布,将会正式宣布停止对Flash的支持,这也变相宣布了Flash的死亡,Flash Player将于2020年12月31日正式终止,Adobe可能也认为Flash带来的缺陷和问题远远超过了Flash带来的收益。
Flash Player将在2020年12月31日之后不会在收到任何更新或者安全补丁,Adobe官方表示,建议所有用户在Flash到期之前卸载Flash Player,Windows和Mac用户请参考官方卸载说明,Adobe官方将会在今年晚些时候提示用户卸载其计算机上的Flash Player,并在到期时候禁止基于Flash的内容在Adobe Flash Player中运行。
那么做为挣扎在市场低端的网建公司,之前那么多Flash特效咋办?我手上也有一个使用了大量Flash素材的项目,如果这样,问题确实很棘手。
在寻找方案的过程中,自己从以下几个方面尝试。
1、将Swf转为视频(MP4格式或者webm格式);
市场上90%转换工具,在swf有互动的情况下(比如响应鼠标执行动画),都报错;不过天无绝人之路,找到了swivel这个工具,转换几乎没出错,MP4,webm,以及带alpha通道透明的avi。
优点:相对简单方便,
缺点:
1)视频文件过大(MP4会很大,webm还稍好。)
2)透明度问题,
3)页面上同时多个视频是性能低下。
2、swf html5解析播放器;
查找了半天,找到了Mozilla HTML5 Flash播放器 Shumway(Github)。
优点:最简单,直接替换下地址就行
缺点:
1)使用了Mozilla HTML5 Flash播放器 Shumway,不支持透明度
2)使用iframe,不多几个文件还好,同页面大量swf的时候,强迫症慎入。
3)解析swf文件时偏慢,但是总归是能用的。
3、将swf转换为H5。
这个方案比较多,这里推荐使用腾讯的开源项目:fanvas(Dome1,Dome2,Dome3,Dome4)
优点:加载速度快,同时多个flash不存在卡顿情况。
缺点:
1)转换麻烦,成品工具只能单个转换,有批量转换接口以及swf接口(后面单独介绍)。
2)转换后的swf,每个都要加载播放数据,单独播放。
福利时间:
1、swf转MP4工具,Swivel1.11版:https://share.weiyun.com/rEP4ghxK
2、Mozilla HTML5 Flash播放器 Shumway整理版:https://share.weiyun.com/rEP4ghxK
用法:
<iframe src="swfPlayer/viewer.html?swf=flash文件地址" width="500" height="500" frameborder="0" allowtransparency="true"></iframe>
3、Fanvas打包下载:https://share.weiyun.com/UrkHby3b,至于Fanvas的使用单独写文章介绍。