Genvid Ingest¶
Genvid Ingest では、gvencode を用いたプロジェクトに RTMP Ingest サーバーを追加する方法を紹介していきます。RTMP Ingest サーバーを追加することで、外部 A/V ソースを使用できるようになります。
In This Section
オーディオおよびビデオのストリームを追加できるのは、コンポジションだけであることに注意してください。Ingest サーバーは、データストリームや通知を受信したり、コマンドやイベントを送信することはできません。
注釈
ストリーミング中に動画の解像度を変更することはサポートされていません。
この例では、まず Genvid Studio サービス に DirectX Cube サンプル のインスタンスを設定します。この 2 つ目のインスタンスを Ingest サーバーに追加し、そこに OBS Studio (バージョン 20 以降)のローカルインスタンスを接続して、ウェブカメラの 2 つ目のソースを提供します。
クラスタの設定¶
Genvid Studio サービス の指示に従って、すべてのサービスを開始します。
すべて適切に動作することを確認してください。
Stop All をクリックするとすべてのサービスが停止します。
Ingest 設定を読み込みます。
py ingest.py load
Ingest ジョブが クラスタ UI に存在することを確認します。
Start All ボタンをクリックしてサービスを再開します。
Ingest リンクが青色に変わるまで待ちます。
Ingest リンクを右クリックして Copy link address を選択します。
OBS の設定にはリンクアドレスが必要です。
OBS Studio の設定¶
OBS Studio をダウンロードしてインストールします。
設定を行い、ストリーミングを行うシーンを選択します。
File > Settings をクリックします。
Stream を選択します。
Service フィールドで 「Custom」 を選択します。
Server フィールドに Ingest リンクをペーストします。
配信サービス の Stream Key をペーストします。
rtmp://
で始まる URL です。重要
ブラウザでアドレスに
unsafe-
が追加された場合は、URL から削除してください。以下の (推奨) 設定を選択します。
出力 (詳細) | ビデオビットレート | 2000 ~ 6000 kbps ストリームの品質 (解像度、FPS) に依存します。 |
エンコーダ | x264 または h264 | |
レートコントロール | CBR | |
プロファイル | Baseline、Main、High | |
オーディオビットレート | 128 ~ 320 Kbps | |
オーディオ | サンプリングレート | 44.1khz または 48khz |
チャンネル | Mono または Stereo | |
ビデオ | 基本 (キャンバス) 解像度 | ゲームと同じ。 |
出力 (スケール) 解像度 | ゲームと同じ。 | |
ダウンスケールフィルタ | Lanczos (sharpened scaling, 32 samples)。 | |
一般的な FPS 値 | Genvid スタックの設定と同じ FPS (ビデオ配信のフレームレート = 30 または 60)。 | |
詳細 | レンダラー | Direct3D 11 |
カラー フォーマット | NV12 または I420 | |
YUV カラースペース | 601 または 709 | |
YUV カラースペース | Partial または Full |
以上でストリーミングを開始できます。
注釈
Genvid スタックは、ジョブを開始する際に「先着順」を原則としています。OBS のストリームを正しく受信するために、OBS からのストリーミング開始前に Ingest ジョブを開始することをお勧めします。
以下の順でジョブを開始します。#、Services #、Studio #、Ingest #、Web #、Open OBS #。ゲームを配信する準備ができたら、ゲームジョブを開始してください。
重要
Studio に OBS ストリームが表示されるまで、ゲームを開始しないでください。
ストリームの構成¶
Cluster UI
に戻り、 Studio
リンクをクリックします。これでストリームは 2 番目のソースになりました。配信ストリームを処理するための情報については、 Studio Web サイト を確認してください。
ストリームのタイミング¶
このセクションでは、複数のソースをプロダクションで使用している場合のオーディオ/ビデオストリームのタイミングについて説明します。
以下の図は、ゲームを表示する 1 つ目のソースと、解説者のオーディオやビデオを含む 2 つ目のソースをまとめたプロダクションのデプロイを紹介しています。2 番目のソースは、PIP(ピクチャ・イン・ピクチャ)、ボイスオーバー、または編集なしで使用できます。この図は、ディレクターが Genvid Studio で配信を行っていることも示しています。
ストリームの処理によって、ストリームに遅延が発生する場合があります。この遅延は主にストリームのエンコード、デコード、送信に起因するものです。ゲームのプレイヤーとディレクターとの間の遅延は、通常、約 15 フレーム、つまり 0.5 秒です。コメンテータとディレクターの間の遅延は約 3 秒です。
Studio website の Sources セクションのコントロールを使用して、遅延を調整できます。
スクリプトリファレンス¶
Ingest sample script
usage: ingest.py [-h] [--loglevel {DEBUG,INFO,WARNING,ERROR}] [--logformat LOGFORMAT] [-c CLUSTER_ID]
{env,load,unload} ...
Positional Arguments¶
command | 使用するコマンド: env, load, unload |
Named Arguments¶
--loglevel | 使用するコマンド: DEBUG, INFO, WARNING, ERROR スクリプトのログレベルを設定する |
--logformat | スクリプトのログ形式を設定する |
-c, --cluster_id | |
クラスタ ID。コマンドラインで設定されていない場合は、環境変数 GENVID_CLUSTER_ID があればそれを使用します。それ以外の場合、デフォルトは 『local』 です。 デフォルト: 「local」 |