ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

KNNサポーターコミュの貧乏ドイツW杯中継日記

  • mixiチェック
  • このエントリーをはてなブックマークに追加
  :
神田さんのW杯レポートをサポートするべく、インフラ部が立ち上がった!
このトピは、その苦難の道のりを記すものである。。。
  :

コメント(8)

〜インフラ部、仕方なく立ち上がるの巻〜

5月のある日、.Bに行くと、神田さんが
「kabayan, kabayan! やっとドイツ行けるよ!」
とはしゃいだ調子で私に近づいてきた。

「へー!チケットは?もしかしてプレス?!」
「取材だけど、チケットないよ。」
「へ?まさかフランスW杯と同じ?」
「そう」

その昔。1998年に開催されたフランスW杯のときも、彼は
チケットなしで現地に乗り込み、当時のハイテクを駆使して
日本へ普通では手に入らないしょぼい、もとい貴重な情報を
送っていたのだ。

そして2006年。性懲りもなく行き当たりばったりで作成した
企画書を手に企業を回り、ついにスポンサーを探し当てたと
言うわけだ。

「でね、kanayan。向こうから中継したいから日本でサポートして
くれない?」
「ギャラは?」
「いーじゃん、これで仕事回ってくるからさー」
「こねーし!」
「きっと楽しいよ」
「ウキー!(猿風に読む)」

もろもろの交渉(手練手管)にはめられた哀れなkabayanは
インフラ部の総力を挙げて神田さんのドイツW杯中継のサポートを
する羽目に陥ったのだった。
〜お金はない の巻〜

k「で、どうしたいの?」
神「向こうから中継※1したいんだよね。.Bからみたいにできる?」

※1.BはWindows Media Encorderを使って常時中継している。

k「無理無理。第一どこにサーバー置くのよ?神田さんマシンから
直接中継できないでしょ?無線LAN使えたってNAT※2とかあるし。」

※2 1つのIPを複数で使う技術。ブロードバンドルータとかについているこの機能のおかげで、複数のマシンでインターネットが使える。その代わりNATを使っているマシンに、インターネットから直接アクセスできない。

神「Jstreamは?」
k「てことはRealだね。24時間の時(※3)つかったけど、大変そうだったよ。
それにそもそもRealProducer使ったことないでしょ。」

※3 毎年ネットだけの24時間中継をやってる方がいらっしゃって、今年は.Bがその拠点だった。インフラ部は彼らとは別に2カメで中継を行った。

神「ない。」
k「だめじゃん orz。んー」
神「appleもサポートしてくれるって」
k「QuickTime?!余計ややこしいよ。大体サーバーはどこにおくの?お金ある?」
神「ない。」
k「ウキー(猿風に読む」

要は金ない(わかってた)けど、なんとかしてということだったのだ。
どうする!インフラ部!
〜なんとかするのがインフラ部 の巻〜

無茶な要求だけど、100%無理なこと以外(1億円を拾ってくるとか、
神田さんを更正させるとか)
なんとかするのがインフラ部の使命である。

k「じゃ、なんか方法考えてみる」
神「よろしくねー」
:

まず、問題を整理することからはじめてみる。

課題
・神田さんには難しいことさせられない。
・回線は不安定。
・アクセス数がそれなりにあるだろう。
・期間が長いため、安定性が必要。

いいこと
・仕事じゃないから落ちてもいい。
・レポートは不要(たぶん)。
・中継できることが一番で、品質はそれなりで。

こんな要求をただでやれってんだから、言うほうも言うほうだけど
やるほうも頭おかしいと思いながら、つらつら考えてみる。。。

で最初の(ありそうな)案。
・Windows Media Encorderを神田さんマシンで動かして、どこかの
Windows Media Serverに送る。
この方法だと、WMEのマシンにDVカムをつなぐことで中継しながら
録画もできるメリットがある。神田さんもWMEなら使える。
しかしこれはDVカムの電源やキャリアが落ちた場合、中継自体が
中断する恐れがある。さらにDVカムとWMEの相性もある上、録画と
一時停止を繰り返す撮影を行うと何が起きるか想定できない。

なのでボツ。

そういえばskypeジャパンさんもサポートだっていってたな。じゃこんなのは?
・skypeでたくさん話せるプラグイン(Festoon)を使う。
Festoonは最大200人で会議ができる(ホンマか!)skypeのプラグインで、前はvSkypeって
呼ばれていた。これなら簡単そうだなー。

というわけで、実験、実験。
〜 微妙なfestoon の巻〜

k「festoonってプラグイン使うと200人までテレビ会議できるらしいよ」
神「へー。」
k「なんで実験しましょう。festoon入れてくださいな。」
神「ほいほい。」
2人でやってもしょうがないので、もう一人生贄を探す・・・MSN Messengerで一人
発見。
k「まよー」
m「はいはい。ごぶさたです」
k「いまskype使える?時間ある?」
m「使えますよ。時間もだいじょうぶっす。」
k「じゃfestoon入れて。呼ぶから」

しばし待つ。おし、来た来た。festoon起動して、なになに会議を作るのか、ふむふむ、
参加者選べばいいのね。。。
k「招待飛んだ?」
神,m「なんかきた。」
k「リンクになってるから、踏んでみて。」
神,m「おー。なんか起動した。」
:
画像が出たりでなかったり、音声が変だったり、重かったりなどなど
:
k「一応使えそうではあるね。不安定だけど」
神,m「そうだね。」
k「ありがとさんでした。」

結論として、同時に4人くらいまではいけそうだという感触は得られた。
しかしCPUを猛烈に食うことや、原因不明の接続断や音質悪化など、トラブル要因も満載の悪寒。
最悪なのは、こっちから会議に招待しないといけないこと。これで長丁場はつらすぎる。
こっちだって仕事せなあかんちゅーねん。というわけでとりあえずキープレベル。

しかし!これをやりながらハッ!と思いついたことがあった。それが今日(6/8)時点で稼動している仮システムのベースになるのである。
きっと楽しいよ…

神田さんに難しいことをさせられない…



…爆笑しちゃった
〜 仕事だとできんな、この品質 の巻〜

skypeの安定性と簡単さはドイツでも使えそうだという感触が得られた。しかしそれを多人数で見るのはかなり面倒。でも1対1なら。。ぐるぐる。。

今、自分が見ている映像をそのままキャスト※1すればいいんじゃないか?その方法はいくつか考えられる。もっともまともな方法は、DirectXのpinをトラップする方法だ。

※1 キャストとは放送のこと。ストリーミングで流すこともキャストとと言います。

簡単に言えば、ビデオ信号を二股にして、見ながらダビングするようなイメージになる。この方法だと品質はいいものの、プログラムを作る必要がある。
さらに会話していないとき、どうするかや、途中で切れたときの処理などいろいろ考えないといけないポイントが山ほど出てくる。

2つ目はモニターに送られている信号信号そのものを2つに分けるやりかただ。PCとモニターをつなぐケーブルを二股にし片方をキャスト用のPCの入力につなげばいい。
前者に比べてシンプルだが、今使っているモニタはRGBで接続されているのがネックだ。S-VIDEOで出るグラフィックボードならいいが、そんなものは手元にない(実はあるけどつなぐのめんどくさい)。
さらにskype videoを使ったことがある人ならわかると思うが、全画面にするためにはマウスのクリックが必要だ。
直接エンコード※2用のPCにつなぐと、画面に出ているものが全部出てしまう。これをそのままキャストすると画面サイズがでかすぎて、神田さんが小さく写ることになってしまう。するとそれを見ている人はさらに小さくなってしまう。

※2 動画をインターネットに流すために圧縮などをすること。

途中にビデオ編集装置を入れて、クリップ※3して、神田さんが写っているところだけをキャストする方法もあるが、そんな装置もない(ほんとにない)。

※3 画面の一部だけを切り出すこと。

最後に残ったのは(思いついたのは最初だけど)、非常にしょぼい、しかし確実な方法だ。まずマシンを2台用意する。1台はskype用のマシン。もう1台がエンコード(+キャスト)用に使う。その2台目にだけUSBカメラをつなぐ。次に1台目のサウンドボードのスピーカー出力と2台目のサウンドボードのマイク入力をつなぐ。
1台目でskypeを動作させ画面に出力する。それを2台目のUSBカメラで撮影するのだ。
このやり方であれば画質は落ちるものの、音声はクリアになる。さらにクリップもカメラ位置の調整でいかようにもなる。

今回はWindows Mediaを使うことにして、さっそくこの環境を作成し神田さんと実験をしてみる。
k「****につないで見てください。あ、画像も来ました。」
神「こっちからは何にも見えないよ。」
k「そらそうです。神田さんがしゃべるだけだから。こっちにはだれもいないからマイクもカメラもつないでません。」
神「なるほど。で、どうやってみるの?」
k「Windows Media Playerで*****につないでください。」
神「・・・おお、見えた。15秒ぐらい遅いね。」
k「時差ということで。」

とりあえずうまくいったということで、niftyのblogでテストユーザーを募りやってみたが、特に問題はなかった。神田さんへのリクエストはskypeのchatでやることにしてやれやれ。

k「これでいいよね。」
神「今回さぁ、appleさんも協賛なんだよね。」
k「やっぱしQuicktimeでやるのぉ?」
神「なんとかならない?」
k「ウキー(猿風に読む」

生涯で3時間しかMacに触ってないのに、できるのか?インフラ部?
ありがとう!!!

ウキー!!

頼む!!インフラ部!!!
〜 Windows Media & Quicktime配信開始 の巻〜

世の中で「ストリーミング配信」といえば、3つの方式が有名だ。
1.Winな人ならWindows Media (WM)
2.Macな人ならQuicktime (QT)
3.昔は元気(スマソ)だったReal
MS教に入信してるわけじゃないけど、いままではWMでやることが多かった。その理由はなんといっても簡単だからだ。PCにWindows Media Encorderを入れてUSBカメラつなぐだけなので、コストが激安で済むし、使うのも簡単だ。ところが残りの2つにはイロイロ問題がある。
QTの場合、一番の問題はカメラだ。Macで使えるUSBカメラは驚くほど入手が難しい。Macな人はiSight買えってことかもしれないけど、USB(Firewireだけど)カメラに1万円以上出すなんてありえない。もちろんDVカメラをIEEEでつないで云々という手もあるけど、今回の長丁場(24時間x30日)に耐えられるかというと問題がある。配信に関してはフリーのサーバー(Darwin)があるのでいけるだろう。
Realは・・・今回はパス。

QTで配信するにあたって、まずmac用のカメラを探さなければいけない。ネットでイロイロ漁って得られたのはもうLogicoolのQcam 4000という販売中止のカメラが使えるということだった。でも販売中止なので買えない(お金ないし)。で、ひらめいた。「確かdotBarで使ってたよな」
dotBarでは携帯用の配信とWMでの動画配信を24時間行っている。その一台にQcam4000を使っていたのだ。暗さにも強く、信頼性も問題ない。インフラ部の権限でこのカメラを押収wし、mac miniにつないで見ると。。。おおいけるいける(要driver)。さっそくQuicktime Broadcasterを入れて見ると・・・おおいける。
無事にいけたと思ったが、ここで問題発生。めちゃくちゃCPUを食うのだ。当初1台でエンコード+配信を行う予定がこれでは無理っぽい。仕方がないのでエンコードをmac mini、配信をVPS※1でやることに方針を変更した。

※1 VPSとはVirtual Private Serverの略で、共用サーバーと専用サーバーの中間のようなサービス。自分でいろいろソフトをインストールできる代わりに、管理も自分でやらないといけない。

QTの配信はDarwin Stream Server(DSS)というオープンソースのソフトで行える。Mac OS X serverならこの商用版がついているけど金はない。機能的には今回の用途であればDSSで問題がない。さらにWindows, Linuxでも動作するので、帯域の問題かLinuxで動くVPSでやることにしたわけだ。
そこでadlibのサーバーを見てくれてるくまちゃんにお願いしてDSSをVPSに入れてもらったんだけど・・・結論的には動きませんでした。原因究明は(ある意味)楽しんだけどスケジュールの問題もあり、断念、残念!
仕方がないのでdotBarから別のmac miniを押収し、そこにDSSを入れると、あっさり動作。結局mac mini2台構成で配信準備できたと思いきや、またまた問題発生。mac miniにはオーディオ入力がないのだ。なんだそりゃ。イロイロ調べるとUSBオーディオデバイスってのがあるらしい。さっそくビックカメラに行って物色するとありました。1980円なり。ついでにオーディオを二股に分けるアダプタと音声ケーブルを購入して接続。
最終的にはこんな構成になりました。

映像は
skype受信用PCの画面->WMエンコーダにつないだカメラとmac miniにつないだカメラで撮影してエンコード。
音声は
skype受信用PCのスピーカー出力->二股->WMエンコーダマシンのマイク端子とmac miniにつないだUSBオーディオデバイスのマイク端子

これで神田さんがskypeで呼ぶと、自動着信し、その映像と音声がWMとQTで流れるシステムが出来上がった。そしてオーストラリア戦前の中継を迎えることになる。。。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

KNNサポーター 更新情報

KNNサポーターのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。