OBSに画質を求めるのは間違っているだろうか

TL;DR

この記事はOSSのOpen Broadcaster Software(OBS Studio)のチュートリアルです。

OBSは配信の品質向上、処理の軽量化に最適なアプリケーションです。たとえ録画用途であっても他のアプリケーションを選ぶ余地はないでしょう。

日本語の情報が少なく、OBS関連では辿り着けない情報も含めて解説するので、何かに躓いている方や更に配信・録画品質を上げたい方は必見だ。

初心者向けではない内容も所々に見え隠れしているが、安定した高品質な配信・録画の為に気を付けなければならないポイントを網羅する為なのでご了承願いたい。目次を活用してね!

更新履歴

日時 内容
2019/04/16 ・推奨されるハードウェアのスペックについて
レンダリング遅延と映像の遅延 (非同期)について
Chromeのハードウェアアクセラレーションを無効化せずにキャプチャする方法について
・OBS単体でBGMを流す具体例
FFmpegカスタム出力のx264、utvideoの解説
YouTubeの劣悪なエンコード事情とその対処方法について
2019/04/24 ・曲名表示BGMスクリプトの項を、OBSだけでBGMを再生・曲名を表示する方法に変更
YouTubeのVP9と疑似4Kについて
2019/04/28 ・OBSのログ、クラッシュレポートの見方について
・メディアソースの記述を修正
・OBSだけでBGMを再生する為の生成スクリプトに、曲名を表示しないオプションを追加、解説を修正
2019/05/10 ・はみ出ている要素を修正
・ソースの右クリックメニュー"変換"の説明を追記
・統計の解説の追記
ビットレートに関する項目を更新
・ANGLEの説明を修正
・詳細設定の説明、リンクの不具合の修正
・アプリケーション毎に音声を分けて録音する解説を更新
・OBSで動画編集する方法
・AudioMediaSource.ps1とその説明を更新
・よくある質問に対応したトラブルシューティングの項を追加
2019/06/21 トラブルシューティングに項目を追加
・タイムラプスの倍率の表記の誤りを修正
・ソースの右クリックメニュー"変換"についての記述を詳しく
・色空間についての記述を詳しく
YouTubeの新しい配信UIの解説
・Discordオーバーレイのフォントを変えるCSS
・カラーバーやタイマーを表示する方法
・疑似4Kライブ配信の方法
・正しい同時配信の方法

ダウンロードとインストール

OBSは開発が盛んなOSSなので、更新はチェックしておくと良い。
StreamlabsやN Airの場合、バージョンが古かったり録画機能が削除されているので、本家がオススメ。
下記の公式サイトにインストーラとZip版のURLがある。
obsproject.com

Zip版等をProgram Files以外のディレクトリにインストールする場合、bin・data・obs-pluginsが含まれるOBS Studioディレクトリのセキュリティ権限にALL APPLICATION PACKAGESというオブジェクト名を追加して、アクセス許可する必要があります。この権限がないと、特定の機能(UWPアプリのゲームキャプチャ)が正しく機能しない場合があります。

因みに"GitHubで見る"をクリックすれば、正式リリース前のRelease Candidate版(リリース候補版)等をいち早く試すこともできる。
勿論ここからソースコードを入手し、自前ビルドすることも可能。
github.com

初回起動と画面構成

自動構成ウィザードは、実行中のマシンに合わせて適切に設定してくれる。
らしいが、何れにせよ設定し直す必要があるので勉強も兼ねて"いいえ"を選択。

メニューバー

項目 説明
ファイル
録画を表示 ・設定->出力->録画->録画ファイルパスで設定されたディレクトリが開かれる。
録画の再多重化 ・再エンコードなしでmp4へコンテナ変換する機能。
設定 ・後述の##設定を参照
設定フォルダーを表示 ・シーンやプロファイル等のデータ、ログ等が保存される場所。
・ここだけバックアップしてあれば設定内容を復元できる。
プロファイルフォルダーを表示 ・現在選択中のプロファイルに該当するディレクトリを表示する。
常に手前に表示 ・ウィンドウがアクティブでなくても最前面に表示する。
終了 ・終了
編集 ・ここの項目はソースやミキサーの右クリックメニューにあるので、ここからアクセスする必要はない。
・解説もそれぞれの項目で行うので後程。
全画面インターフェイス ・フルスクリーン表示。F11で切り替えられる。
ドック ・UIのリセットで配置を初期設定に、UIのロックで配置を固定する。
GUIの下部に表示されている項目の有効/無効がここで切り替えられる。
・配信や録画の問題解決に必須なので"統計"に必ずチェックを入れる。OBS23.0~の機能なので、古いバージョンの人はアップデートしよう。
ツールバー ・リストボックス: 右クリックメニューの項目をGUIにも追加する。
ステータスバー ・配信、録画時間や安定性の簡易的な表示。
マルチビュー(全画面) ・放送用のお洒落な管理画面をフルスクリーンで表示する。
マルチビュー(ウィンドウ) ・放送用のお洒落な管理画面をウィンドウで表示する。
プロファイル ・配信、録画のエンコード設定を保存し、切り替えるもの。
シーンコレクション ・映像ソースが含まれるシーンの集合。配信、録画内容によってこれを切り替える。
・ミキサーの切り替えはシーンコレクションで行う。
ツール
自動構成ウィザード ・初回起動時にキャンセルしても、ここから実行できる。必要ない。
Decklink Output ・Blackmagic Designのキャプチャボードと連携できる機能。
字幕 (実験的) ・埋め込み(CEA-608/708)字幕。OBSの映像ソースとして使えるものではなく、ストリーミングサービス側で対応していないと表示されない。
自動シーンスイッチャー ・アクティブウィンドウのタイトルを取得し、それに合わせて自動でシーンを切り替える機能の設定。
出力タイマー ・配信、録画の開始/停止タイマー機能の設定が可能。
スクリプト ・バンドルされたLuaJITまたはシステムのPython環境を通してLuaPythonスクリプトを実行できる。cf.
ヘルプ
ヘルプポータル https://obsproject.com/help
ウェブサイト https://obsproject.com/
Discordサーバーに参加 https://discordapp.com/invite/obsproject
ログファイル ・ログファイルやクラッシュレポートのディレクトリを表示したり、OBSサーバにアップロードすることができます。
OBS Log AnalyzerOBS公式Discord #help-and-supportでURLを入力するとエラー内容等を整形して表示してくれる。
クラッシュレポート
更新を確認 ・ここからアップデート出来る。
OBS Studioについて ・クレジット

シーン

+で追加、-で削除。

ソース

選択されたシーン内に映像・音声・テキスト等のソースを追加(+ボタン)する。
また、既に追加されたものの表示・非表示をここで切り替える。

ソースの追加
項目 説明
ウィンドウキャプチャ ・特定のウィンドウ、ボーダーレスウィンドウを安定してキャプチャする。
・フルスクリーンモードのゲームをキャプチャするには、ゲームキャプチャを使用する。
・仮想デスクトップ上のウィンドウもキャプチャ可能。
ゲームキャプチャ DirectXOpenGLゲームのウィンドウをキャプチャする。
・フルスクリーンモードのゲームに対応。
シーン ・シーンを切り替えずにシーンをソースとして表示する。
テキスト(GDI+) ・テキストを直接またはテキストファイルを指定して、映像に合成する。
ブラウザ ・OBS組み込みブラウザでURL先の内容を表示する。
・リソースを多く消費するため、メディアソース等で代替可能なものにわざわざ使わない。
メディアソース ・映像、音声ファイルを指定し、再生する。
・対応する拡張子のファイルがD&Dされたとき、自動で追加される。
・複数の映像、音声ファイルを連続して再生することも可能。
映像キャプチャデバイス ・キャプチャボードやWebカメラの映像を取得する。
画像 ・画像を指定し、表示する。
・対応する拡張子のファイルがD&Dされたとき、自動で追加される。
画像スライドショー ・複数の画像または画像の入ったディレクトリを指定し、スライドショーとして表示する。
画面キャプチャ ・個別のウィンドウではなく、デスクトップ全体のキャプチャを行う。
・複数のアプリケーションに跨がるなど画面全体を録画する必要がある時のみ使用する。
・仮想デスクトップは非対応。
色ソース ・パレットまたはHTMLカラーコードで単色の背景ソースを追加する。
音声入力キャプチャ Windows上での"録音デバイス"、ミキサー(設定->音声)の"マイク音声デバイス"に該当する音声デバイスをキャプチャする。
音声出力キャプチャ Windows上での"再生デバイス"、ミキサー(設定->音声)の"デスクトップ音声デバイス"に該当する音声デバイスをキャプチャする。
RME TotalMixやVoiceMeeter Bananaのようなソフトを使ってループバックする必要がない。
グループ化 ・ソースを束ねて一括でレイアウトを移動したり、フィルタを適用したり、纏めて表示/非表示を切り替える。
ソース/プレビューウィンドウの右クリックメニュー
項目 説明
選択したアイテムのグループ化 ・ソースを束ねて一括でレイアウトを移動したり、フィルタを適用したり、纏めて表示/非表示を切り替えられる。
・ショートカット操作は普段お使いのエクスプローラと同様です。
コピー ・ソースをコピーします。
貼り付け(参照) ・コピーしたソースを貼り付けます。コピー元と連動する点に注意。
貼り付け(複製) ・コピーしたソースを貼り付けます。コピー元とは別のソースとして機能します。(未実装?)
フィルタをコピーする/貼り付ける ・フィルタのみ別のソースに適用できます。
色の設定 ・ソースやグループの項目を任意の色で色分けできます。
名前を変更 ・ソース名を変更します。
削除 ・ソースを完全に削除します。
順序 ・ソースレイヤーの表示順を変更できます。
・上のソースほど優先的に前面に表示され、下のソースを隠します。
変換 変換をリセット ・ソースの拡大/縮小、回転や位置合わせの内容全てをリセットし、左上に元の大きさで戻します。
・変換の設定を弄る前に、必ず実行しておくと良いでしょう。
変換の編集 ・ソースの拡大/縮小、位置合わせをピクセル単位で行います。
・プレビューウィンドウ上で同様の操作を直感的に行えますが、思い通りの位置にならなかったり、適切でないスケーリングによってぼやける場合があるため、こちらを使用することを推奨します。
・慣れればスタジオモードを使用しなくても、ソースの位置調整を配信に載せないことが可能です。
画面に合わせる ・画面の大きさに合わせて拡大/縮小します。
拡大/縮小のアルゴリズムは下記の"スケールフィルタ"に従います。
・拡大/縮小率が縦横2x、スケールフィルタが"無効化"の場合のみ一切滲むことなく変換できます(例: FHD -無効化: Nearest neighbor-> UHD 4K)。
画面中央に置く ・ソースの拡大/縮小を行わず、キャンバスの中央に配置します。
出力サイズ変更(ソースサイズ) ・選択されたソースが基本(キャンバス)解像度、出力(スケーリング)解像度でない場合に項目がアクティブになります。
・自分が何をしているのか分からない場合は押すべきではありません。
スケールフィルタ ・スケールアルゴリズムを選択できます。
全画面プロジェクター ・選択したソースを全画面でプレビューします。
・Escまたは右クリックメニューから"閉じる"を選択して終了します。
・メインのプレビュー、番組ウィンドウでも同じ機能が使えます。
・遅延は比較的小さいので、OBSに表示された画面でプレイしつつ、オーバーレイのように表示されたコメントを見て配信、という方法も一応可能です。
ウィンドウプロジェクター ・選択したソースをウィンドウでプレビューします。
・メインのプレビュー、番組ウィンドウでも同じ機能が使えます。
対話 ・ブラウザソース等で使用できる対話的インターフェイスです。ボックスに文字を打ち込んだり、クリックを発生させることができます。
フィルタ ・後述の####フィルタを参照
プロパティ ・ソース毎の各項目を参照

フィルタ

OBSには豊富なフィルタが用意されています。23.0~多くのフィルタが追加されました。
複数のフィルタを重ね掛けすることもできます。

エフェクトフィルタ
項目 説明
LUT を適用 ・ルックアップテーブルを適用し、カラーグレーディング等を行える。
イメージ マスク/ブレンド ・ソースを切り抜き用の画像と合成します。
・画像ファイル自体にアルファマスクを使用するためにはアルファマスク(アルファチャンネル)を使用します。
カラーキー ・クロマキーと同様、映像の背景を抜きます。
・精度が悪いと感じる場合はクロマキーを使用します。
クロップ/パッド ・映像ソースの不要な部分を上下左右からカットします。
・16:9を21:9にクロップする時など、非常に便利です。位置合わせはソースの右クリックメニュー->変換で行うとズレなくぼやけたりせずに調整できます。
クロマキー ・映像の背景を抜きます。
・より良い結果を得るために、明るい色の背景色を使用してください。
シャープ ・映像をわずかにシャープにします。
・特に配信時の低ビットレート下では品質が大きく低下する場合があります。使用するとしても少量に留めましょう。
スクロール ・映像を連続してスクロールします。
・流れる文字やカラーバーに適用するとダサくて面白いでしょう。
スケーリング/アスペクト比 ・選択されたソースに対し、デフォルトのスケーリングフィルタを上書きします。
レンダリング遅延 ・少しだけ映像を遅らせることができる
・音ズレ(音が遅れる)する場合の調整に役立ちます。
色補正 ・カラーコレクションを行います。
・ガンマ、コントラスト、輝度、彩度、位相、透明度等を弄れます。
・間違った色空間(color space)や色範囲(color range)の設定を無理矢理補正する為のものではありません。
音声/映像フィルタ
項目 説明
VST 2.x プラグイン オーディオインターフェース等のVSTプラグインが対応していれば使用できます。
エキスパンダー ・音声のダイナミックレンジを大きくします。
ゲイン ・音量を大きくできます。
・基本的にオーディオインターフェース側で適切な音量になるように調整しましょう。
コンプレッサー ・音声のダイナミックレンジを小さくします。
・オーディオインターフェイスにこの機能がない場合使用してください。
ノイズゲート ・音量が閾値を超えた場合ゲートを開放することで、環境音やノイズフロアが常に録音される状態を防ぎます。
閾値を超えている時(喋っている間など)は環境音含め全ての音が入ります。
・オーディオインターフェイスにこの機能がない場合使用してください。
ノイズ抑制 ・音声を加工してノイズを目立たなくします。
・音質は劣化します。高品質な録音への近道は、良いオーディオインターフェイスを使用することです。
リミッター ・大きな音を強く抑制します。
映像の遅延 (非同期) ・映像と音声の両方を含むソースの映像のみを遅延させます。
・主に"映像キャプチャデバイス"ソースで使用します。
極性を反転する ・音の位相を反転します。
・オーディオインターフェイスにこの機能がない場合使用してください。

ウィンドウキャプチャ

項目 説明
ウィンドウ 任意 ・キャプチャしたいアプリケーションを起動した状態で、該当するものを選択。
Chrome系ブラウザの画面が取得できない場合、ショートカットの"リンク先"に`--use-angle=gl`を追加するか、chrome://flags/#use-angleを変更する(ハードウェアアクセラレーションを無効化にするのは非推奨)。
・フルスクリーンゲーム等の画面をフックする必要がある場合はゲームキャプチャを使用する。
ウィンドウの一致優先順位 ウィンドウのタイトルに一致する必要があります ・Window title must match
タイトルに一致、そうでなければ同じ種類のウィンドウを見つけます ・Match title, otherwise find window of same type
タイトルに一致、そうでなければ同じ実行可能ファイルのウィンドウを見つけます ・Match title, otherwise find window of same executeble
カーソルをキャプチャ 任意 マウスポインタを映像に含める場合はチェック、含めたくない場合はチェックを外す。
マルチアダプターの互換性 ・VRAM<-->RAM間のフレームコピーが行われ、パフォーマンスに影響するため基本的に無効。
ビデオカードが2枚以上(SLI等)の環境で正常にキャプチャされず真っ暗の場合に有効にする。

どちらの方法もパフォーマンスを悪化させるため、メインのブラウザの設定を弄ることは推奨されない。私はOBS用にChromiumを別途入れて使用している。

ゲームキャプチャ

項目 説明
モード フルスクリーンアプリケーションをキャプチャ ・フルスクリーンのアプリケーションを検出してキャプチャする。
特定のウィンドウをキャプチャ ・ウィンドウタイトルや実行ファイルを参照してキャプチャするウィンドウを選択する。
ホットキーで前面のウィンドウをキャプチャ ・設定->ホットキー->ゲームキャプチャ(ソース名)->全面のウィンドウをキャプチャ/キャプチャを無効化に設定されたキーを押下してウィンドウを選択する。
ウィンドウ 任意 ・キャプチャしたいアプリケーションを起動した状態で、該当するものを選択。
SLI/Crossfire キャプチャモード(遅い) ・VRAM<-->RAM間のフレームコピーが行われ、パフォーマンスに影響するため基本的に無効。
ビデオカードが2枚以上(SLI等)の環境で正常にキャプチャされず真っ暗の場合に有効にする。
強制的にスケーリングする 任意 ・ここでスケーリングしても、スケールフィルタ等を使用してもGPUが使用されるようです[要出典]。使いやすい方を選んでください。
・既にドットバイドットで、リスケールする必要が無い場合は無効にするべきでしょう。恐らく1920x1080に1920x1080のスケールフィルタを適用すると少しぼやけます。
透過を許可 任意 ・有効時はアルファチャンネルを使用できます。
キャプチャのフレームレートを制限する 任意 ・ゲーム側のfpsを無制限、垂直同期(高速)でCPUの過負荷が発生する場合、キャプチャのfpsのみ制限します。
カーソルをキャプチャ 任意 マウスポインタを映像に含める場合はチェック、含めたくない場合はチェックを外す。
アンチチート互換性フックを使用する ・デフォルトで有効。特定のゲームでフックエラーが発生した場合有効。
(steamなどの)サードパーティの製のオーバーレイをキャプチャする 任意
フック速度 通常 ・新しいウィンドウを見つけてフックしようとする間隔
・低速:~4s、通常:~2s、高速:~1s、最速:~0.2s
・通常が推奨され、早く設定することは推奨されません。

テキスト(GDI+)

設定項目が説明そのもので言及することが特にないので端折る。
因みに、テキストファイルの文字コードUTF-8の必要がある。メモ帳等で作成したShift-JIS(ANSI)は文字化けするので注意。

ブラウザ

項目 説明
ローカルファイル 任意 ・インターネットを利用するか、ローカルコピーのパスを指定する。
URL
カスタムフレームレートを使用 ・有効時、映像とは別のフレームレートでレンダリングを行う。
カスタムCSS 任意 ・追加のスタイルシートを適用できる。YouTubeのコメント等の装飾は主にこれが使用されている。
表示されていないときにソースをシャットダウン ・ブラウザソースはリソース喰らいなので、出来れば有効。
シーンがアクティブになったときブラウザの表示を更新 任意 ・ソースを非表示から表示に戻した時にリロードする。
現在のページを再読込 %AppData%\obs-studio\plugin_config\obs-browser\Cache の現在のページのキャッシュをフラッシュする。

メディアソース

項目 説明
ローカルファイル ・基本的に有効。ローカルファイルのみ対応。
・mp4, ts, mov, flv, mkv, avi, mp3, ogg, aac, wav, gif, webmに対応。
#同じコーデックのファイルであれば、txtに記述された複数のメディアをffmpegのconcatで連続して再生できる。
#txtはメディアと同じディレクトリに配置

ffconcat version 1.0
file 'A_Quiet_Thought.mp3'
file 'Absention.mp3'
file 'Acoustic_Circles.mp3'
file 'All_Hail_the_Queen.mp3'
file 'Angelic_Forest.mp3'
・(高度なオプション)無効時、ffmpeg demuxerを使用可能。
現在利用可能なフォーマット(ビルドに依存)(空欄で自動選択):
aa、applehttp、apng、asf、concat、flv(RTMP)、gif、image2、mov、mp4、3gp、QuickTime、mpegts、mpjpeg
繰り返し 任意 ・有効時、無限にループ再生する。
ソースがアクティブになったとき再生を再開する 任意 ・有効時、ソースを再表示すると最初から再生される。
・無効時はミュートのような挙動になる。
可能な場合ハードウェアデコードを使用 ffmpeg同梱のffplayと同様、全ての動画がハードウェアデコードに対応している訳ではない模様(ALL-I等)。
再生終了時にソースを非表示にする 任意 ・有効時、再生が終わったら動画を非表示にします。
・無効時、再生後は最後のフレームの静止画になります。
アクティブでないときにファイルを閉じる 任意 ・有効時、ソースが非表示状態であればファイルを編集可能。ただし、再表示に若干のタイムラグが生じる場合があります。
速度(パーセント) 任意 ・100で等倍速。
YUV色範囲 自動 ・正しくないcolor rangeを指定すると変な色になります。

映像キャプチャデバイス

項目 説明
バイス 任意 ・DirectShowデバイス入力に対応します。
Webカメラやキャプチャボードのドライバや、仮想キャプチャデバイスがインストールされていれば、ここにデバイス名(FaceRig、AVerMedia、Elgato、Blackmagic等)が表示されます。
・OBS使用時はキャプボ付属のアプリケーションを使用しない。
表示中でない場合非アクティブ化する ・チェックすると、表示していないときにデバイスはオフになります。
・映像だけでなく音声も同様です。
解像度/FPSタイプ カスタム ・カスタムに設定すると、下の項目がアクティブになります。
解像度 任意 ・キャプチャデバイス側の解像度に合わせる。
・キャンバス解像度と合わない場合、OBS側のフィルタ等で対応する。
FPS 出力FPSに合わせる
YUV色空間 自動 ・正しくないcolor rangeを指定すると変な色になります(Limited RangeをFull Rangeとして扱うと明るく白っぽく、FullをLimitedで扱うと暗く黒っぽくなる)。
YUV色範囲 自動
音声出力モード 音声のみをキャプチャ ・これ以外に設定されている場合、音声は一般的なデスクトップ音声デバイスからキャプチャされる可能性があります。

BlackMagick DeckLinkはOBS、FFmpegと親和性が高いので個人的にオススメなキャプチャボード。

DeckLink Quad HDMI Recorder

DeckLink Quad HDMI Recorder

画像

項目 説明
表示中でない画像は読み込まない ・チェックしておくと、非表示時にメモリを開放します。

ミキサー

設定->音声で設定したオーディオソースが表示される。
歯車又は右クリックでオーディオルーティング等の各種設定項目が表示される。

項目 説明
すべて再表示/非表示 音声ソースの表示/非表示を切り替える
名前を変更 表示名を変更できる
フィルタをコピーする/貼り付ける "フィルタ"で設定した項目をコピー&ペースト出来る
垂直レイアウト 既定では横だが、縦のレベルメータ表示に変えることができる。多くの音声デバイスを使用する人にオススメ。
フィルタ オーディオフィルタを使用できる。下記参照。
プロパティ ここでもデバイスの選択を行える。
オーディオの詳細プロパティ オーディオルーティングやパンの設定が出来る。下記参照。

フィルタ

#####音声/映像フィルタと共通。

オーディオの詳細プロパティ

項目 説明
名称 ・表示名。デフォルトでは###音声が表示される。
音量(%) ・音量を調節する。
モノラルにダウンミックス ・オーディオインターフェイスに接続したLチャンネルのみのマイクの音声等をモノラルとして扱うことで、片方からしか聞こえない状態を回避できる。
・オーディオインターフェイスにこの機能がない場合使用してください。
バランス ・左右の音量バランスを調整する。パン。
同期オフセット ・音声の遅延を設定する。
・キャプチャデバイス等で音ズレを起こす場合に有効。
音声モニタリング ・設定->詳細設定で設定した音声モニタリングデバイスへ音を返す設定。
・あくまでもOBS上で適用したフィルタの確認用であり、配信や録画時に使用すべきものではない。
・これは遅延がある為、自分の声をヘッドホン等からモニターしたい場合は、オーディオインターフェースの機能を利用する。
トラック ・配信時は1トラックのみを使用するため、マイク音声、デスクトップ音声含め使用するデバイス全て1のみチェックする。
・録画時はマイク音声とデスクトップ音声を1と2に分けるなど、柔軟に設定可能。###出力でチェックしたトラック数分ストリーム数が確保されていることが前提。もし足りなければそのトラックは録音されない。

統計

ここでは何が原因で配信がカクついているのかの原因の特定を行える。
OBSが重い、配信がカクつく、それらは全てここの値に現れます。
統計を表示しパフォーマンスをモニターすることが、快適な配信への近道です。

表示->ドックで必ずチェックしておきましょう(OBS 23.0~)。

項目 説明
レンダリングラグが原因で逃したフレーム ・この値が増えていく場合、ソースのレンダリングが間に合っていません。
・少々PCのスペックが不足しているかもしれません。
・原因となっているソースを削除するか、ソースを減らします。
・シーン切り替え等で一瞬増える程度は問題ありません。
エンコードのラグが原因で逃したフレーム 設定->出力->配信を参照し、x264でないハードウェアエンコーダを選択したり、プリセットを軽量なものに変更します。
・それでも間に合わない場合はマシンスペックが不足しています。
ドロップフレーム(ネットワーク) ・上り回線速度(fast.com -> 詳細を表示)にビットレートが収まっていないので、設定->出力->配信を参照し見合ったビットレートに合わせてください。
・1080p 30fpsの配信には最低限2桁Mbpsが必要、くらいの目安でしょう。
・映像品質をできるだけ落とさずビットレートを下げるには、ゲームの描画とエンコードの品質を上げ、フレームレートを30fps等に落とすのが最適です。解像度の変更は負荷と品質の観点から非推奨です。
・ネットワーク設定の最適化も有効な場合があります。設定->詳細設定のネットワークの項目を参照。

シーントランジション

シーン切り替え時に様々なトランジションを適用できる。

コントロール

項目 説明
配信開始 ・設定->出力->配信の設定でエンコードを開始します。
録画開始 ・設定->出力->録画の設定でエンコードを開始します。
・録画停止ボタンで停止し、処理が完了するまで必ず待ってください。Xボタンや終了ボタンで強制終了すると、基本的に録画ファイルが破損します。
スタジオモード ・デフォルトではレイアウトの変更、ソースの追加等の作業の様子が配信に映ってしまいます。このモードが有効の場合、内容を決めてから実際の配信映像に適用することができます。
誤爆防止にも有効です。
設定 ・ファイル->設定と同じ。
終了 ・終了

設定

ファイル -> 設定

一般

言語: 日本語

項目 説明
一般 言語 日本語 ・基本的に通常、高は非推奨。

配信

項目 説明
サービス YouTube/YouTube Gaming ・配信プラットフォームの選択。
サーバー Primary YouTube ingest server
ストリームキー(リンク) ・ストリーム名/キーを貼り付ける。
##YouTube側の設定を参照。

出力

項目 説明
出力モード 詳細 ・ここの設定が、配信や録画の品質やパフォーマンスに最も影響する為、高度な設定項目が使用できるモードにします。
音声トラック (配信用プロファイルの場合) 1 ・配信は基本的に映像1つ、音声1つまでです。
・配信時は複数の映像や音声をMixすることになります。
(録画用プロファイルの場合) 1~任意 ・録画時は音声ストリーム数を増やすことができるので、マイク音声とデスクトップ音声を分ける事ができます。
・それらのルーティングはオーディオの詳細プロパティで設定します。
・動画ファイルに1つの映像ストリームと複数の音声ストリームが含まれた状態で出力されます。

配信

"配信開始"押下で選ばれるエンコード設定です。

項目 説明
エンコーダ 1. NVENC H.264 (new)
2. QuickSync H.264
3. H264/AVC Encoder(AMD~)
4. x264
・品質、パフォーマンスの観点から上から順に使えるものを選択して下さい。
Macの場合は"アップル VT H264 ハードウェア~"、Linuxの場合はOBS 23.0から公式対応した"VAAPI"等を選ぶと良いでしょう。
x264

デフォルトではソフトウェアエンコードのx264になっています。
最も設定項目が豊富で、リアルタイムでは不可能ではあるものの、理論上最も高品質な設定が可能です。
要するに配信用途で使う以上、ハードウェアエンコードに勝ることは事実上不可能なので選ぶ必要はありません。

NVIDIA NVENC H.264 (new)

ハードウェアエンコードの最適解、NVIDIAGPUで使用するNVEnc。
Turing世代(Quadro RTX、GeForce TITAN RTX、RTX 2080、2070、1660Ti、1660等)(GTX1650はVolta世代のNVEncの為非推奨)では、Pascal世代と比べ品質が向上している為、配信や録画用途の場合は型落ちを選ぶべきではありません。

OBS 23.0からNVIDIAと共同cf.cf.で開発された最適化されたNVEncが利用できます。
Turing以降だけでなく、Pascal以前にも有効とのことなので、既存ユーザは今すぐアップデートしましょう。

OBS公式TwitterNVIDIAによると、別マシンや別GPUを配信専用とする方法は推奨されないようです。遊びたいゲームがある程度余裕を持ってプレイできるスペックを選ぶと良いでしょう。

youtube.com

項目 説明
エンコーダ NVIDIA NVENC H.264 (new) ・OBS 23.0からの最適化が含まれているnewを選択する。
レート制御 CBR ・CBR推奨、回線に余裕があればVBRでも良い。CQPはライブには不向き。
ビットレート 6000 ・解像度、フレームレート毎に異なるため、YouTubeの推奨値を参考に調節しよう。
・ゲーム配信等で動きが多い場合は値を大きく、逆に動きの少ない静止画や絵描き配信等は値を小さくする。
・(YouTubeの場合)動画と同様、無闇矢鱈にビットレートを上げるよりも、こちら側で破綻しない程度に圧縮すると結果的に良い品質が得られる模様。
・ここの設定値が回線のキャパを超えると統計の"ドロップフレーム(ネットワーク)"の値が増える。
最大ビットレート 7000 VBRの場合有効。エンコード・回線共に問題なくとも配信が不安定になる為あまり大きくしないこと。
キーフレーム間隔(秒) 2 ライブストリーミングの場合、キーフレーム(完全な画像のフレーム)をある程度の頻度で含ませる必要がある。
プリセット Max Quality ・NVEncのパフォーマンスには大抵余剰があるので、出来る限り最高品質を選ぶ。
・もし処理が間に合わず統計の"エンコードのラグが原因で逃したフレーム"の値が増えるようであればQualityやLow-Latency Qualityでも良い。
Profile high ・対応していない機能があるため、baselineやmainは不可。
Look-ahead ・動きの少ないコンテンツに効果的。動きが激しい場合はビットレートを無駄遣いする為、品質が低下する。
・負荷が大きくドロップする場合はオフ。
・無効時は常に"最大Bフレーム"。
心理視覚チューニング ・有効時は、ビットレートの使用方法が大幅に最適化され、特に動きの激しいシーンで視覚品質が向上する。
GPU 0 GPUを複数挿している場合、それを選択できます。ただし、別GPUにフレームをコピーする過程でメリットが失われる為、NVIDIAにより非推奨。
最大Bフレーム 2 ビットレートが限られる環境下では、差分であるBフレームは品質保持に有効です。
・動きが少なく、ブロックノイズや纏わりつくようなアーティファクトが出なければ4に増やしても良いでしょう。
QuickSync H.264

Intel製iGPU(CPUの内蔵グラフィック)搭載の、Quick Sync Video(QSV)が使えるモデルで有効な機能です。Intelの公式サイトで確認できます。

項目 説明
エンコーダ QuickSync H.264 ・プルダウンメニューでQSVが選べない場合、BIOSでiGPUを有効にする必要があります。
・NVEncが使える場合は配信用途でQSVを有効にする必要はありません。
ターゲットの使用法 quality ・パフォーマンスに余剰がある限りできるだけ品質優先。統計の"エンコードのラグが原因で逃したフレーム"の値が増えるようであればbalanced等に下げても良い。
プロファイル high ・少なくともmain以上。
キーフレーム間隔(秒) 2 ライブストリーミングの場合、キーフレーム(完全な画像のフレーム)をある程度の頻度で含ませる必要がある。
非同期深度 4 ・既定値。パフォーマンスに関する設定。
レート制御 CBR ・CBR推奨、回線に余裕があればVBRでも良い。CQPやLA_ICQはライブには不向き。
ビットレート NVEnc H.264を参照
最大ビットレート
H.264/AVC Encoder (AMD Advanced Media Framework)
項目 説明
・処理速度は申し分ないものの品質に難があるため、配信・録画以外の用途が向いていると思われる。
・Turing世代以降のNVIDIAGPUを使用したNVEncか、Haswell以降のQSVを推奨。
アップル VT H264 ハードウェアエンコーダ

MacOSではこちらを選ぶしかないようです。

項目 説明
エンコーダ アップル VT H264 ハードウェアエンコーダ
ビットレート 5500 NVEncを参照
限界ビットレート ・これを有効にしないと、ビットレートが大きく変動し、配信が安定しない・途切れてしまうようです。
最大ビットレート 6500 ・"限界ビットレート"が有効の場合表示される。配信用途においてビットレートを制限する目的なので大きくし過ぎないこと。
最大ビットレート ウィンドウ(秒) 1.00 ・既定値
キーフレーム間隔(秒) 2 ライブストリーミングの場合、キーフレーム(完全な画像のフレーム)をある程度の頻度で含ませる必要がある。
プロファイル high ・少なくともmain以上。
B フレームを使用する NVEncを参照

録画

"録画開始"押下で選ばれるエンコード設定です。

因みにYouTubeの推奨値。あくまでもアップロード用の最終出力の推奨値であり、編集前のソースとして使う場合はこの値は推奨されない。
support.google.com

FFmpegの詳細はこちら。
nyanshiba.hatenablog.com

項目 説明
種別 カスタム出力 (FFmpeg) ・OBS組み込みではなく、FFmpegを使用したエンコードを行う。
・設定可能な項目が大幅に増える。
FFmpegはいいぞ。
FFmpegの出力の種類
ファイルパス又はURL
ファイルに出力 フォルダを参照又は直接ディレクトリのパスを記述。基本的に録画機能。
URLに出力 rtmp URLを記述するとRTMP配信が可能。録画の説明ということで割愛。
コンテナフォーマット mpegts ・一般的にはmp4を選択する。
・mpegtsを選ぶと録画中に当該ファイルの再生、エンコードが可能。OBSがクラッシュして録画が強制終了しても、動画ファイルとして壊れることはない(mp4ではmoov atomが壊れて再生・編集不可)のが特徴。
ffmpeg -i input.ts -c copy out.mp4で無劣化コンテナ変換が行えるので安心。
・一般的にはデジタル放送やライブストリーミングに使用される。
マルチプレクサーの設定(ある場合) movflags=frag_keyframeを追加すると、mp4でも強制終了に一応対応するが、mpegtsの方が使い勝手が良いよ。
映像ビットレート 30000 ・あればある程良いが、ディテールが潰れない程度にビットレートが割り当てられてば十分。実際のところストレージの容量・速度と相談。
キーフレーム間隔(フレーム) 15 ・ここでは秒ではなくフレーム数であることに注意。
・編集、YouTubeへのアップロードに適したclosed gop(フレームレートの半分)。
出力をリスケールする ・ここではリスケール(リサイズ)しない。
すべてのコーデックを表示(潜在的に互換性がない場合でも) ・mpegtsを選択した場合、チェックしないとプルダウンメニューに表示されない。
音声ビットレート 320
音声トラック ### 出力の音声に関する項を参照。
音声エンコーダ aac aacで十分。マイクやAIFの品質の方が音質への影響は大きい。
・PCM録音が必要な場合はpcm_s16le等を使用する。
音声エンコーダ設定(ある場合)
hevc_nvenc
項目 説明
映像エンコーダ hevc_nvenc NVIDIAGPUを使用している場合、最も推奨。
H.264より高品質で圧縮率が高い。
・ローカル保存用としても、YouTubeへのアップロードにも適している。
・4K60や8KはH.264の場合規格外となる。
・再生負荷は大きい。GPUによってはデコード・エンコードに非対応。
映像エンコーダ設定(ある場合) profile:main preset:slow rc:vbr_hq bf:2 FFmpegと比較すると、引数指定はハイフンではなく値との間にコロンを入れる。
・profileはmain(8bit)。highはなく、main10は10bit。
・presetはslow(High Quality 2pass)。
・rc(レートコントロールプリセット)はvbr_hq。編集ソースとして適し、cbr_hq同様無印より高品質(Pascal以前では逆転するという情報もあるが、手元のRTX 2080では明らかにvbr_hqに分があった)。
bf(B-Frame最大数)は2程度。ただし、Pascal以前は非対応cf.なのでbf:0と明示すること。このB-framesが使えるかどうかの差が結構大きいんだよね。
h264_nvenc
項目 説明
映像エンコーダ h264_nvenc NVIDIAGPUを使用している場合で、HEVC編集に難があるか、ビットレートを潤沢に割り当てられる場合こちらを推奨。
・HEVCと比べ品質は劣るものの互換性は高い。
・編集ソフトで扱う際に負荷が小さい。
・旧世代のGPUでもデコード・エンコードに対応。
映像エンコーダ設定(ある場合) profile:high preset:slow rc:vbr_hq bf:2 ・profileはhigh。
・presetはslow(High Quality 2pass)。
・rc(レートコントロールプリセット)はvbr_hq。編集ソースとして適し、cbr_hq同様無印より高品質。
・bf(B-Frame最大数)は2程度。
h264_qsv
項目 説明
映像エンコーダ h264_qsv ・NVEncが利用できず、QSVが使用できる場合に推奨。
FFmpegカスタム出力で使用するには、QSVが組み込まれたFFmpegでOBSをビルドする必要がある。標準モードでは設定できる内容が少ないが、ソフトウェアエンコードを使用するよりは良い。
・hevc_qsvは品質、速度面で一切優位性が無いので使用しない。次期Intel CPUに期待。
映像エンコーダ設定(ある場合) profile:high preset:veryslow maxrate:3M bf:2 b_strategy:1 look_ahead:1 look_ahead_depth:60 ・profileはhigh。
・presetはveryslow(High Quality 2pass)。
編集ソースとして適し、cbr_hq同様無印より高品質。
・bf(B-Frame最大数)は2程度。
lookahead:1はHaswell以降対応、非対応のCPUではlookahead:0
utvideo
項目 説明
コンテナフォーマット avi
映像エンコーダ utvideo 可逆圧縮エンコードの中でも互換性が高く、効率が良いと言われている。
・"編集用"にロスレスで録画したい場合はこちらを推奨。
・ストレージの性能と容量に余剰が無ければ非推奨。
映像エンコーダ設定(ある場合) pred:median pred:gradientエンコード/デコード速度と圧縮率のバランスが良く、pred:medianの方が圧縮率が高い。
音声エンコーダ pcm_s16le ・PCM signed 16-bit little-endian
x264
項目 説明
映像エンコーダ libx264 ・そもそもソフトウェアエンコードはハイスペックなPCであっても高負荷であり、リアルタイムエンコードに向かないことに注意。
・ただし、上記のハードウェアエンコーダが使えないPCで、(ゲーム等ではなく)絵やデスクトップ操作等の録画用であれば、x264でも賄える場合がある。
映像エンコーダ設定(ある場合) preset:placebo x264-params=crf=20:rc-lookahead=60:qpmin=5:qpmax=40:qpstep=16:qcomp=0.85:mbtree=0:vbv-bufsize=31250:vbv-maxrate=25000:aq-strength=0.35:psy-rd=0.35:keyint=15:no-open-gop:bframes=2:partitions=p8x8,b8x8,i8x8,i4x4:merange=64:ref=4:no-dct-decimate=1 ・x264 placeboでclosed gopな引数。
・8700無印、1920x1080 60fpsでギリギリといったところ。

音声

ライブ配信用プロファイル
項目 説明
トラック1 音声ビットレート 128 ライブ配信用のプロファイルでは、トラック1のみ設定してあれば良い。
YouTubeの推奨値は128kbps
名称 任意 ・ストリームのメタデータに明示する事ができる。
・複数音声ストリームを使用する場合に便利。
録画用プロファイル
項目 説明
トラック1 音声ビットレート 320 ・録画用のプロファイルでは、### 音声で使用するトラック数分設定する。
・例: マイク音声、デスクトップ音声の2つ
トラック2

音声

項目 説明
サンプリングレート 44.1kHz YouTubeの推奨値は44.1kHz。ただし、一般的な動画は48kHzが多いので、用途によってプロファイルを分けると良い。
チャンネル ステレオ ・大抵のプラットフォームはステレオ。特殊な用途でない限り弄らない。
デスクトップ音声デバイス スピーカー
SPDIF
ライン
Windows上の"再生デバイス"に該当する。
・スピーカーやヘッドホン、オーディオインターフェイスの出力デバイス名を選択する。
・AIFのループバック機能を使用する場合はデスクトップ音声がマイク音声に返される。その場合こちらを有効にする必要はないが、ボイスチャットや分けて編集したい場合はそれを使用せずOBSの機能を使おう。
Windows Update、AIFの抜き差し、サンプルレートの変更等でDeviceIDが変更されると、"デバイスが接続されていないまたは利用不可"になります。再設定が必要です。
マイク音声デバイス マイク
ライン
Analog Input
Windows上の"録音デバイス"に該当する。
・マイク、ウェブカメラ、オーディオインターフェイスの録音デバイス名を選択する。
・複数デバイスにそれぞれループバックを設定できるAIF(RME TotalMix等を使用して)の場合、再生デバイスをこちらに登録することもできる。マイク、Discord、Minecraft、BGMをそれぞれ別のデバイスで再生することで、アプリケーション毎に音声を分けて録音できる。
Windows Update、AIFの抜き差し、サンプルレートの変更等でDeviceIDが変更されると、"デバイスが接続されていないまたは利用不可"になります。再設定が必要です。

映像

項目 説明
基本(キャンバス)解像度 3840x2160
2560x1440
1920x1080
1280x720
・OBSの映像ソースを配置するキャンバスの解像度。
・解像度の変更は負荷と品質に悪影響があるので、基本的に出力解像度に合わせる(ドットバイドット)。
・16:9のモニタが推奨される。配信、録画用途では16:10や21:9の解像度は不具合の元なのでオススメしない。
出力(スケーリング)解像度 3840x2160
2560x1440
1920x1080
1280x720
・配信、録画の出力解像度。
・解像度の変更は負荷と品質に悪影響があるので、基本的にディスプレイまたはメインのソース(ゲーム等)の解像度に合わせる(ドットバイドット)。
・配信プラットフォームが対応している限り、ビットレートや負荷軽減の為のダウンサンプリングは推奨されない。
縮小フィルタ バイキュービック
ランチョス
・リサイズアルゴリズムの選択。
・bicubicまたはlanczosを選んでおけば良い。bicubicの方が負荷は小さく、lanczosの方が一般的に高品質。
FPS共通値 30
60
・動画投稿SNSにアップロード、ライブ配信には30または60fpsを選択する。29.97や59.94fpsは基本的に使用しない。
ビットレートが潤沢に割り当てられていない場合、下手に60fpsにするよりも30fpsの方が視覚的な品質は向上する。
・映画風のテイストにしたい場合、プラットフォームが対応していれば24fpsもあり。
FPS分数値 30fps: 30/1
60fps: 60/1
・基本的にこちらを使う必要はない。FPS共通値で選べないようなフレームレートを選びたい場合はこちらで指定する。
・1/1fps、1/6fps、1/15fps等も使える。これを使ったハックを ##応用 編で紹介している。
・29.97fpsは30000/1001fpsに該当する。

ホットキー

ミュート、ミュート解除にDiscordのミュートのキーを割り当てておくと便利だよ!
録画開始・終了に割り当てるのは良いが、配信は誤爆防止の為にここで設定するようなキーの組み合わせを使う一般的なキーボードやマクロには割り当てるべきではない(Elgato Stream Deckの場合は仕組みが違うので例外)。

詳細設定

項目 説明
一般 プロセスの優先度 通常 ・基本的に通常、高は非推奨。
映像 カラーフォーマット NV12 ・ハードウェアエンコーダに使用される4:2:0のピクセルフォーマット。YouTubeの推奨値でもあり、他のプラットフォームでも基本的にこちらを使用する。
YUV色空間 709 ・BT.601に設定すると色がおかしくなる場合があります。
・BT.2020には現在非対応です。
・Rec.709、BT.709
YUV色範囲 一部 ・一部は所謂リミテッドレンジ、TVスケール。全部はフルレンジ、PCスケール。
・全部で配信、録画してもYouTube側でyuv420p(tv, bt709)に再エンコードされます。
音声 音声モニタリングデバイス 既定 ・ミキサー->オーディオの詳細プロパティで設定した場合の出力先。基本的に使用しない。
録画 ファイル名書式設定 %YY%MM%DD_%hh%mm%ss ・ファイル名にハイフンは兎も角、スペースが入るのは好ましくない。
・この場合、190405_150000.tsのようになる
ネットワーク 新しいネットワークコードを使用する ・ノンブロッキングソケットではなく、イベントベースのAPIをストリーミングに使用します。フレームドロップや切断に役立つ場合があります。
低遅延モード ・配信プラットフォーム側で設定する"低遅延"のような、配信者と視聴者の間の待ち時間ではなく、ローカルネットワークの待ち時間を指します。
・大きなビデオパケットが小さなパケットに分割され、パケット間に遅延を置いて送信されます。ストリーミングの際にゲームなどの他のアプリケーションのpingへの影響を減らします。
・安定した回線でない場合、フレームドロップの原因になります。

ソースの表示/非表示のキーとスタジオモードと一緒に使う場合、トランジションに同じキーを割り当てれば可能だが、あまり自由度が無いので敢えてスタジオモードを使わないという選択肢もある。
ソース->ソースの右クリックメニュー->変換で述べたような手順ならば、比較的スマートにレイアウトを弄れるという意味でもオススメ。