[8日目] LiveShell Xの密かなコダワリ

歩行者天国のときの秋葉原ライブカメラ

こんにちは。小林哲之です。組み込みソフトウェアエンジニアとして、LiveShell Xに携わりました。

先日、秋葉原ライブカメラをリニューアルして配信機材としてLiveShell Xを投入しました。最初だけちょっとつまずきましたが、現在は安定して動作しています。今まではUstreamだけでしたが、新たにYouTube LiveFRESH! by AbemaTVが加わりました。この3つの配信を一台のLiveShell Xでまかなっています。YouTube Liveには1920×1080 (いわゆるフルHD)で配信しています。(2016年12月8日現在)
秋葉原ライブカメラを見るにはタブレットのアプリがおすすめです。ちょっと古いパソコンよりもずっと滑らかに再生できます。個人的にはFRESH! でながめるのが気に入っています。

歩行者天国のときの秋葉原ライブカメラ
歩行者天国のときの秋葉原ライブカメラ

さて、今日はカタログにはあらわれない、開発者のコダワリのポイントをいくつか紹介します。

小さくすることへのコダワリ

liveshellx_on_hand
これは製品コンセプトを決めた弊社代表岩佐のコダワリです。
最初にできあがってきたモックは今より少し背が高い形状でした。しかし岩佐がそれをよしとせず、メカデザのエンジニアとハードウェアのエンジニアが部品の配置をあれこれパズルのように組み合わせ、この大きさになりました。しかもバッテリー駆動時間を犠牲にしていません。
(その過程で、私が希望していた標準サイズのSDカードスロットは没になり、マイクロSDカードスロットに変更されました。)
「LiveShell Xにはなぜ ○○コネクタをつけなかったの?」と聞かれることがありますが、それは大雑把に言えば、小さくすることを優先したからです。(もちろんコストも。)

複数配信のコダワリ

LiveShell X はひとつのビデオ入力から複数のライブ配信サービスに異なる画像サイズ、異なるビットレートで同時に配信することができます。実はこの機能は、一番最初の製品企画会議では必須要件に入っていませんでした。既存機種からの変更規模があまりに大きいので、「そこまではやらなくていい」という位置づけでした。しかし、「ライブ配信としては1280x720p 30fps で充分なのではないか?この製品で1920x1080p 60fpsできるようになるが、それは過剰で実際には使われずに、LiveShell 2を2台買ったほうがいいと言われてしまうのではないか?LiveShell 2の2台分以上の価値を提供したい。」という思いがあり、私のコダワリで複数配信の機能を入れることにしました。
でもやはり、実装には苦労しました。単純に複数別々に配信する実験まではうまくいったのですが、その後の製品レベルまで詰めて行くのがつらかったです。いくつかの制限事項と折り合いをつける必要もありました。「複数配信の機能を入れていなければ、とっくに完成したなあ」と後悔したことも。
いろいろな人の手も借りつつ、最終的になんとか完成させることができました。おかげさまで、この複数配信できる機能は好評のようです。こだわった甲斐がありました。

モノラル音声の密かなコダワリ

音声のチャネル数の選択の部分なのですが、従来のLiveShellシリーズではステレオとモノラルの2つが選択可能です。
これと同じように作ることもできたのですが、ちょっと思うところあってLiveShell X では以下のように選択肢を増やしておきました。

  • モノラル (左右ミックス)
  • モノラル (左のみ)
  • モノラル (右のみ)
  • ステレオ

つまり、左右のチャネルのどちらか片方だけを使うというモードを追加しました。
この実装はそれほど難しいものではありません。従来のLiveShellシリーズになかったのは単にその必要性がなかったからです。

これはどんなときに使うことを想定したかというと、「簡易2カ国語対応」です。昔のテレビの2カ国語放送のように、音声2チャンネルのうちの左に主音声、右に副音声を入れてもらえば、複数同時配信するときに、映像は同じものを流しつつ、ひとつは主音声、もうひとつには副音声をつけることができます。
図で示すとこんな感じです。
simple_multilingual_streaming
実際にこんな使い方をする人がいるかどうかはわからなかったのですが、LiveShell Xの発売直前の体験イベントに来ていただいた方がまさにこの機能を要望していたのでびっくりしました。「こんなこともあろうかと」とか心の中で言いながらドヤ顔で説明させていただきました。(^^)v

実は録画も複数できるようにしておいたというコダワリ

LiveShell Xはひとつのビデオ入力から複数のライブ配信サービスに同時に映像を送ることができます。実は録画もライブ配信も最後の出力先をどこにするか?の違いでしかありません。なので、録画も複数できます。(録画のファイル名は開始時刻を元に自動生成していますが、同時刻に複数録画を開始してもファイル名が重複しないように、チャネル番号もファイル名に含むようにしてあります。)
複数録画したい場面はほとんどないとは思いますが、同一の映像をH.264とH.265でそれぞれ同時に録画してみて、画質をじっくり見比べるということをしたい人はいるだろうなあと。

ただし、複数の録画を同時にするときにはマイクロSDカードにランダムアクセス性能の高いものを使用してください。世の中にはシーケンシャルアクセスは充分速いのにランダムアクセスがとても遅いマイクロSDカードが存在して、それを使って高ビットレートで複数の同時録画をするとフレーム落ちが発生する可能性があります。
安全をとって録画を同時にはひとつだけしかできないように制限をかけるという案もあったのですが、あえて制限はしませんでした。なお、UHS 1やclass 10などの規格はシーケンシャルアクセス性能しか考慮していないので、選定基準にできないことに留意してください。

最後に

とりとめがなくなるので今回はこのあたりで切り上げます。コダワリポイントはまだまだあるので、またそのうちに。

ライブ配信機器として、入門機ならばLiveShell 2をおすすめしますが、ワンランクアップしたい方はぜひLiveShell Xをご検討ください。
値段が高い分の価値はありますよ!!