Bitmovin、 Google Compute Engine でビデオのトランスコーディングを数時間から数分に短縮
課題
近年では、ほとんどの人がビデオの撮影を行います。例えば、猫がレーザーポインターの光を追いかける 3 分間のムービーなどですが、こういう物が、まさに流行になりつつあります。他には、スポーツイベントや授賞式の中継、あるいは自然災害のニュース映像のリアルタイムストリーミングなどもあります。ここでの課題は、これらのビデオのネットへの公開を数分、あるいは数秒の時間差で行うことです。やらなくてはならないのはトランスコーディングです。アナログあるいはデジタルの生のファイルを圧縮した後、インターネットでの高速、高効率なストリーミングが可能な他の圧縮フォーマットへ変換してデスクトップやモバイルの顧客へと届けます。
これまでのトランスコーディングソリューションは多くのプロセッサ、多くのメモリ、多くのストレージを必要としていました。それでも、ほとんどのエンコーディングサービスはリアルタイムとは言えず、実際 1 時間相当の HD ビデオのトランスコーディングが 1 時間では終わりませんでした。その為、非常に多くのエンターテイメント企業やニュースサイト、その他のブロードキャスターはトランスコーディングが間に合うように、インターネットでのストリーミング配信を低解像度で行っているのです、と説明するのは bitmovin の共同創設者で CTO の Christopher Müller 氏です。
ソリューション
bitmovin の bitcodin サービスは Google Compute Engine のサーバークラスタを利用し、 HD、 4K や更に高画質のビデオを実時間より短い時間で、インターネットのライブやオンデマンドストリーミング用にトランスコーディングします。「サーバーを数分間スプールして、それをロード、実行した後シャットダウンします。これが Google では大変うまく動作するのです。大変、感動しました。」と Müller 氏は述べています。
bitcodin では、入力やトランスコーディングした後の出力は、ウェブで良く使われているどのフォーマットでも可能ですが、この会社の創設者たちは MPEG-DASH (Dynamic Adaptive Streaming over HTTP) と呼ばれている新しいストリーミング技術の開発を、 MP3 音声圧縮フォーマットやMP 4 動画像圧縮フォーマットなどの策定を行ってきた業界団体である MPEG (Moving Picture Experts Group) を支援する形で進めています。MPEG-DASH を最初に採用する企業の中には YouTube や Netflix があり、このフォーマットがストリーミングで主要な役割を演じることを世間に示す役割を担っています。「このような大きな企業が規格を後押ししてくれるのは大変うれしいです。」
バーチャルサーバーを Compute Engine で並列に稼働させた上で動作する Bitcodin は、ハンドコーディングと最適化された C/C++ で書かれます。顧客が HD ビデオをトランスコーディングする必要がある場合、データをブラウザ経由でアップロードするか、 API を用いてストリームするか、あるいは顧客の Google Cloud Storage から直接アクセスするかのどれかを選べます。
bitcodin では HD ビデオファイルは Compute Engine のバーチャルサーバーを使って、複数の画質にトランスコーディングされます。最近のパフォーマンスの改善で、トランスコーディングのスピードは実時間の 66 倍まで向上しました。これは、ビデオのトランスコーディングの時間が再生時間の 66 分の 1 になるということで、また、トランスコーディングプロセスの最中に再生ができるということでもあります。トランスコードされたビデオは Google Cloud Storage に保存され、 CDN 経由で顧客に提供されます。コンテンツをこの様に高速で柔軟にトランスコーディングすることは、ビデオとオーディオの同期や bitcodin の瞬時の再生機能などを考えると、容易な作業ではありません。エンコードされたコンテンツはブロードキャスター自身のウェブサイトでインターネットに送信されます。
「bitcodin のシステムのメリットは、トランスコーディングをしながら顧客がビデオを見ることができ、品質要求に合致しているか確認したり、コンテンツを即座に公開したりできることです。」と Müller 氏は述べます。これは他のトランスコーディングと比較して時間の節約になります。というのは、他のトランスコーディングの手法ではトランスコーディングのプロセスが全て終了するまで結果を確認できないからです。
成果
「私たちは、毎晩 8:00 にニュースを制作するブロードキャスターをユーザーとして持っています。これまでは、ビデオをネットで公開するまでに 2 時間掛かっていましたが、 Google を使ってそれがリアルタイムに行うことが出来るようになりました。制作と並行してエンコードが可能で、実際に掛かる時間は数分です。」と Müller 氏は述べています。「私たちの顧客は直ぐにアウトプットが得られます。4K やあるいは 8K のエンコーディングでも同じことが可能です。4K ビデオであれば実時間の 5 から 6 倍でエンコードが可能です。」
クラウドに関して言えば、 bitmovin は完全にどっぷりとつかっています。「サーバーを購入することは考えたことが有りません。 bitcodin は最初からクラウド向けにデザインされています。ハードウエア には関わりたくないのです。オーバーヘッドが大きすぎます。」と Müller 氏は説明します。1 つのビデオをトランスコーディングするのに数台のサーバーが必要なので、もし、ある瞬間に数百の顧客がいたら、結果的に数千のサーバーを使わなくてはいけないことになります。Google Compute Engine なら bitcodin はビジネスや顧客の要求に合わせてスケーリングが可能になります。
Müller 氏は bitmovin の高いスループットを Compute Engine とクラウドストレージの間の相互接続スピードのおかげだと評価しています。Google Cloud Platform を使うもう一つの重要なメリットは、 1 連のバーチャルサーバーをスピンアップするプロビジョニング時間が通常 2 分以下と早いことです、と Müller 氏は言っています。「ビデオをトランスコーディングする時、コンテンツをサーバーインスタンスとストレージにディストリビュートしないといけませんが、これが実に早いのです。時々、数百とか数千のサーバーを並列にスタートさせないといけないこともありますが、 Google Cloud Platform なら完璧に動くのです。」