講演のビデオ(講演ビデオと呼ぶ), 及び講演に使われた OHP, PowerPoint, MagicPoint の講演資料(講演資料と呼ぶ)をストリーミングを用いて公開する ための方法を述べる. ストリーミングとはインターネット上で音声や映像を 視聴する方式の 1 つで, クライアント側でデータを受信しながら同時に再生 する方式を指す. クライアント側にダウンロードする必要がなく, 見たいと ころだけを見せたり, ビデオと資料を同じ画面上に出すことも可能である.
- ストリーミングとは
- Web サーバと Real サーバとの連動
- ram ファイル
- smil ファイル
- RealPix ファイル
- Real エンコードされたビデオの編集
- 参考資料
サーバ (1) ![]()
ネットワーク (2)
(データ伝送のイメージ)
![]()
クライアント(3) ![]()
プレーヤ[この図版は mosir プロジェクト から 頂きました] ストリーミングとはインターネット上で音声や映像を視聴する方式の 1 つで, クライアント側でデータを受信しながら同時に再生する方式を指す.
- 映像をデジタル情報に変換・圧縮(エンコード)したものを保管.
クライアントからの要求に応じて映像を配信.- 映像をパケット化してネットワーク上に送信.
- サーバから送られてきた映像を受け取り, 映像の圧縮を解く(デコードする).映像を再生する.
ストリーミングアプリケーションとして RealNetworkSystem を用いる場合, 以下のソフトウェアを使うことになる.
エンコードソフトウェアは 映像を圧縮するのに用いられる. RealProducer を用いてビデオを圧縮すると, 拡張子が rm のファイル(RealVideo ファイル)が生成される.
- サーバソフトウェア: RealServer Basic
- クライアントソフトウェア RealPlayer Basic
- エンコードソフトウェア: RealProducer Basic
Web サーバと RealServer との連動, 要は Web から RealServer へリンクを作成する方法を述べる. SOI のように web のイメージと 動画とをリンクさせ, さらに動画と OHP のイメージを並べるには, 以下のファイル用意する.
RealServer に準備するもの RealMedia (rm) ファイル 講演の様子を RealSystem の形式にエンコードした映像 or 音声ファイル(講演ビデオ). SMIL (smi) ファイル クライアントソフト(RealPlayer)のレイアウトを指定するファイル. 画面の大きさの指定, フレームの設定, 各フレームで再生する RealMedia or イメージファイル(GIF, PNG, JPG) の指定. RealPix (rp) ファイル イメージファイルの再生順番, 再生方法を指定するファイル.
Web サーバに準備するもの HTML ファイル Web の画面を規定するファイル ram ファイル SMIL ファイルの置き場所を指定するファイル. Web から RealSystem を再生する場合に必要となる.
上記のファイルを呼び出すタイミングは以下の通りである.
![]()
2.1 RAM ファイル
HTML ファイルから直接 RealServer に対してリンクをはることはできない. そのために ram ファイルを介してリンクをはることになる. 通常, HTML ファイルから HTML ファイルへリンクをはる場合, a タグを用いて,
< a href="http://hogehoge.html"> hogehoge </a>
のように書く. しかし HTML ファイルから SMIL ファイル(もしくは RealMedia ファイル)に直接リンクをはることはできないので, まず HTML ファイルから ram ファイルに以下のようにリンクをはる.< a href="./hoge.ram"> ビデオを再生する場合はここをクリックして下さい </a>
ram ファイルには参照すべき SMIL ファイルの置場を記入しておく. 例えば以下の通り.
rtsp://mosir.ep.sci.hokudai.ac.jp/sinra/2001-03-05/watanabe/video/smi/001.smi2.2 SMIL ファイル
SMIL ファイルで指定する内容は以下の通りである.
- コメント(コピーライト, プロジェクト名 等)の指定
- RealPlayer の画面のレイアウトの指定
- 表示するファイルの指定
![]()
実際の SMIL ファイルは以下のようになっている
< smil> < head> < meta name="title " content="earth 2000"/> < meta name="author" content="SUGIYAMA Ko-ichiro"/> < meta name="copyright" content="Mosir 2001"/> < meta name="e-mail" content="mosir"/> < layout> < root-layout height="240" width="680"/> < region id="ohp" left="0" top="0" height="240" width="320" fit="meet"/> < region id="video" left="320" top= "0"/> </layout> </head> < body> < par> < img region="ohp" fill="freeze" src="godo.rp"/> < video region="video" clip-begin="0s" src="godo-hito001.rm"/> </par> </body> </smil>赤色で書かれた部分がコメントの指定である. 以下の指定ができる.
- コンテンツの名前
- コンテンツの作者名
- コピーライト
- メールアドレス
青色で書かれた部分が画面のレイアウトの指定である.
- 1 行目: ルートウィンドウの大きさの指定.
- 2 行目: 左側のウィンドウの大きさ指定. "ohp" という名前を付ける
- 3 行目: 右側のウィンドウの大きさ指定. "video" という名前を付ける
緑色で書かれた部分が表示するファイルの指定である. par タグを用いて 2 つのファイルを同時に表示するよう指定している. 画像を表示する場合は img タグを, ビデオを表示する場合は video タグを用いる. ここでは 以下のファイルを表示するように指定している.
- "ohp" というウィンドウに "godo.rp" (RealPix ファイル)を表示
- "video" というウィンドウに "godo-hito001.rp" (RealVideo ファイル)を 開始時刻 0 秒から表示.
2.3 RealPix ファイル
RealPix ファイルは時刻毎に別々のファイルを表示するのに用いる. ビデオに合わせて講演資料(画像ファイル)を表示させていく場合を考えよう. このとき画像を表示させる方法としては, 各 smil ファイルに表示する画像を 開始時間を指定してずらずら書いていくのが 1 つであるが, それでは表示する 画像を変更する場合には全ての smil ファイルを変更せねばならず面倒である. そのためビデオの時刻とそのときに表示する画像の対応づけをしたファイルを 別途持っておく方が便利である. そのような対応づけを記述したものが RealPix ファイルである.
< imfl> < head width="480" height="600" start="0" duration="01:34:52" title="ダストから微惑星へ, 原始惑星系円盤にて" bitrate="3000" timeformat="dd:hh:mm:ss.xyz"/> < image handle="1" name="img/001.gif"/> < image handle="2" name="img/002.gif"/> < image handle="3" name="img/003.gif"/> < fill start="0" color="black"/> < fadein start="00:00:00" duration="3" target="1"/> < wipe type="push" direction="left" start="00:02:17" duration="3" target="2"/> < wipe type="push" direction="left" start="00:08:15" duration="3" target="3"/> < /imfl>赤色で書かれた部分がコメントの指定である. 以下の指定ができる.
- コンテンツの名前
- コンテンツの作者名
- コピーライト
- メールアドレス
青色で書かれた部分がファイル名の指定である. ここで 1 つ 1 つのファイルに 対して番号(handle)を付けます.
緑色で書かれた部分が画像ファイルを再生する順番とその時刻を示したものである. 開始時刻を start で指定し, その時に表示する画像を target として指定する. target として指定する番号は画像ファイルに付けられた handle の値である.
real エンコードされたビデオ資料(以下「RealMedia」と呼ぶ)を編集する方法を 述べる. この RealMedia に対してできることは,
です. これらの作業は RealProducer 付属の rmeditor コマンドを用いて行ないます. (realproducer コマンドと同じディレクトリに存在).
- RealMedia の最初の X 秒をカット
- RealMedia の最後の X 秒をカット
- 複数の RealMedia をつなげる
- コピーライト等の情報を変更
rmeditor のオプションは
$ rmeditor --helpすることで表示されます. 以下作業例です(Linux 版の場合).
- 例1: test1.rm の最初の 30 秒をカットし, test2.rm に出力
$ ./rmeitor -i test1.rm -s 0:0:0:30.0 -o test2.rm- 例2: test1.rm の最初から 20 分 30 秒だけを test2.rm に出力
$ ./rmeitor -i test1.rm -e 0:0:20:30.0 -o test2.rm- 例3: test1.rm の途中(20 分 30 秒 - 30 分)をカットし, test2.rm に出力
$ ./rmeitor -i test1.rm -e 0:0:20:30.0 -o tmp1.rm $ ./rmeitor -i test1.rm -e 0:0:30:0.0 -o tmp2.rm $ ./rmeitor -i tmp1.rm -i tmp2.rm -o tmp2.rmカットする部分の前と後ろを別々のファイルに一時保存し, それをつなぎ合わせる. tmp1.rm, tmp2.rm は temporary file.Windows から上記の作業を行う場合は, mosir のメールログ が参考になるでしょう.
授業マテリアルの作成方法 http://www.soi.wide.ad.jp/doc/mate/mkclasspage.html ストリーミングの紹介 http://www.ep.sci.hokudai.ac.jp/~mosir/process/outline ストリーミングで行こう http://www.smi.co.jp/ SMIL -- 基礎 http://www7.cds.ne.jp/~seagull/real/smil/smilbase.html