MediaWiz 簡易技術情報
ここでは、 Uzu を作成する上で調べた情報を公開します。
サーバーソフトを作成する際などに参考ください。
-
動画を再生するには
-
動画ファイルへのリンク <a> タグに vod="0" を付ける必要があります。
<a href="./test.avi" vod="0">test.avi</a>
vod="0" の付いたリンクは MediaWiz のコンテンツ再生機能としての処理に割り振られるようで、
例えば、普通の html やフォルダ移動のためのリンクなどに vod="0" を付けると MediaWiz
でエラーが出ます。
vod="0" を付けるのは、動画ファイルか音声ファイル(音声ファイルに関しては無くてもOK)のみとしてください。
また、動画ファイルに関しては、 vod="0" が付いている上で拡張子によるファイル種別の判断を行っているようなので、
末端の拡張子をファイルフォーマットの拡張子にあわせてやる必要があります。
例えば、 m2p ファイルはフォーマットとしては mpg と同じなのですが、リンク対象の拡張子が m2p のままでは
動画ファイルとして正しく認識されません。
同様にサーバー側のスクリプトでファイルを取得しようとする場合なども拡張子の判断ができるような形でないと
正常に処理されないようです。
ex.)
拡張子の処理
エラー : <a href="./test.m2p" vod="0">test.m2p</a>
正常 : <a href="./test.m2p.mpg" vod="0">test.m2p</a>
.mpg を偽装。実際のファイルは test.m2p とする。
スクリプトによる処理
エラー : <a href="./dl.cgi?id=1" vod="0">test.avi</a>
拡張子の判断が行えない。
-
リンクにアクセスキーを割り当てるには
-
リンクにアクセスキーを割り当てるにはリンク <a> に tvid 属性を付ける必要があります。
tvid="0" のような指定方法になり、数値の部分にアクセスキーを記述することができます。
記述可能な値は、数値(複数桁可)の他に、リモコンの一部キーを割り当てることができます。
リモコンのキーで割り当て可能な対象は現在わかっている範囲で以下の内容になります。
|
red
|
巻き戻しボタン(赤ボタン)
|
|
green
|
早送りボタン(緑ボタン)
|
|
yellow
|
前のリストボタン(黄色ボタン)
|
|
blue
|
次のリストボタン(青ボタン)
|
|
pgdn
|
PAGE DOWN ボタン
|
|
pgup
|
PAGE UP ボタン
|
ex.)
リンクに赤ボタンを割り当てる場合
<a href="..." tvid="red">test</a>
-
一括再生、ランダム再生などを行うためには
-
一括再生、ランダム再生は MediaWiz から見た場合の処理は同じ処理になります。
一括再生、ランダム再生を MediaWiz に行わせるためには再生ファイルのリストを所定フォーマットにそって作成し、
そのファイルを MediaWiz に渡す必要があります。
再生ファイルのリストの内容が表示順に並んでいるかランダムに並べ替えられたものなのかによって
一括再生かランダム再生が決定します。
再生ファイルのリストの書式は以下のリンクからダウンロードできるファイルのようになります。
filelist.txt
リストはテキスト形式で、 1 行 1 ファイル情報で構成され、 1 行の情報は「|」で区切られています。
「|」で区切られる 1 行の各パートの情報は以下のようになります。
|
画面表示名
|
|
|
不明。 0 固定
|
|
|
不明。 0 固定
|
|
|
ファイルに対するリンクをフルで。
|
|
|
この内容で構成されるデータを text/html でレスポンスします。
また、一括再生、ランダム再生のための上記再生ファイルのリストを再生ファイルのリストとして認識させるために
リンク <a> に対して、 vod="playlist" を付ける必要があります。
ex.)
<a href="./filelist.cgi?folder=test" vod="playlist">一括再生</a>
-
音楽再生時の背景を指定するには
-
音楽再生時の背景を指定するにはリンク <a> タグに pod= 属性を付ける必要があります。
pod 属性は pod="2,1,http://localhost:8001/slide.cgi?folder=test" のように指定します。
pod に続く 2,1 の部分は固定です(詳細不明)。
2,1 に続く http:// の部分でスライド用のリストを返す URL を指定します。
上記の場合だと http://localhost:8001/slide.cgi?folder=test によってスライド用のリストが返されます。
ex.)
<a href="./test/test.mp3" pod="2,1,http://localhost:8001/slide.cgi?folder=test">test.mp3</a>
リストの解釈は一括再生、ランダム再生と同じ解釈で、「|」で区切られる 1 行の各パートの情報が以下のようになります。
|
表示秒数??詳細不明。 5 固定
|
|
|
不明。 0 固定
|
|
|
不明。 title 固定
|
|
|
ファイルに対するリンクをフルで。
|
|
|
同様の方法でスライドショーを実行することも可能なようで(未確認です)、スライドショーを実行する場合は、
<a href="mute" pod="2,1,http://localhost:8001/slide.cgi?folder=test">スライドショー</a>
と指定するとよいと思われます。
ただ、標準サーバーの画像処理系は、サーバー起動時にいったん画像変換をしているようで、 MediaWiz で表示する場合は
変換された画像を表示している模様。
場合によっては正しく画像が表示できないことがあるかもしれません。
-
早送り、巻き戻し、GO TO ..% に対応するためには
-
Range に対応する必要があります。
MediaWiz が早送り、巻き戻し、 GO TO ..% などが行われた際に必要とするファイルのバイト位置を要求するので、
その通りにバイナリデータをレスポンスすると早送り、巻き戻し、 GO TO ..%に対応できます。
http サーバーを自作しておらず自前でファイル転送をしていないのであれば HTTP/1.1 に対応している
http サーバーであれば特に意識しなくても対応できている可能性はあります。
Range はダウンロードソフトのレジュームなどに利用されたりしています。
また、 MediaWiz が Range 要求を行う際に 32bit の int 型で値を管理しているようで、 2G を超えた値からマイナス値を
Range で指定してきますので、そのあたりの特殊な注意が必要になります。
9 月に予定されているファームウェアのアップデートで 2G 対応するとのことなので、そのタイミングで直るかもしれません。
戻る