この記事では、さまざまな目的に合わせて出力ストリームを設定する方法について説明します。.
この記事の内容:
→ はじめに
→ パラメータと設定文字列の使用
→ 設定例
→ AACの高音質オーディオストリーム
→ 色空間と彩度サブサンプリング およびインターレース
→ 複数のオーディオトラック
→ クローズドキャプションとSCTE
→ 特定のIPアドレスへのストリームのルーティング
→ 監視とトラブルシューティング
1. はじめに
ソース(チャンネル、入力、ディレクタービュー)ごとに、最大15種類のストリーム設定を行うことができます。デフォルトでは、ストリームの開始時にソースからビデオ形式が引き継がれますが、任意の解像度へトランスコードすることも可能です。.
プロトコルを選択すると、ビデオ/オーディオコーデックおよびURLの他のフィールドも選択内容に応じて変更されます。つまり、すべてのストリームプロトコルで、すべてのビデオ/オーディオコーデックが利用可能になるわけではありません。.
情報: NVIDIAエンコーダーは、インターレース形式に対応しなくなりました。代わりにIntel QuickSyncをご利用ください。.
URL欄には、必要なURL形式の例が表示されます。「URL情報」をクリックすると、ユーザー名やパスワードの組み込み方法など、さらに多くの例が表示されます。「プレビュー」をクリックするとインターネットブラウザが開きますが、このプレビューURLはPLAYDECKでは使用されません。あくまで、ユーザーが「プレビュー」をクリックした際にブラウザを開くためのものです。.
2. パラメータと設定の使用
さらに、選択したプロトコルやコーデックに応じて、その他のパラメータを設定できます。これらを活用することで、設定を微調整することが可能です。例えば、ストリームをCBR(定速)にしたり、メタデータを追加したりすることができます。.
「パラメータ」をクリックするとエディタが開き、選択内容に応じて設定可能な項目のみが表示されます。デフォルト値と異なる値はハイライト表示されます。.
「設定文字列」は、選択したすべてのプロトコルやコーデック、およびそれぞれのパラメータを表したものです。 この設定文字列は双方向で機能します。テキストフィールドに設定文字列をコピー&ペーストし、「文字列から更新」をクリックすることで、その値を上位の項目に適用することも可能です。これにより、ストリームID間で設定を簡単にコピーしたり、他のユーザーと共有したりすることができます。.

3. 設定例
ここでは、さまざまな用途におすすめの設定をいくつかご紹介します。PLAYDECKにコピー&ペーストし、「文字列から更新」をクリックしてください。.
DVBストリーム CBRおよびGOP Bフレームを使用。PCR、PTS-DTS、バッファアンダーランエラーは発生しない
format='dvb' protocol='udp://' mpegts_start_pid='60' video::streamid='80' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::streamid='81' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' pmt_start_pid='100' mpegts_flags='-system_b' rc_buffers='4' pcr_period='35' pat_period='0.1' sdt_period='0.5' tdt_period='10' start_pcr='0' service_name='TEST' service_provider='PD' service_id='1' original_network_id='1' transport_stream_id='201' service_type='advanced_codec_digital_hdtv'
あるいは、簡潔に言うと:
format='dvb' protocol='udp://' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' service_type='advanced_codec_digital_hdtv'
情報: DVBレシーバーは機種ごとに異なり、設定パラメータも異なる場合があります。一部のレシーバーでは、設定値からのいかなる逸脱も許容されません。 公式ガイドライン, となり、画面は真っ黒になります。DVB信号をエンコードする最も信頼性の高い方法は、ハードウェアエンコーダーを使用することです。例えば、. ハイビジョン.
DVBストリームのPCRエラーなどを検査する際のベストプラクティスは、以下のツールのいずれかを使用することです:
– DVBControl DVBAnalyzer (価格は約2000ユーロですが、最も信頼性が高く、PTS-DTSエラーを検出できます)
– StreamGURU (価格は約300ユーロ。あらゆるETRエラーを検出でき、ビットレートのグラフを表示します)
– TSAnalyzer (無料ですが、ストリームURLの取り込みが可能で、HDにTSファイルが必要です)
– その他、注目すべきツール:DVBInspector、Elecard Stream Analyzer、StreamXpert

————————————————————
SRTストリーム CBRで25 FPS、高音質
次のサンプルは、複数の顧客によってマルチチャンネル・ストリーム環境においてミュージックビデオコンテンツの配信に利用されています。この構成は、4つの出力+ストリームチャンネルを並行してスムーズに動作させ、FHD ACCオーディオで最適な音質と画質を実現しています。.
format='mpegts' protocol='srt://' video::codec='n264' video::b='4M' video::rc_type='cbr' video::preset='p4' audio::codec='aac' audio::b='128K' audio::profile='aac_low' audio::stereo_mode='ms_force' audio::minrate='128K' audio::maxrate='128K' audio::bufsize='128K' audio::aac_coder='0'
————————————————————
RTMPストリーム CBRで60 FPS、キーフレーム間隔2秒
次のサンプルはYouTube向けです。YouTubeアナリティクスとストリームヘルスツールを使用して、ストリームの安定性を確認してください:
format='flv' protocol='rtmp://' video::codec='n264' video::b='9000k' video::maxrate='9000k' video::bufsize='9000k' video::g='120' video::preset='veryfast' audio::codec='aac' audio::b='128k' audio::ar='44100'
次のサンプルはTwitch用です。使用方法 Twitchインスペクター ストリームの安定性を確認するには、ストリームURLに「?bandwidthtest=true」を追加して、配信開始を防ぐようにしてください。.
format='flv' protocol='rtmp://' merge_tracks='true' video::codec='n264' video::b='5800k' video::maxrate='5800k' video::bufsize='5800k' video::g='120' video::preset='veryfast' audio::codec='aac' audio::b='128k' video::tune='zerolatency' audio::codec='aac' audio::ar='44100' audio::b='128k'
————————————————————
ソニー XDCAM HD422 標準
ビデオパラメータ(4:2:2 色差サブサンプリング、特定のGOP構造(M=3、N=15)、インターレースフィールド処理など)に加え、48 kHzのサンプリングレートでプロ仕様の24ビットPCMオーディオ。.
format='mxf' video::codec='mpeg2video' video::b='50M' video::interlace='1' video::top='1' video::g='15' video::v422='true' video::bf='2' video::flags='+ildct+ilme' audio::codec='pcm_s24le' audio::ar='48000'
4. AACの高音質オーディオストリーム
デフォルトのAACストリーミング設定はCPU負荷を抑えられますが、音楽チャンネルでは音が平板に聞こえる場合があります。最高品質のオーディオを実現するには、対象ユーザーやソース素材に応じて、以下の2つのプロファイルのいずれかを選択してください。.
手早く準備:
– 出典: 48 kHzのクリップ(320 kbpsまたはロスレスPCM)を使用してください。.
– 動画: 帯域幅が低い場合は、動画の解像度を720p30に下げてください。常にハードウェアエンコードを使用してください。.
オプション1:最大限の互換性と安定性(安全な選択肢)
おすすめ: 標準ストリーミング、ケーブル事業者、およびDVB-Tマルチプレクサ。これは、さまざまな種類のコンテンツにおいて位相の問題を防ぐために最も安全なプロファイルです。.
format='mpegts' protocol='udp://' video::codec='n264' video::b='4M' audio::codec='aac' audio::b='256K' audio::profile='aac_low' audio::aac_coder='0'
audio::profile=’aac_low’: 最高品質のAAC-LCを設定し、100%のハードウェアデコーダーとの互換性を確保します。.
audio::aac_coder=’0′: クリアなトランジェントを実現するため、高品質な2ループエンコードを強制します(CPU使用率が急上昇する場合は、1に変更してください)。.
ダイナミック・ステレオ: ステレオ管理をエンコーダーに委ねることで、音源の品質が不十分な場合でも高い耐性を発揮します。.
オプション 2:ハイファイ・ストリーミング(ステレオ最適化版)
おすすめ: スタジオ品質のクリアな音源ファイルを使用した、音楽専門チャンネル。このプロファイルでは、厳密なVBRエンベロープと、強制的なMid/Sideステレオ処理を採用しています。.
format='mpegts' protocol='udp://' video::codec='n264' video::b='4M' audio::codec='aac' audio::b='256K' audio::profile='aac_low' audio::stereo_mode='ms_force' audio::minrate='200K' audio::maxrate='320K' audio::bufsize='640K' audio::aac_coder='0'
audio::stereo_mode=’ms_force’: ミッド/サイド・ステレオ処理を行い、帯域幅の効率を最大限に高め、深みと広がりのあるステレオ音響空間を実現します。.
minrate=’200K’ / maxrate=’320K’ / bufsize=’640K’: 静かなパッセージでの音質低下を防ぎつつ、音楽的なピークが激しく現れる部分にも対応できる、きめ細かなVBRエンベロープ。.
注: 特定のクリップで音に「迫力」が欠けていたり、空洞のような響きがしたりする場合は、ソース素材に位相の不整合が含まれている可能性があるため、オプション1に戻してください。.
5. 色空間、彩度サブサンプリング、およびインターレース
DVB向けの4:2:2やインターレースエンコーディングなど、特定のカラースペースのサポートは、使用しているIntel製CPUやNVIDIA製GPUに大きく依存します。.
こちらは~のページです NVIDIA NVenc および422サポート、そしてこちらで インテル クイックシンク および422サポート。.
簡単に言えば:
1. NVIDIAによるインターレースエンコーディングのサポート:
– Pascal(GTX 10シリーズ):インターレース表示に対応した最後のアーキテクチャ
– Turing / Ampere / Ada (RTX 20/30/40): インターレースエンコードのハードウェアサポートが削除されました
– Blackwell(RTX 50シリーズ):H.264(8ビットおよび10ビット)のインターレースエンコードが復活しました
2. NVIDIAによる4:2:2カラースペースのサポート:
– ブラックウェル(RTX 50シリーズ)
3. 4:2:2 カラースペースに対する Intel のサポート
– 第10世代以降のプロセッサでは、Quick Sync を通じて、4:2:2 カラーサンプリングによる HEVC コーデックのハードウェアアクセラレーションによるエンコードおよびデコードに対応しています。.
– 第9世代Intel® Core™プロセッサー以前のモデルに搭載されていたグラフィックスコントローラーでは、ハードウェアアクセラレーションによるエンコードおよびデコードにおいて、HEVCコーデックの色サンプリングが4:2:0に制限されていました。.
これは、Intel Quick Sync(第10世代以降)を使用して4:2:2エンコードを行うための簡単な設定例です。
format='dvb' protocol='udp://' video::codec='hevc_qsv' video::b='5M' audio::codec='aac' audio::b='128K' video::pix_fmt='yuyv422'
注: x264のCPUエンコーダーでは、インターレースや4:2:2色空間などの機能も利用可能です。 当プロジェクトでは、GPL 部分(例:libx264)を含まない FFmpeg の LGPL 版を使用しているため、これらの機能は有効になっていません。FFmpeg ライブラリを独自のバージョンに置き換えることは可能です。.
6. 複数のオーディオトラック
異なる言語やディレクター音声など、複数のオーディオトラックを送信する必要がある場合、サポートされているすべてのプロトコル(DVB、RTMP、UDPなど)を使用して送信できます。また、異なるオーディオコーデックを適用することも可能です。.
具体的な手順としては、まずチャンネル内のすべてのオーディオトラックをアクティブにした状態で、ストリーム出力用のオーディオトラックを、例えばステレオペアなどに分割します。.
まず、チャンネルの設定が2チャンネル以上になっていることを確認してください:

次に、これらのオーディオチャンネルにオーディオコンテンツを「入力」します。例えば、クリップの「すべてのオーディオトラック」を有効にするか、SDI経由ですべてのトラックを取り込む(最大16オーディオトラック)ことで行えます。 また、オーディオマッピングを使用してオーディオトラックのレベルを調整したり、オーディオフィルターを使用して特定のオーディオトラックをコピーしたり遅延させたりすることもできます。.

次に、ストリーム設定、特にストリームプロトコルのパラメータを開き、「オーディオトラックの分割」を有効にします:

情報: ストリーム設定の「オーディオチャンネル数」は、2に設定したままにしてください。.
必要に応じて、追加のオーディオトラックに異なるオーディオコーデックを適用することができます。最初のトラック以降、各オーディオトラックの番号が順次増加していく点にご注意ください:
audio::codec='aac' audio.1::codec='ac3' audio.2::codec='libmp3lame' audio.3::codec='mp2'
また、各オーディオトラックに言語記述子を適用することもできます:
audio::metadata::language='eng' audio.1::metadata::language='ita' audio.2::metadata::language='fra' audio.3::metadata::language='ger'
情報: 言語コードは、以下の要件を満たす必要があります ISO 639-2
作成したオーディオトラックは、例えばStreamGURUなどでテストすることができます:

7. クローズドキャプションとSCTE
どちらもプロトコルのパラメータ設定で有効にできます:

情報: SCTE-35は、SRT、DVB、UDP(ビデオコーデックは問わない)のプロトコルでのみ利用可能です。. クローズドキャプションは、MPEG-2、H.264(プロトコル不問)のビデオコーデックでのみ利用可能です。
これを行うには、両方が有効になっており、かつチャンネルですでに利用可能である必要があります。SCTEおよびクローズドキャプションに関する詳細については、以下の記事をご参照ください:
→ SCTE-35をストリームサーバーに送信する
→ クローズドキャプション/字幕
8. 特定のIPアドレスへのストリーム転送
お客様の環境では、ストリームを特定のネットワーク経由で送信する必要があります。これは主に、ストリーミング専用の回線を確保し、通常のネットワークトラフィックへの影響を防ぐために利用されます。.
もし使用する場合 UDPストリーム このパラメータをURLに直接追加するだけです:
udp://IPアドレス:ポート番号?localaddr=172.20.10.2
もし使用する場合 SRTストリーム このパラメータをURLに直接追加するだけです。これは ランデブーモード:
srt://ip:port?mode=rendezvous&localip=172.20.10.2
RTMPストリームを使用する場合、残念ながらそのようなパラメータは存在しません。すべてのRTMP送信トラフィックを手動でルーティングする必要があります。そのためには、以下を使用します Proxifier. プロファイル、プロキシ化ルール、新規ルールの追加の順に進み、以下のように編集して、ルールの最上部に移動させてください。「詳細設定」から希望のアダプターを選択してください。.

2回線目を使わずにローカルでテストを実行したい場合は、PCでイーサネットアダプターとWi-Fiの両方を有効にし、スマートフォンで新しいホットスポットを開始して、PCのWi-Fiをそのスマートフォンに接続してください。その後、コマンドプロンプト(「cmd」)を開き、「ipconfig」と入力します。必要なIPアドレスはそこに表示されます:

ネットワークトラフィックは、以下の方法でテストできます ワイアシャーク.
9. 監視とトラブルシューティング
ストリームの再生が遅延したり、完全に停止したりした場合、何が原因なのか分からないことがよくあります。ここでは、問題の原因を特定するためのヒントをいくつかご紹介します。.
1. ビットレート
次のルールに従ってください:ストリームの動画および音声のビットレート設定は、クリップのエンコードビットレートを決して超えてはいけません。プレイリスト内のクリップを右クリックして「MediaInfo」を開き、確認してください。この場合、動画のビットレートを3M、音声のビットレートを128Kに設定してください。.

2. モニタリング
PLAYDECKで「モニター」ウィンドウを開くか、ストリームログを開いてください。.

FPS 50/60 (FPS 平均値/目標値)
現在のエンコードフレームレートと平均エンコードフレームレートを、目標値と比較します。数値が低下している場合は、システムがリアルタイムエンコードに追いつけていないことを示しています。.
経過時間 (フレーム待機時間(秒))
前回のフレームが処理されてからの経過時間を表示します。この値が増加している場合、ソースの欠落、設定の誤り、または接続が切断されているために、フレームが処理されていない可能性があります。.
スキップ (ドロップフレーム)
パフォーマンスのボトルネックを示す最も重要な指標です。この値が増加した場合、エンコーダーはフレームを十分に高速に処理できないため、意図的にフレームをドロップしています。.
休憩 (フレームが欠落しています)
ネットワークの速度が遅い場合、「Breaks」と表示されるのは、サーバーが ~したい 新しいフレームが生成されたものの、時間内に送信先へ届かない場合(RTMPやSRTなど、確認応答を必要とするプロトコルにおいて)。また、送信元が時間内にフレームを送信しなかった場合にも、途切れが発生することがあります。.
バッファ (フレーム待機中)
内部キューで待機しているフレームの数を監視します。バッファが絶えず増加している場合は、通常、フレームのスキップや中断が発生する前兆となります。. 高いのは飛び越え、低いのは乗り越える: これは通常、あなたの CPU/GPUエンコーダー 遅すぎる。. ハイブレイク、ロー/スキップなし: これは通常、 ネットワークまたはソース がボトルネックとなっています。書き込み側はエンコードの準備ができていますが、接続の遅延により、フレームが適切な間隔で到着しない、あるいは「引き出されない」状態になっています。.
3. ネットワーク/帯域幅の問題
すべてのストリームを停止し、Windows コマンドプロンプト(スタートメニューの「cmd」)を開き、次のように入力してください
tracert
ターゲットURLのホスト名またはIPアドレスを入力してください。値が100ミリ秒を超える場合、ストリームターゲットへの接続が遅いことを示しています。.
また、現在、光回線、ケーブル回線、DSLなどのダウンロード速度は概ね高速(100 Mbps以上)ですが、アップロード速度はそれよりもかなり遅くなる可能性がある点にも留意してください。次のようなツールを使用してください スピードテスト 実際のアップロード速度を確認するには。.
また、ストリームサーバー上の「Bandwidth Profiler」を使用して、希望するビットレートがサーバー側でも正しく受信されているか確認してください。ほとんどのプロバイダーやソフトウェアには、受信ビットレートを測定するためのツールが用意されています。理想的にはグラフ形式で表示され、送信中の通信途切れなどを特定するのに役立ちます。 手元に測定ツールがない場合は、YouTubeへのストリーミングをお勧めします。YouTubeにはストリームアナライザーが組み込まれており、不安定な接続の診断に非常に役立ちます。.
また、ご利用の地域や国向けに「ローカル」ストリーム取り込みURLが提供されているかどうか、プロバイダーまたはサービス提供元に確認してください。例えば、Twitchでは以下のURLが提供されています Twitch インジェスト・エンドポイント.