目前flash player 9+的普及率已经超过了94%,10也接近40%,所以我们这里讨论的flash对视频格式的支持情况也是针对flash 9+的。
目前flash(9.0.115.0 +) 支持的视频编解码格式有:H.264, Sorenson H.263, 屏幕视频(仅限 SWF 版本 7 和更高版本), VP6(仅限 SWF 版本 8 和更高版本), 带有 Alpha 通道的 VP6 视频(仅限 SWF 版本 8 和更高版本)。
其中H.264编码即为高清视频的编码格式,通常mpeg-4,f4v,mp4,m4v,3gpp等文件采用此编码格式,而flv支持H.263和vp6编码,h.263清晰度不高,vp6是一个很强大的编码方式,支持LT,SD,HD,具体见Adobe官方网站 ,不过这种编码方式得到的高清视频虽然也不错,但是比起H.264还是有一点差距。flash内部为所有flv文件支持的编码格式提供了统一的播放方式,但是flv文件编码不严格,文件格式简单,操作文件流比较容易,而且头部较小,在网上播放时候有启动较快的优势。
mp4不是Adobe的标准,只是flash支持H.264的解码,f4v 是 flash自己的文件格式,采用H.264编码,效果较好,但是由于文件格式的差别,在播放方式上面也有一点差别。mp4文件是分块的,格式比较复杂,服 务器端要处理的话难度较大,资源消耗也较高,而且mp4文件头部很大(大小和时间相关,100分钟mp4文件可能有几兆),如果采用和flv文件相同的方 式直接截断头部和后面数据拼上的话会显得头部太大,在网上播放会造成启动慢的问题,而且mp4中是数据块是存在索引的,直接拼上也不一定能够播放。