
Mux の CEO 兼共同設立者である Jon Dahl 氏は、ネイティブ ビデオ エクスペリエンスに基づくアプリケーションと Web サイトの大きなルネッサンスが進行していると考えています。
「動画は最も強力なコミュニケーション手段です」とダール氏は述べた。「10秒間で、テキストを読んだり画像を見たりするよりもずっと多くのことを伝えられるという点が動画の特別な点です。ウェブサイトやアプリケーション内でリアルタイムに動画を使ってコミュニケーションをとることの可能性は無限大です。」
インターネット上のコンテンツの80%以上が動画であり、企業はアプリ内でリッチでインタラクティブな動画体験を提供することが顧客獲得を促進することに気づき始めています。特にリアルタイム動画は、新たなフロントエンド体験によって無数の業界に革命を起こす可能性を秘めた強力なフォーマットです。
しかし、オンラインビデオは開発者にとって扱いにくいフォーマットです。これは問題でもありますが、同時にチャンスでもあります。
ユーザーにビデオを届けるプロセス
大規模な動画配信は、今日のテクノロジーにおける最も難しい課題の一つかもしれません。開発者であれば、MP4ファイルをS3にドロップし、その前にCDNを配置するかもしれません。簡単ですよね?
まあ、そうでもないですね。次に、ユーザーの帯域幅が足りない、動画が常にバッファリングされて画質がひどい、ユーザーデバイスの一部が最新のコーデックスをサポートしていない、といったことに気づくかもしれません。
参照: 誰もが知っておくべき Windows、Linux、Mac のコマンド (無料 PDF) (TechRepublic)
実際、あらゆるビデオストリームの背後には、様々な困難な技術的問題が潜んでいます。トランスコーディングは複雑で、膨大な計算量を必要とします。エンコードと圧縮を行う際には、ファイルサイズと計算量の間で多くのトレードオフが生じます。
ストリーミング配信を行う場合は、使用するストリーミングプロトコルとコーデックを選択する必要があります。動画配信には、適切に調整されたCDN(場合によっては複数のCDN)が必要です。デバイス上で動画を再生するという単純なプロセスでさえ、Android、iOS、そして各ウェブブラウザによって大きく異なるため、簡単ではありません。
そのビデオを公開すると、作業はさらに複雑になります。
ライブ動画はオンデマンド動画の10倍も難しい。信じられない?このAWSリファレンスアーキテクチャを見れば、ライブ動画の配信とスケーリングに必要なバックエンドの複雑さが分かるだろう。
具体的に何が必要なのでしょうか?まず、カメラからのライブ映像をネットワークプロトコルに変換する必要があります。そしてクラウドに送信し、トランスコード、デコード、検査を行い、様々な圧縮方法を決定します。動画はどこかに保存し、1つ以上のコンテンツ配信ネットワーク(CDN)を使って動画を配信する必要があります。さらに、キャッシュ層を使って出力を削減する必要があります。これは無限に複雑なフォーマットであり、毎年新しいプロトコルや標準が登場しています。
開発者にとってのビデオ抽象化のスイートスポット
開発者がアプリケーションやウェブサイトに動画を取り込む場合、オンデマンド動画(録画済み動画)の場合もあれば、ストリーミング動画(1対多動画)の場合もあり、最近ではリアルタイム動画(ライブ動画)も増えています。動画エンジニアでない限り、これらの異なる動画形式が本質的に異なり、バックエンドのインフラストラクチャに全く異なる要件があることを開発者は理解していないことが多いです。
上で述べた複雑さを考えると、これは開発者が準備不足で決断しにくい点の一つと言えるでしょう。しかしダール氏は、開発者がビデオフォーマットの抽象化における「スイートスポット」を追求する上で、こうしたニュアンスをすべて理解する必要はないと考えています。
ダール氏によると、Muxは自社のビデオAPIを適切な抽象化と捉えており、エンタープライズ向けビデオホスティングプロバイダーのように高レベルすぎることも、多くの開発者がパブリッククラウドプロバイダーで経験するようなDIYパスのように低レベルすぎることもありません。Muxのユーザーの多くは、クラウドトランスコーダー、ストレージプラットフォーム、CDNをダクトテープで繋ぎ合わせようと格闘した後に、Muxにたどり着きます。
ダール氏は、Muxのミッションである、ビデオを用いた開発者向け抽象化の実現を、クラウドコンピューティング黎明期に例えています。Rackspaceのアプローチは非常に低レベルでしたが、Google AppEngineのアプローチは非常に高レベルでした。その後、Amazon EC2が最適なAPI抽象化をサーバーに導入し、市場を席巻し、クラウドコンピューティングの真の飛躍を促しました。
オンデマンド、ストリーミング、リアルタイムビデオのための1つのツールチェーン
本日、Real-Time Video のリリースにより、Mux はあらゆるビデオフォーマットを単一の API に統合した初の開発者プラットフォームとなるかもしれません。これは、ビデオを必要としながらも、ビデオ配信の博士号を取得するつもりのない開発者にとって大きなニュースです。
ストリーミングビデオは1対多のフォーマットで、3~30秒の遅延が許容されますが、リアルタイムビデオは1対1または多対多のフォーマットであり、シームレスなユーザーエクスペリエンスを実現するには遅延を150ミリ秒以下に抑える必要があります。これには根本的に異なるビデオインフラストラクチャが必要であり、だからこそ、これらの技術を単一のプラットフォームに統合した企業は他にありません。
参照: Linux 30周年: オープンソースオペレーティングシステムを祝う (無料 PDF) (TechRepublic)
開発者ツールとAPIの抽象化は、過去10年間、開発者にとってゲームチェンジャーとなってきました。例えば、決済処理のようなユビキタスなユースケースを考えると、つい最近まですべてをセットアップするのは非常に面倒な作業だったことを忘れてしまいがちです。開発者は決済処理業者や銀行などとのやり取りに何十もの手順を踏まなければなりませんでした。しかし、Stripeが登場し、適切なAPIスタックを編み出したことで、決済処理は開発者にとってほぼ解決されたエクスペリエンスとなりました。
数十年にわたり、ビデオはテキストや画像と同様に、インターネットの基本的な構成要素としてフォーマットとして存在してきました。しかし、ビデオの扱いは高度に専門化されたビデオエンジニアの領域であり、ネイティブビデオのユースケースはようやく普及し始めたばかりです。
Mux は、標準の JSON および Rest API、Webhook、およびあらゆる開発者があらゆるビデオ フォーマットで作業できるワークフローを備え、1 つの一貫した API でビデオを制御すると同時に、難しい部分を抽象化して、すべての開発者がビデオ エンジニアリングの専門家でなくてもビデオ フォーマットのパワーを活用できるようにすることを目的としています。
開示: 私は MongoDB で働いていますが、ここで述べられている意見は私自身のものです。