Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □ホームページで動画を見せる方法

□ホームページで動画を見せる方法

動画をブラウザ上で見せる方法としては、オブジェクト(object)とメタ
(embed)と両方を記述するようにすれば大抵のブラウザではOKでしょう。

ファイルは本来の動画(.wmv)と、その動画の情報を書いたメタファイル
(.wvx)という二つのファイルを用意します。あ、あとは見せるための
HTMLファイルももちろん必要ですね。

まずはメタファイルを動画ファイル分だけ作るスクリプトを作りましょう。
PHPで自動生成とか出来たらいいんですけどね。WindowsMediaPlayerオブ
ジェクトとかってCookieクッキーたべてくれるのかな?

メタファイル生成スクリプトとしては

> #!/usr/bin/perl
> #
> # メタファイル生成スクリプト
> #
> $ASX_VERSION = “3.0”;
> $DIR_BASE = “../doga”;???動画があるディレクトリ
> $URL_BASE = “mms://www.hogehoge.jp/doga”;?外部から動画にアクセスするURL
>
> opendir(DIR_BASE, $DIR_BASE) || die “ディレクトリが開けません:$DIR_BASE\n”;
> @FILELIST = grep(!/^\.\.?$/, readdir(DIR_BASE));
> closedir(DIR_BASE);
>
> foreach $FILE (@FILELIST)
> {
>???? if ($FILE =~ /(.*).wmv$/)
>???? {
>???????? $META = “$DIR_BASE/$1.wvx”;
>
>???????? if (! -x $META)
>???????? {
>???????????? print “Make $META\n”;
>??????????? open(META, “> $META”);
>??????????? print META<<EOF;
> <ASX version = “$ASX_VERSION”>
> <Entry>
> <Ref href = “$URL_BASE/$FILE” />
> </Entry>
> </ASX>
> EOF
>???????????? close(META);
>???????? }
>???? }
> }
>
> exit 0;

とすると、$DIR_BASEにどどーんとめたファイルを作ってくれるので、
あとはhtmlにこんな風に書けばOK
<HTML>
<Body BgColor=”#000000″>
<BR>
<!– saved from url=(0022)http://www.hogehoge.jp –>

<object id=”player” clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6>
<param name=”autoStart” value=”true”>
<param name=”loop” value=”true”>
<param name=”fullScreen” value=”false”>
<param name=”uiMode” value=”none”>
<param name=”URL” value=”mms://www.hogehoge.jp/doga/doga001.wvx>
<embed name=”WMP” type=”application/x-mplayer2″ pluginspage=”http://www.microsoft.com/Windows/MediaPlayer/” src=”http://www.hogehoge.jp/doga/doga001.wvx” width=”100%” autostart=”1″ loop=”1″ showcontrols=”0″></embed></object>

<BR>
</BODY>
</HTML>

これだと一動画しか表示できないので、マルチスクリーンみたいな
表示をするスクリプトも作っちゃいました。これは動画ファイル名が
doga001.wmv〜doga999.wmvまでにランダムにある、とした場合です。

<?
// 動画マルチ表示スクリプト
//
// 指定された縦横数の動画を表示する

// ページ背景色
$BGCOLOR = “#000000″;

// 動画のサイズ firefox だと大きいサイズにはできないみたい
$MOVIE_X = 360;
//$MOVIE_Y = 240;
$MOVIE_Y = round(($MOVIE_X / 4) * 3) + 45;

// テーブルの縦横の設定
$TABLE_X = 3;
$TABLE_Y = 3;

?>

<HTML>
<Meta Http-equiv=”content-type” Content=”text/html; charset=Shift_JIS”>
<meta http-equiv=”Refresh” content=”30″>
<LINK href=”styles.css” rel=stylesheet type=text/css>
<Body BgColor=”<? print $BGCOLOR; ?>”>
<Br>
<!– saved from url=(0022)http://www.hogehoge.jp –>

<Table Border=”0″ Align=”center” CellSpacing=”0″ CellPadding=”1″ BgColor=”<? print $BGCOLOR; ?>”>
<?
for($Y = 0; $Y < $TABLE_Y; $Y++)
{
?>
<Tr>
<?
??? for($X = 0; $X < $TABLE_X; $X++)
??? {
??????? // 動画ファイルを探す
??????? do
??????? {
??????????? $TARGET_NUM = rand(1,999);
??????????? $TARGET = sprintf(“doga%03d.wvx”, $TARGET_NUM);
??????? }
??????? while(!is_file(“./$TARGET”));
?>
<Td>
<Div Align=”center”><Font Style=”font-size:.8em; color:#777;”><A HREF=”mms://www.hogehoge.jp/doga/<? print “$TARGET”; ?>” TARGET=”<? print “$TARGET”; ?>”><? print “$TARGET”; ?></A></Font></Div>
<object id=”player” width=”<? print $MOVIE_X; ?>” height=”<? print $MOVIE_Y; ?>” clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6>
<param name=”autoStart” value=”true”>
<param name=”loop” value=”true”>
<param name=”URL” value=”mms://www.hogehoge.jp/doga/<? print $TARGET;?>”>
<embed name=”WMP” type=”application/x-mplayer2″ pluginspage=”http://www.microsoft.com/Windows/MediaPlayer/” src=”http://www.hogehoge.jp/doga/<? print $TARGET; ?>” width=”<? print $MOVIE_X; ?>” height=”<? print $MOVIE_Y; ?>” autostart=”1″ loop=”1″ showcontrols=”0″></embed></object>
</Td>
<?
??? }
?>
</Tr>
<?
}
?>
</Table>
<Br>

</Body>
</HTML>

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です