1. ホーム
  2. Web制作
  3. HTML/Xhtml

フラッシュビデオフォーマット(flv、swf)ファイルをhtmlファイルに埋め込む方法

2022-01-10 16:26:24
フラッシュファイルの形式:.FLV、.SWF
フラッシュビデオフォーマットには、.flvと.swfという2つの拡張子があります。両者の違いは何でしょうか?
(1) .flvファイル(フラッシュビデオ)は、画像ベースのビデオストリームとオーディオです。ストリーミングサービスを運営しているのであれば、flvが良いだろう。上流の条件は、このファイルのどの部分にもクライアント端末がアクセスできることで、いつでもダウンロードできるように待機しているわけではない。それから、ストリーミングサービスの運営にはお金がかかります。
(2) .swfはMacromedia Flashのファイル形式でもあり、完全なビデオ・オーディオファイルであり、スクリプトなども備えている。これにより、HTTP(プログレッシブ)ダウンロードが容易になり、"擬似ランダムストリーミング"とも呼ばれます。 ファイルの一部がダウンロードされると、ビデオクリップは直ちに再生されますが、クライアントはファイル全体がダウンロードされない限り、フラッシュファイルのクリップにアクセスする前に待機します(早送りはしません)。これがよく話題になるのですが、シンプルで安価で簡単に動画メディアをストリーミング再生する方法です。ShockWave Flash」または「Small Web Format」の略称です。
フラッシュをページに埋め込むには、次のような方法があります。
コピーコード
コードは以下の通りです。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0"
width="320" height="400" >
<param name="movie" value="video-filename.swf">
<param name="quality" value="high">
<param name="play" value="true">
<param name="LOOP" value="false">
<embed src="video-filename.swf" width="320" height="400" play="true" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>

ここで注目すべきは、 <param name="movie" value="video-filename.swf" > と <embed src="video-filename.swf"...。 どちらも、SWFファイルの場所の名前になっているところですね。その他、いくつかのパラメータは上記リンク先でご確認いただけます。
しかし、このように記述したところ、ページ内のswf形式のファイルは表示できるものの、flv形式のファイルは再生できなくなりました。しばらく悩んだ末に、dreamweaverから解決策をまとめました。
コピーコード
コードは以下の通りです。

<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 má Flash Player 4 nebo nižší - příliš nízká úroveň pro 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.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
}
}
}
}
</script>
</head>
<body onload="MM_CheckFlashVersion('7,0,0,0','Obsah této stránky vyžaduje novější verzi Macromedia Flash Player. Mám si ho stáhnout hned?") ;">
<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="314" height="234" 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=Clear_Skin_3&streamName=%E8%80%81%E5% A4%A9%E4%B8%8B%E8%B4%B0%E4%B9%8B%E8%8E%AB%E9%97%AE%E4%BB%8A%E6%9C%9D&autoPlay=true&autoRewind=true" />
<embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Clear_Skin_3& streamName=%E8%80%81%E5%A4%A9%E4%B8%8B%E8%B4%B0%E4%B9%8B%E8%8E%AB%E9%97%AE%E4%BB%8A%E6%9C%9D&autoPlay=true&autoRewind=true " quality="high" scale="noscale" width="314" height="234" name="FLVPlayer" salign ="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /& gt;
</object>

また、バージョンチェックメソッドMM_CheckFlashVersion()も用意されています。
次の部分はswfの書き方とよく似ていますが、少し違います。 <param name="movie" value="FLVPlayer_Progressive.swf" これはもはや再生ファイルではなく、プレーヤーファイルに相当するもので、dreamweaverを使ってフラッシュファイルを挿入後、できるようになります。前者はプレーヤーに相当し、後者はスキンに相当する。Dreamweaverにはいくつものスキンが用意されており、自由に使うことができる。上記のコードの中で、プレーヤーファイルFLVPlayer_Progressive.swfが使われている箇所が2箇所ありますが、これはswfに非常に似ていますが、ソースファイルではありません。コード中のskinNameはスキンを設定するためのもので、その他のプロパティはかなりわかりやすくなっています。
要約すると、flv形式での埋め込みのポイントは3つあります。1,Player FLVPlayer_Progressive.swf、このファイルは必須で、このファイルはflvソースディレクトリにあるべきです(理由はまだ見つかりません)2,Player FLVPlayer_Progressive.swf、このファイルはflvソースディレクトリにあるべきです(理由はまだ見つかりません)。3. ソースファイル、streamName このパラメータは、ソースファイルの名前を拡張子なしで表示します。htmlファイルとflvファイルが下の同じディレクトリにない場合、ファイルパスを転送する必要があります(これはプロジェクトで特別な注意が必要です)。

上の画像では、同じページに2つのスキンを使用し、一方を自動再生に、もう一方を手動再生に設定しています。ファイル形式はflvです。