このトピックでは、Open Broadcaster Software (OBS) とプッシュ SDK を使用してライブストリームをインジェストする方法について説明します。
前提条件
インジェスト URL を生成します。詳細については、「ライブストリーム URL の生成」をご参照ください。
注意事項
ApsaraVideo Live は、1 つのインジェスト URL につき同時に1つのストリームのみを受け付け、その URL への後続のストリームはすべて拒否されます。
ライブストリームのインジェスト中に例外が発生した場合は、トラブルシューティングツールを使用して一般的なインジェストの問題を診断し、解決策を確認してください。詳細については、「トラブルシューティング」をご参照ください。
システムの問題によって発生するまれなストリームインジェストの失敗がライブストリーミングサービスに影響を与えることを防ぐため、サードパーティのストリームインジェストツールを使用する際は、ストリームインジェストの再試行やエラーアラームなどの高可用性ポリシーの実装を推奨します。また、ストリームインジェストコールバックを設定してストリームインジェストのステータスを監視することもできます。ストリームインジェストが成功した後にのみストリーミング URL を配信してください。詳細については、「イベントコールバック」をご参照ください。
インジェストドメインはストリームインジェストのビットレートを制限しませんが、単一ストリームのビットレートは 4 Mbps 以内に保つよう推奨します。
OBS を使用したインジェスト
OBS は Windows、macOS、Linux で利用できます。このトピックでは、Windows 用の OBS Studio V27.2.3 を例として使用します。他のバージョンやオペレーティングシステムでも手順は同様です。
公式ウェブサイトから OBS Studio をダウンロードし、インストールします。
OBS Studio を起動します。
メニューバーで、[ファイル] > [設定] を選択します。
設定ページで、[配信] をクリックし、次のパラメータを設定します。
パラメータ
説明
サービス
[カスタム] を選択します。
サーバー
生成された認証済みインジェスト URL を入力します。例:
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************ストリームキー
ストリームキーは空欄のままにします。
OBS Studio のメインウィンドウで、[ソース] セクションにソースを追加し、[配信開始] をクリックします。
ストリーム管理ページに移動します。[アクティブストリーム] タブで、アクティブストリームを表示および管理できます。
プッシュ SDK デモを使用したインジェスト
モバイルデバイスで QR コードをスキャンして、プッシュ SDK デモをインストールします。
説明iOS で「信頼されていないエンタープライズデベロッパ」というメッセージが表示された場合は、[設定] > [一般] > [デバイス管理] に移動し、Taobao プロファイルを見つけて信頼してください。
プッシュ SDK デモを起動します。
[カメラプッシュ] または [画面共有] を選択します。
説明ローカルビデオのインジェストの場合、デモは元の YUV 形式のみをサポートしています。
認証済みインジェスト URL (例:
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************) を入力し、必要に応じて他のパラメータを設定します。[プッシュ開始] をクリックして、モバイルデバイスからのストリームインジェストを開始します。
ストリーム管理ページに移動します。[アクティブストリーム] タブで、アクティブストリームを表示および管理できます。
プッシュ SDK を使用したインジェスト
プッシュ SDK for iOS
プッシュ SDK for iOS を統合します。詳細については、「SDK の統合」をご参照ください。
ストリームインジェストパラメータを設定し、ストリームをインジェストします。詳細については、「機能の使用」をご参照ください。
設定時およびインジェスト時の例外処理については、「エラー、例外、特殊なケースの処理」をご参照ください。
プッシュ SDK for Android
プッシュ SDK for Android を統合します。詳細については、「SDK の統合」をご参照ください。
ストリームインジェストパラメータを設定し、ストリームをインジェストします。詳細については、「機能の使用」をご参照ください。
設定時およびインジェスト時の例外処理については、「エラー、例外、特殊なケースの処理」をご参照ください。
プッシュ SDK for Flutter
プッシュ SDK for Flutter を統合します。詳細については、「SDK の統合」をご参照ください。
ストリームインジェストパラメータを設定し、ストリームをインジェストします。詳細については、「機能の使用」をご参照ください。
プッシュ SDK for Web
プッシュ SDK for Web を統合します。詳細については、「プッシュ SDK for Web のクイックスタート」をご参照ください。
よくある質問
OBS ストリームインジェストが正しく設定されているのに、再生時に映像が表示されない場合はどうすればよいですか?
OBS で、インジェストドメイン名、アプリケーション名 (
appName)、およびストリーム名 (streamName) が正しく設定されていることを確認してください。コンソールのストリーム管理ページに移動し、[アクティブストリーム] タブでストリームが利用可能かどうかを確認してください。
ストリームが利用できない場合は、ローカルの OBS インジェストステータスとネットワーク接続のトラブルシューティングを行ってください。再生をテストする前に、インジェストが成功していることを確認してください。
iOS デバイスでライブストリームの映像にカクつきがあるが、音声は正常な場合はどうすればよいですか?
この問題は通常、ビデオエンコーディングパラメータと iOS デバイスのデコーディング機能の不一致によって発生します。iOS との互換性を確保するため、ビデオコーデック、ビットレート、GOP などのストリームインジェスト設定を調整してください。
Douyin から ApsaraVideo Live に直接ストリーミングできますか?
Douyin は ApsaraVideo Live への直接ストリームインジェストをサポートしていません。ライブストリームコンテンツを ApsaraVideo Live に送信するには、OBS やカスタムインジェストツールなどの独立したインジェストクライアントを使用してください。RTMP、ARTC、SRT などのサポートされているプロトコルを使用して、ApsaraVideo Live によって生成されたインジェスト URL にライブストリームをプッシュしてください。
RTSP カメラから ApsaraVideo Live にストリーミングするにはどうすればよいですか?
RTSP カメラは通常 RTSP ストリームを出力します。ApsaraVideo Live は RTMP、ARTC、SRT インジェストプロトコルのみをサポートしており、RTSP ストリームを直接受け入れません。RTSP カメラから ApsaraVideo Live にインジェストするには、次のいずれかの方法を使用してください。
デバイスメーカーに連絡して、管理ソフトウェアまたはゲートウェイデバイスが RTSP ストリームを RTMP または SRT プロトコルに変換できるかどうかを確認してください。
プロトコル変換をサポートするサードパーティのインジェストツールを使用して、RTSP ストリームを RTMP または SRT 経由で ApsaraVideo Live にリレーしてください。
インジェストクライアントで変更したエンコーディング設定はいつ有効になりますか? ストリーム品質を調整するにはどうすればよいですか?
インジェストクライアントで GOP などのエンコーディング設定を変更した後、現在のストリームインジェストを停止して再度開始してください。新しい設定は、ストリームインジェストを再開した後にのみ有効になるため、ライブストリームインジェスト中に行った変更はすぐには適用されません。
ストリームをインジェストする方法に応じて、ストリーム品質を調整してください。
プッシュ SDK デモまたはパッケージ化されたアプリを使用する場合は、インジェストインターフェイスで解像度を直接調整してください。
プッシュ SDK を独自のアプリに統合する場合は、コードで
setQualityModeをresolution_firstに設定して高解像度を優先し、解像度とターゲットビットレートを増やし、アダプティブビットレートを有効にしてください。
Web Real-Time Communication (WebRTC) またはブラウザベースのストリームインジェストを使用する場合、ブラウザを閉じた後もライブチャンネルはオンラインのままですか? ブラウザベースのストリームインジェストと OBS インジェストの違いは何ですか?
Web Real-Time Communication (WebRTC) とブラウザベースのストリームインジェストは、ブラウザとライブストリーミングサービス間のリアルタイム接続に依存しています。ブラウザを閉じると、ストリームインジェストは直ちに停止し、ApsaraVideo Live のライブチャンネルはオンラインのままになりません。ライブチャンネルをオンラインに保つには、OBS などのスタンドアロンインジェストツールを使用してください。
ブラウザベースのストリームインジェストと比較して、OBS インジェストには次の利点があります。
NVENC、QSV、VideoToolbox などのハードウェアエンコーディングをサポートしており、エンコーディング効率が向上します。
キーフレームとビットレートをきめ細かく制御でき、レイテンシを低減し、ストリームインジェストをより安定させます。
SRT プロトコルをサポートしており、パケット損失に耐性があり、カスタム再接続ポリシーが可能です。
リソースをより効率的にスケジュールし、ブラウザのガベージコレクションによって発生するカクつきを回避します。
次のステップ
ライブストリームのインジェストを開始した後、ライブストリーム再生を開始できます。詳細については、「ライブストリーム再生」をご参照ください。
インジェストされたストリームを管理するには、「ストリームの管理」をご参照ください。