FLV视频播放的两个常见问题
作者:郭大春 转贴自:《中国教育信息化2006-17》05.08 点击数:63
Flash视频由于其较高的压缩率和优越的下载速度,前景普遍看好,同时也为Flash课件增色不少。然而,在FLV视频播放中,却有两个头痛的问题困扰着不少人——
一、FLV视频在IIS 6.0中不能调用问题
曾经做过一个Flash课件,其中调用了一段Flash视频,为了方便,就把这个FLV文件放在校园网的Web服务器上,通过Internet访问。可是过了一段时间之后,突然发现以前好好的课件,现在竟然出现运行故障,调不出Flash视频了!思前想后,莫非是IIS 6.0惹的祸——先前的Web服务器用Windows XP架设的,IIS版本是5.1;后来改装了Windows 2003,IIS版本是6.0。再用Ghost改回原来的XP系统,视频又播放正常了。索性再将FLV视频放到另一台Windows 2000 Web服务器上进行调用,也一切正常!
原来Microsoft 更改了在 Microsoft Internet 信息服务 (IIS) 6.0 Web 服务器中处理流媒体的方式,不再采用早期版本中的处理方式。早期版本的 IIS 不需要对 Flash 视频流做任何修改。在 Windows 2003 附带的默认 Web 服务器 IIS 6.0 中,服务器需要借助 MIME 类型来确认 FLV 文件为流媒体。
解决办法大致有三种:
1.修改服务器。既然Web服务器上没有FLV这一文件类型,那么我们就通过IIS进行添加:单击【开始】→【程序】→【管理工具】→【IIS管理器】,逐步展开“本地计算机”、“网站”,在你的网站上右击,选择【属性】,单击“HTTP头”选项卡→单击“MIME类型”按钮,再单击“新建”按钮,在“扩展名”框内输入“.flv”,“MIME类型”框中输入“flv-application/octet-stream”——是不是太长了?其实,“MIME类型”只是一个描述,输入什么都可以(如图1),然后确定即可。
(图1)
当然,这种方法只适合自己的主机,这样你才有更改IIS的机会。对于虚拟主机,虽然你不能为IIS添加MIME类型,却也不至于望IIS而兴叹,仍有下面两招瞒天过海术——
2.更改扩展名。既然FLV视频文件在IIS 6.0上不能被识别,那么我们就来个瞒天过海,将扩展名“flv”改为诸如swf、jpg、rar等等被IIS认为合法的文件类型。当然,Flash主文件中对FLV视频的调用也要相应地做些更改,比如“myMedia.setMedia(http://gbzx.008.net/swf/干杯朋友.FLV, FLV);”就要改为“myMedia.setMedia(http://gbzx.008.net/swf/干杯朋友.RAR, FLV);”等等。
3.借用主文档。一般情况下,Web服务器都启用了默认文档,比如index.htm、default.asp等等,这样,当访问某个Web文件夹时,IIS就会自动搜寻该目录下的默认文档。假如你的FLV文件是“干杯朋友.FLV”,在主文件中是这样调用的:“myMedia.setMedia(http://gbzx.008.net/swf/干杯朋友.FLV, FLV);”那么,你只需在虚拟主机上swf文件夹里再建一个名为“干杯朋友.FLV”的文件夹,再将“干杯朋友.FLV”文件改名为“index.htm”放到“干杯朋友.FLV”文件夹里。这样,对“http://gbzx.008.net/swf/干杯朋友.FLV”的访问就变成了对“http://gbzx.008.net/swf/干杯朋友.FLV/index.htm”的访问了!
总而言之,方法一从根本上修改,一劳永逸地让你的网站支持Flash视频流,但前提是你必须拥有对IIS的修改权;方法二通用性最强,因为不管什么样的网站,恐怕还没有不让上传JPG、RAR文件的;方法三的优点在于调用FLV视频的swf文件不用更改,但对每个视频却都要新建一个同名的文件夹,再将FLV视频放于其中并改名为网站的默认文档。
二、去掉Flash Player 8中烦人的安全设置窗口
Flash Player 8 最让人郁闷的就是那个新的安全机制。所有访问网络资源的SWF文件,如果本地打开(或通过网上邻居打开),都会无一幸免地弹出这个对话框而终止(如图2)。
(图2)
如何去掉这个讨厌的对话框呢?下面提供四招教你闯关——
第一招:“绕道法”。既然本地运行或通过网上邻居打开要遭遇红牌,那么我们就走第三条道路:将SWF文件也放在互联网上(或校园网上),以HTTP方式打开运行。
第二招:“特许令”。在弹出的对话框里按“设置”(也可在SWF播放器窗口内右击,再单击“设置”)打开“Macromedia Flash Player 设置管理器” 窗口,选中“始终允许”单选钮,并将swf文件所在的位置添加于下即可(如图3)。
(图3)
这种设置只对本机所设目录有效,换台电脑或者swf文件移动到另一文件夹,双击swf,又要再行设置。且那个“设置管理器”窗口打开的速度实在不敢恭维!
第三招:“护身符”。直接将swf文件发布为exe文件,让它带上播放器就如同戴上了护身符,从而回避了Flash Player 8的安全机制——因为Flash Player 8的安全机制只是针对swf文件的。
第四招:“终身制”。对于Flash 8,你还可以在“发布设置”里将“本地回放安全性”设为“只访问网络”(如图4),当然,这并不影响你的SWF文件对本地资源的访问。这样,你发布的swf文件不管何时何地以何种方式打开,都再也不会弹出那个安全设置窗口了。
(如图4)