关于网上播放.flv 的问题
一个.wmv的视频要放到网上,一看居然是 110M,这放到网上怎么能观呢。就想到把wmv转换成.flv格式,然后做一个视频播放器放到上面。
转换成.flv格式的文件只有30多M,在播放中也算是比较流畅。
一,首先用视频转化工厂,将wmv转换成.flv格式。
二,可以直接用DW生成代码,我这里有生成的现成代码如下:
<script type="text/javascript">
function MM_CheckFlashVersion(reqVerStr,msg){
with(navigator){
var isIE = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
if (!isIE || !isWin){
var flashVer = -1;
if (plugins && plugins.length > 0){
var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
if (desc == "") flashVer = -1;
else{
var descArr = desc.split(" ");
var tempArrMajor = descArr[2].split(".");
var verMajor = tempArrMajor[0];
var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
flashVer = parseFloat(verMajor + "." + verMinor);
}
}
// WebTV has Flash Player 4 or lower -- too low for video
else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;
var verArr = reqVerStr.split(",");
var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
if (flashVer < reqVer){
if (confirm(msg))
window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";}
}} }
</script>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<table width="160" align="center">
<tr>
<td><script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0','width','350','height','350','id','FLVPlayer','src','FLVPlayer_Progressive','flashvars','&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=%E4%BC%81%E4%B8%9A%E5%AE%A3%E4%BC%A0%E7%89%87%E7%BD%91%E7%BB%9C%E7%89%88&autoPlay=true&autoRewind=true','quality','high','scale','noscale','name','FLVPlayer','salign','lt','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','FLVPlayer_Progressive' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="372" height="313" id="FLVPlayer">
<param name="movie" value="FLVPlayer_Progressive.swf" />
<param name="salign" value="lt" />
<param name="quality" value="high" />
<param name="scale" value="noscale" />
<param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=%E4%BC%81%E4%B8%9A%E5%AE%A3%E4%BC%A0%E7%89%87%E7%BD%91%E7%BB%9C%E7%89%88&autoPlay=true&autoRewind=true" />
<embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=%E4%BC%81%E4%B8%9A%E5%AE%A3%E4%BC%A0%E7%89%87%E7%BD%91%E7%BB%9C%E7%89%88&autoPlay=true&autoRewind=true" quality="high" scale="noscale" width="372" height="313" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" />
</object></noscript></td>
</tr>
</table>
比较习惯于用这种方法,用这种方法之前,前提是要将视频源件通过“格式工厂”转化成flv文件,用这种方法可以生成FLV的网上视频格式的代码,大大体积化了视频文件大小,而且播放也很清楚!会默认成生几个皮肤文件,可以去网上找更好看的皮肤,比如ku6,youku等,一般都用DW所默认的几种就足够了。直接用dw来编辑,head之间的代码全部都是自己生成,或者可以将这些代码复制过去!用做程序编辑。
服务器不能播放Flv文件解决方案
在本地测试正常,但是传到服务器上就是播放不了。
1,首先检查网页中flv相关文件上传是否缺失,因为在网页中播放视频文件时DW会自动生成多个SWF文件以及SCRIPT文件夹下的JS文件,所以我们必须要确保这些文件的全部上传,以及相关路径的正确性。
2,其次在确认了所有文件的正确上传之后,flv视频仍然不能播放,鉴于2003系统没有定义flv这种mime-type类型,ADOBE官方也给出了相应解决方案。
(1)在2003服务器上,找开IIS管理器
(2)展开本地服务器名称,右击选择属性,在Internet信息服务标签上,点击HTTP头最下方的计算机MIME映射下面的编辑按钮。
(3)点击“新类型按钮,扩展名添上.flv”,内容类型(MIME)添上“flv-application/octet-stream”
(4)点击确定
(5)重新启动 www 服务。