オープンソースがビデオ業界に革命を起こし、開発者に力を与える | TechRepublic

オープンソースがビデオ業界に革命を起こし、開発者に力を与える | TechRepublic
架空のビデオ プレーヤー サービスを使用してタブレットで映画を視聴している男性。
画像: terovesalainen/Adobe Stock

過去 20 年間、サーバー側のインフラストラクチャからプログラミング言語やフレームワーク、開発者のほぼすべての関心事に至るまで、オープンソースがあらゆるものをいかに徹底的に支配してきたかを考えると、いくつかの領域を見ると、まるで 90 年代から抜け出せないかのように、独自のスタックとベンダー ロックインが依然として見られることに驚かされます。

ビデオはそうした領域の 1 つです。

40代以上の私たちは、商用インターネットの黎明期、どのブラウザにも独自のプラグインがあるような時代を覚えています。Windows Media Playerのプラグイン、RealPlayerのプラグイン、QuickTimeのプラグインなど、ありとあらゆるプラグインがありました。ユーザーは、最新バージョンのプラグインをダウンロードする必要があるというメッセージに絶えず悩まされていました。非常に断片的で雑然とした時代でした。

そしてFlashの導入により、ついにすべてのブラウザで動作する単一の統合プラグイン標準が誕生しました。Flashは当時の開発者にとって非常に役立ちました。少なくとも、単一のプラグインを対象に開発することができたからです。

しかしその後、HTML5が登場し、ビデオを組み込み機能としてブラウザにネイティブに取り込むことが約束され、AppleがiOSにHTML5を義務付けたことで、ブラウザのデフォルトのメディア再生標準として業界全体がHTML5へとほぼ移行しました。

何年も経った今でも、ビデオは開発者にとって依然として孤立した領域である

インターネット上のあらゆる動画ストリームの背後には、様々な技術的課題が潜んでいます。動画バックエンドは、トランスコード、ファイルサイズのトレードオフ、エンコードと圧縮時の計算といった問題を処理します。デバイス上で動画を再生するという単純なプロセスでさえ、Android、iOS、そして各ウェブブラウザによって大きく異なるため、それほど単純ではありません。だからこそ、多くの動画インフラプロバイダーが存在するのです。

参照: 誰もが知っておくべき Windows、Linux、Mac のコマンド (無料 PDF) (TechRepublic)

ビデオプレーヤーのプロバイダーも数多く存在します。一般的なオープンソースプレーヤーとしては、Video.js、jPlayer、MediaElement.js、Plyr、Clapprなどが挙げられます。JSに特化したプレーヤーとしては、ReactPlayer、Videogular、Vue-core-video-player、Stencil-video-playerなどが挙げられます。さらに、JWPlayer、Bitmovin、Theo、Nexplayer、castLabsといったプロプライエタリプレーヤーもあります。それぞれに独自のメリットと欠点があります。

開発者にとって最も難しいのは、これら全てが閉じたエコシステムであり、様々なプレーヤーオプションが特定の再生インフラと密接に結びついているということです。つまり、あるプレーヤーでカスタマイズを始めても、そのカスタマイズを他のプレーヤーに簡単に反映させることはできません。単一のビデオエコシステムに閉じ込められてしまいがちですが、これはオープンウェブの精神に反します。

メディアChromeは開発者を解放したい

Muxは、動画エコシステムにおける興味深いプレーヤーです。今年の夏、Muxが3つの主要な動画フォーマット(オンデマンド、リアルタイム、ライブ動画)を単一のAPI抽象化に統合したことを記事にしました。Muxは動画にとって、Twilioがユニファイドコミュニケーションにとって、あるいはStripeが決済にとってであるように、かつては開発者にとって非常に負担の大きい領域を、開発者API主導の抽象化によって実現します。

Muxが、Web上で動画再生エクスペリエンスを開発する開発者向けに新しいMux Playerを発表しましたが、その核心部分は非常に興味深いものです。MuxはMedia Chromeをオープンソース化し、その上にMux Playerを構築しました。Media Chromeは、開発者がプレーンなHTMLとCSSを使用してWeb上でプレーヤーUIを構築できるフロントエンドフレームワークです。

この画期的な点は、Media Chrome がメディア プレーヤーのユーザー インターフェースをバックエンドの再生インフラストラクチャから抽象化し、特定の再生アーキテクチャに縛られることなく、プレーンな DOM HTML を介してメディア (ビデオとオーディオ) をアプリケーションに取り込むために、開発者が使い慣れたシンプルなコンポーネント スタイルのワークフローを提供する点です。

Webコンポーネントによって可能になったビデオのゲームチェンジャー

Media Chrome の物語は、実際には 2 つのオープンソースの取り組みの物語です。

Media Chrome は、Google が導入したブラウザ仕様である Web コンポーネントを使用して構築されています。Web コンポーネントは 10 年以上にわたって開発が続けられており、近年ではブラウザ標準として大きな注目を集めています。Web コンポーネントは、あらゆるブラウザ環境で完全にカプセル化された機能を持つカスタム要素の再利用を可能にします。

参照: Linux 30周年: オープンソースオペレーティングシステムを祝う (無料 PDF) (TechRepublic)

Web コンポーネントにより、Media Chrome の作成者である Steve Heffernan (Video.js の作成者でもある) は、再生ボタン、シーク ボタン、メディア コントローラーなどのメディア プレーヤー コンポーネントを作成し、開発者がすべてのブラウザーでプレーンな DOM HTML 要素として呼び出すことができるようになりました。

Media Chromeでは、UIコンポーネントが再生エンジンから分離されています。これは重要な関心の分離であり、開発者は基盤となる再生技術を気にすることなく、ビデオプレーヤーのUIを構築できます。ライブ、リアルタイム、オンデマンドのビデオがウェブサイトやアプリケーションにネイティブに取り込まれるケースが増えているため、ビデオ再生は今日のフロントエンド開発者にとって非常に興味深い分野です。

Web コンポーネントのサポートに積極的に取り組んでいる React は別として、現在、ほぼすべての一般的な Web フレームワークは Web コンポーネントとスムーズに連携します。そのため、Web コンポーネントは信頼できる非常に堅実な標準であり、Media Chrome は、現在および近い将来にわたってすべての最新の Web インフラストラクチャで機能することがわかっているため、開発者が自信を持って採用できるテクノロジです。

ビデオエコシステムにおける開発者の選択肢の大きな飛躍

ウェブ メディアとしてのビデオは長い間、ビデオの再生を予測可能にするために必要な多くのバックエンドの考慮事項を理解している、高度に専門化されたビデオ エンジニアによって支配されてきました。

しかし、Media Chromeのようなオープンソースのブレークスルーにより、ビデオは今日のAPI主導のエコシステムと同様の軌跡を辿ると予測するのは妥当でしょう。開発者は、Web上でカスタムビデオエクスペリエンスを作成するために、最も洗練されたフロントエンドテクノロジーを選択しながら、API呼び出しを使用して目的に応じたバックエンドインフラストラクチャを呼び出すことができるようになります。これは素晴らしいことであり、進歩です。

開示: 私は MongoDB で働いていますが、ここで表明されている意見は私自身のものです。

Tagged: