ApsaraVideo Live では、リアルタイムストリーミング (RTS) を使用したストリームインジェストと再生に複数のアプローチをサポートしています。ユースケース、技術スタック、視聴者に適したものをお選びください。
概要
RTS はライブストリーミングのレイテンシーを最小限に抑えます。ストリームインジェストと再生に 4 つのアプローチをサポートしています。
ネイティブ RTS: SDK を使用して、RTS ストリームインジェストと再生を iOS または Android アプリに直接組み込みます。
Web RTS: HTML5 と JavaScript を使用して、Web ページに RTS ストリームインジェストと再生を追加します。アプリのインストールは不要です。
Open Broadcaster Software (OBS): コードを記述することなく、OBS から RTS ストリームをプッシュします。
RTMP インジェスト + ARTC 再生: FFmpeg で RTMP を介してストリームをインジェストし、Ubuntu などのネイティブ RTS SDK がないプラットフォームで ARTC を介して再生します。
ネイティブ RTS
RTS SDK を iOS または Android アプリに統合することで、モバイルユーザーに完全なストリームインジェストおよび再生機能を提供します。
強み:
高性能: 低レベル API により、高効率かつ低レイテンシーを実現します。
柔軟なカスタマイズ: 特定の要件に合わせて、パラメータとロジックを細かく調整できます。
シナリオ
国際的なスポーツ放送やプレミアムオンライン教育プラットフォームなど、レイテンシーに敏感で高いストリーミングパフォーマンスが求められるアプリケーションに最適です。
このアプローチは、iOS と Android の個別のコードベースを開発および保守するリソースがあるエンジニアリングチームに適しています。
Web RTS
HTML5 と JavaScript を使用して、任意の Web ページに RTS ストリームインジェストと再生を追加します。ユーザーは追加のソフトウェアをインストールすることなく、主要なブラウザでストリームの配信と視聴が可能です。
強み
クロスプラットフォーム互換性: 主要なブラウザを搭載した任意のデバイスで動作し、アプリのダウンロードは不要です。
シームレスな更新: サーバー側で変更をデプロイすると、クライアント側の更新を必要とせず、すべてのユーザーに即座に反映されます。
シナリオ
多様なデバイスとプラットフォームで RTS を迅速に提供したい、またはネイティブアプリに投資する前に市場の需要を検証したいチームに適しています。
OBS
OBS は、動画録画とライブストリーミングのためのオープンソースツールです。組み込みのサポートまたはプラグインを通じて RTS に対応しており、カスタム開発は不要です。
強み
簡単なセットアップ: 直感的なインターフェイスと豊富な組み込み機能により、迅速にストリーミングを開始できます。
拡張可能: 大規模なコミュニティと広範なプラグインエコシステムにより、ニーズの拡大に応じて機能を追加できます。
クロスプラットフォーム: Windows、macOS、Linux で動作します。
シナリオ
コードを記述することなく柔軟なライブプロダクションツールを必要とする個人のコンテンツクリエイター、小規模チーム、配信者に適しています。
SDK がないプラットフォーム向けの RTMP インジェスト + ARTC 再生
Ubuntu など、ネイティブ RTS SDK がないプラットフォームでは、FFmpeg を使用して RTMP を介してストリームをインジェストし、ARTC を介して再生することで、低レイテンシーのライブストリーミングを実現します。
ストリームのインジェスト
次のコマンドを実行して、お使いのインジェストドメインにストリームをインジェストします。ビデオコーデックは H.264、オーディオコーデックは AAC です。
ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://<ingest domain>/AppName/StreamName
再生
再生側では、ARTC 再生 URL を使用します: artc://<streaming domain>/AppName/StreamName。
オーディオコーデックは AAC にする必要があります。Web 再生時には、再生互換性を確保するために、システムが AAC を Opus に自動的にトランスコードします。
シナリオ
このアプローチでは、RTS のサブセカンドレイテンシーモードを使用し、エンドツーエンドのレイテンシーは 400 ms ~ 800 ms で、標準のライブストリーミングとの前方互換性があります。低レイテンシーのライブストリーミングが必要だが、ネイティブ RTS SDK がないプラットフォームに適しています。