経緯
お世話になっている僕のゼミの先生が、研究活動の一環としてデジタルサイネージ(他画面同時出力)をやってみたいと言い出した。しかし先生自身は元々写真を撮影することを生業としてきた経歴を持つ人物だったため自身構築するようなスキルもない。色々思いつく限りを当たったものの納得のいく結論は見出せなかったことから、数週間前に「お前暇だろ?ちょっと調べてきてよ」私に匙を投げつけてきたというのが事の経緯。この話を受けるにあたりお節介にもサイネージのスタンドアローンプレイヤーまで買ってきやがったのでこれから卒論等々でますますお世話に避けられずもう後には引けない。渋々やることにした。
やりたい事
- 3画面以上のモニターでコンテンツを再生したい
- 現場に置く機材は少なく、安いほうがいい(もしくは隠しておける)
- それぞれの再生時間などをしっかりとコントロールしたい
- 上流ネットワークがどうなっているのかわからないため学内での発表も視野に入れると外部ネットワークとの接続はなるべく避けたい
調べてみた
デジタルサイネージのシステムは基本的にBtoBの商材であることから個人向けの簡易的なシステムは見つけることができなかった(そういった意味ではBrightSignがもっとも簡易的)。自身でシステムを購入/構築するという観点から言っても機材を揃えること、自分でコンテンツを制作するという事に趣味的な旨味を感じる人が非常に少ない(まぁ、無理もないよね。単画面出力の一番簡単なプレイヤーでも普通に4万円コースだし) こともありやってみた的なレポートもヒットしなかった。舞台演出などを手がける人の同業向けと思しき試用は数件見つかったが、どう読んでも初見で理解できない専門知識の嵐なのでもうすぐ定年の先生に読ませるには非常に酷。
考えてみた
今回のケースでやりたい事に対しての直接的な弊害は
- 外部と繋がるネットワークが利用できない点
- BrightSign製ハードを利用する方向で考えねばならない点
- イニシャルコストをできる限り減らしていく必要がある点
- 機材を減らす(隠す)必要がある点
逆に言えばこれらをクリアできるシステムを構築すればいいってわけだ。(アッタマイイ〜!!フゥ〜〜〜〜ッ!!)
検討
今回は以下のうち3つの方法を検討することにする。
- BrightSign製のデジタルサイネージシステムを利用する
- 自前でLAN内同期システムを構築する
- 映像出力のポートを3つ以上用意できるPCを用いる
- 人力でスイッチングする
BrightSignとは
アメリカで創業したデジタルサイネージ向けに製品やサービスを提供する企業。紫色の筐体のプレイヤーは専用OSを搭載していて、mov,flvなどに加えHTML5動画も再生することができ、コマ落ちやレイテンシも非常に少ないことが特徴。業界シェアNo.1とか
人力スイッチングはどう考えても人を常駐させねばならず非効率なので今回考慮しないが、私のアンテナの届く範囲で解決策を検討した結果3つの方法まで絞られた。
BrightSign製のシステムを利用する方法
端的に言えばBrightSign社が提供しているCDNを利用する方法。ここのプレイヤーは付属のうっすい取説を読む限りスタンドアロンでの使用よりもBrightSignNetworkというクラウドサービスを利用することを前提としているような書き方をしている。ここのマシンを利用する場合にはBrightAuthorという専用ソフトを介してiPhoneに対するiTunes的な運用をせねばいけないらしく覚えなくちゃいけないことがたくさん。究極的にはちゃんと覚えればノープロブレムなんだけど、BrightSignNetworkは有料プランに入らないと細かな操作ができないから難儀する事請け合い。そうは言っても専用ハードを使えるメリットは非常に大きいため学校の上流ネットワークを介してもちゃんとストリーミングができるなら十分に対象となる。
自前でLAN内同期させ、ローカルで配信する方法
色々と調べているとどうやら動画を配信するのにRTSP (Real Time Streaming Protocol)やHLS (HTTP Live Streaming)といったプロトコルを使って配信さえできれば良いということに気がついた。そこで上の図。ざっとググった限りではあるけれどNGINXからRTSPが配信できるらしいぞということを掴んだ。NGINXなら僕も普段管理しているWEBサーバーで使ってるし、ドキュメントも充実しているからきっと使いこなせるはず。たとえは現場で小さなネットワークを作ってNginxのサーバーをスティックPCか何かで立ててしまえばクライアント側でVLCやブラウザを走らせればいいので機材に依存することはない。今ある設備を使ってシステムを組み上げることができるということは非常に大きなメリットにはなるけれど、構築, 運用には多少のスキルが必要になる。
他画面出力ができるPCを利用する方法
おそらくこの方法が最も簡単かつ現実的。お猿さんでもできる。ネットワークも利用しなくていいし、複雑なシステムを組み上げる必要もない。ただ、今回のケースでは少なくとも映像の外部出力を最低3ポート以上確保せねばならないため並みのPCでは達成できない。(グラボ積んだデスクトップならワンチャン)コストが最もかかる方法ではある。
もっと言えば高価な機材を現場に置きたくないという意向も無視せざるを得ないこともあり、なかなか難しそう。
結論
ということで散々検討をしてきた結果、不要なマシンを利用できたりメリットも多いことからとりあえず僕のスキルアップも兼ねてLAN同期させる方向で考えている。具体的にこういうことしたよってことがもし出てくればまたここにあげます。