WHIP/WHEP Streaming

最終更新日:2025-08-19 18:42:42

本ガイドでは、CDNetworks Low Latency Live Streaming サービスを利用し、WHIP(WebRTC-HTTP Ingestion Protocol)でライブ配信を行い、WHEP(WebRTC-HTTP Egress Protocol)でその配信を再生する方法について説明します。

WHIPとWHEPとは?

  • WHIP(WebRTC-HTTP Ingestion Protocol) は、WebRTCストリームの配信を簡略化するIETF標準プロトコルです。複雑なシグナリングの代わりに標準的なHTTP POSTリクエストを使用します。これにより、WHIP対応エンコーダーはメディアサーバーへ接続でき、超低遅延かつスケーラブルで安全な配信が可能となります。
  • WHEP(WebRTC-HTTP Egress Protocol) は、再生用の標準プロトコルです。HTTPベースの手法を用いることで、WebRTCストリームの受信を簡素化し、最新のプレイヤーとの幅広い互換性を確保します。

CDNetworksは、配信のためのWHIPと再生のためのWHEPの両方に対応しています。

前提条件

始める前に、以下の項目をご用意ください:

  1. ストリーミングDomainの設定:Low Latency Live Streamingコンソールにアクセスし、配信用の主推域名(インジェスト)および視聴用のpull domain(再生)が有効になっているかご確認ください。
  2. 対応エンコーダー:このガイドでは、例として**OBS Studio(v30.0以降)**を使用しています。OBS Studio公式サイトからダウンロードできます。他に対応しているツールについては、サードパーティ互換性ガイドをご参照ください。

ステップ1:エンコーダー(OBS)の設定

WebRTC配信を安定させるためには、エンコーダーとストリーム送信先の設定を正しく構成する必要があります。

1. エンコーディングパラメータの設定

  1. OBSで、設定 > 出力に移動します。
  2. 出力モード詳細に設定します。
  3. ストリーミングタブで、最適なパフォーマンスのために以下の設定を適用してください。
設定 推奨値 理由
ビデオエンコーダー H.264 ブラウザやデバイス間で最高の互換性を確保します。
オーディオエンコーダー Opus WebRTCに必要です。OBSはWHIPストリームの場合、自動的に選択します。
x264オプション bframes=0 重要。 Bフレームを無効化し、Webプレイヤーでのカクつきを防ぎます。
OBS配信の詳細出力設定

2. ストリーム送信先の設定

  1. 設定 > ストリームに進んでください。

  2. サービスWHIPを選択してください。

  3. サーバー欄に、次のフォーマットでWHIPインジェストURLを入力してください:

    https://<your-push-domain>/<appname>/<streamname>.sdp
    
    • <your-push-domain>を、設定済みのpush streaming domainに置き換えてください。
    • <appname><streamname>は、ご利用中のアプリケーション名およびストリーム名に置き換えてください。これらは、異なるストリーム(例: 'live’や’test’など)を整理・管理するためのユーザー定義名です。

重要
.sdpサフィックスは必須です。当社のプラットフォームでは、ストリームがWHIPインジェストであることを識別するために必要となります。

WHIPサービス用に構成されたOBSストリーム設定。

手順2:ストリームを開始する

  1. 適用およびOKをクリックして設定を保存してください。
  2. OBSのメインウィンドウで配信開始をクリックしてください。
  3. OBSウィンドウ下部の接続状況を監視してください:
    • 緑色:接続は安定しており、ストリームが配信中です。
    • 黄色/赤色:接続に問題があります。Server URLとネットワークの安定性を確認してください。

ステップ3:再生の検証

ライブ配信をテストするには、WHEPに対応した任意のプレイヤー、または弊社のWebベースのデモプレイヤーをご利用いただけます。どちらの方法でも、stream playback用のURLフォーマットは同じです。

再生URLフォーマット

https://<your-pull-domain>/<appname>/<streamname>.sdp
  • <appname><streamname>がOBSで設定した値と一致していることを確認してください。
  • すべてのWebRTC再生には、.sdpサフィックスが必要です。

オプション1:WHEPプレイヤーでテストする

WHEP互換の任意のプレイヤーを使って、配信のテストが可能です。例えば、Eyevinn WebRTC Playerは当社チームが互換性を確認したプレイヤーの一つです。

Eyevinnプレイヤーでテストする場合:

  1. プレーヤーを開くEyevinn WebRTC Player
  2. WHEP URLを入力:「WHEP URL」欄に再生用の完全なURLを貼り付けてください。
  3. 再生を開始:ストリームが自動的に再生されます。

オプション2:CDNetworksデモプレーヤーでのテスト

迅速な確認には、弊社のデモプレーヤーをご利用いただけます。

注意
このプレイヤーはWHEPの代わりに当社独自のシグナリングプロトコルを利用しています。ネットワークから同じ低遅延の映像を受信するため、ストリームが正しく動作しているか簡単に確認できます。

テスト手順:

  1. CDNetworks WebRTC Playerを開いてください。
  2. 入力フィールドに全ての再生用URL(.sdpを含む)を入力してください。
  3. 再生をクリックします。ストリームが表示されれば、設定は正常に完了しています。

FAQ

Q: エンコーダーがOpus音声Codecに対応していません。どうすればよいですか?
A:
当社のプラットフォームで音声をトランスコードできます。アカウントに音声トランスコーディング機能を有効化するため、サポートチームまでご連絡ください。

Q: H.265(HEVC)Codecでの配信は可能ですか?
A:
いいえ、WHIP/WHEPはH.265をネイティブサポートしていません。直接配信する場合、H.264をご利用ください。ただし、ソースがH.265の場合は、アカウントに映像トランスコーディング機能を追加できますので、サポートチームまでご連絡ください。

Q: Bフレーム(bframes=0)の無効化は絶対に必要ですか?
A:
プロトコル要件ではありませんが、強く推奨します。Bフレームは、Webブラウザでの映像のカクつきや再生停止の最も一般的な原因です。快適な視聴体験のために、WebRTC配信では必ずBフレームを無効にしてください。