OBSに関する情報メモブログ

OBS Studioに関する事を主にメモしてます。

OBS の NVENC について

OBS Studioに搭載されているNVENCに関しての記事
※内容は「OBSのNVENCについて」を移転しました。
記事投稿日 2021年09月28日、最終投稿更新日 2022年11月23日 13時20分頃

はじめに

OBS Studioに搭載されているNVENCは、GeForce 600シリーズ (Kepler) 以降のWindows/Linuxでサポートされています。
OBSを使用する事によって、ShadowPlay(Shere)より画面を凝って配信出来ます!
この記事はOBS Studioに搭載されているNVENCに関してのメモ記事です。

記事を作成する為に使用したPC

OS : Windows 11 Pro 64bit (22H2)
※一部Windows 10 Pro 64bit (21H2)
CPU : Core i7 11700k
RAM : 32GB
GPU : GTX 1660 Ti (GeForce 526.98 ドライバー使用)
一部情報は前のPCで3770k/16GB/GTX 680 です。

macOS環境 / Linux環境

macOS
NVIDIAmacOS上で動作するためのメカニズムを提供していないので利用出来ません。
macOSの場合はVideoToolboxで実装されているQuickSynkが出力モード「詳細」で利用する事が出来ます。(もし使う場合は「限界ビットレート」にチェックをおすすめ)

Linux
使ってないので、情報収集中。
バージョン 23.0からはVAAPIエンコードのサポートが追加。(x264の代わりにIntelのQuick Sync VideoやAMDのVideo Coding Engineなどの特定のハードウェアエンコーダを使用可)

AMDグラフィックボードをお使いの方

著者にはAMD環境がないので記事作成が出来ないですが、AMDのグラフィックボード向けのハードウェアエンコードも搭載(実装)されています!
バージョン 28.0 からはAMDエンコーダが新しいのに変わりました!
もし出力エラーが出る場合 こちら (AMD公式サイト) からドライバーをダウンロードして更新してください。

NVIDIAドライバーについて

NVENCを使用する場合は、追加するNVENCアップデートに問題が生じないように、NVIDIAドライバーを最新バージョンに更新してください。
ドライバーを更新してない場合エラー画面が表示される事があります。
例: 「現在お使いのビデオカードドライバはこのNVENCバージョンをサポートしていません。ドライバを更新してください。」
例: 「現在お使いのビデオカードドライバーはこのNVENCバージョンをサポートしていません。ドライバーを更新してください。」
ビデオドライバーの更新方法 : ここ をご覧ください。
(との事らしいですが、たまに地雷ドライバーがあるので様子見して最新版ドライバーに更新してみるのが良い)

OBS Studio の NVENC サポート状況

GeForce 600シリーズ (Kepler) 以降が必要

GeForce 600シリーズ (Kepler) 以降が必要ですが、NVIDIAは2021年6月頃にKepler GPU (700 / 600シリーズ) のサポートを終了しました。
バージョン 28 以降一部設定を変更しないと出力開始エラーが出る事があります。
※記事に回避方法は記載してます。該当環境の方はお試しください。

NVENCを搭載していないNVDIA GPUリストに関して
NVENC support in OBS · obsproject/obs-studio Wiki · GitHub
一覧にある場合 : NVENCは使用出来ません。
一覧にない場合 : NVENCを使用可 (稀に一覧更新忘れていて乗ってない場合もあり)
上のwikiに乗ってない場合は ソースコード で「blacklisted_adapters」を見て下さい。

またNVIDIAが出している「NVENC - Encoding」対応リストも確認してお使いのGPUがサポートされているかお確かめください。

検索ワード : NVENC無い / NVENC表示されない / NVENCどこ

最良の結果を得るには

第6世代NVENC (Turing) を搭載したGPUを使用してください。
これには、GTX 1650 rev 2以降が含まれます。
注 : GTX 1650 rev 1は第5世代NVENCを含んでいます。

OBS Studio の NVENC を使用する方法

バージョン 23.0以降の設定に関して

NVIDIAが公式に出してるガイドを参考にしてください。
一部記載してますが、今後全て反映する予定。
NVIDIA NVENC OBS Guide (英語ページ)
(当記事に将来的には上記ガイドを翻訳して反映する予定)

配信の場合

「設定 → 出力」にある「エンコーダ」を変更する。

出力モードが「基本」の場合

出力モード「詳細」より設定項目が少なく簡単です。

バージョン28.0以降

配信にある「エンコーダ」で「ハードウェア (NVENC, H264)」を選択
※バージョン 28.0 より H264 表記が追加されました。

バージョン23.0~27.2.4まで

配信にある「エンコーダ」で「ハードウェア (NVENC)」を選択

Windows 8.1以降の環境の方はバージョン 23.0以降は「ハードウェア (NVENC)」を選択すると内部的に「FFmpegのNVENC」から「新しいNVENC (jim-nvenc)」に変わっています。

出力モードが「詳細」の場合

設定項目がかなり多いので、難しいと感じる場合はおすすめしません。
難しい方は「出力モード」の「基本」をおすすめします。

バージョン28.0以降

「エンコーダ」で「NVIDIA NVENC H.264」を選択する。

※new とラベル付けされた NVENC が実装(2019年02月)からかなり経過したので new 表記は削除されました。
※new がない と困った人は new ついてなくてもバージョン 28.0以降では仕様です。
※(new) が利用されてるか気になる場合は、ログファイルで ( jim-nvenc ) と書かれてるか見てみてください。
※この変更のコミットメモ↓
obs-ffmpeg: NVENC "(new)" begone · obsproject/obs-studio@21da0b0 · GitHub

バージョン23.0~27.2.4まで

「エンコーダ」で「NVIDIA NVENC H.264 (new)」を選択する。

※バージョン22.0.2まではエンコーダ名が「NVENC H.264」でした。(23.0で変更)
※「NVIDIA NVENC H.264」(22.0.2までのFFmpeg実装のNVENC)は25.0で一覧から非表示に変更されました。(一部の設定を使うと自動的にフォールバックします。)

※FFmpeg実装にフォールバックに関して
どれか1つでも利用するとフォールバックするようになっています。
・出力をリスケール
GPU変更
・「カラーフォーマット」を「NV12」以外に設定
H.264のお話。(28.0で実装されたHEVCの仕様はまだ書いてません)

出力モード「詳細」Tips

レート制御 : 無損失(Lossless)はGTX 700番台以降じゃないと利用出来ません。
NVIDIA の GPU エンコーダー NVENC の現状と今後について #GTC15 | ニコラボ

出力をリスケールする

「設定 → 映像」の「出力 (スケーリング) 解像度」をさらに拡大/縮小(リスケール)する事ができる設定です。
基本的にチェックはしません!
映像のリスケールは「設定 → 映像」でしてください。
チェックをすると紹介するガイドがありますが、内容を理解した上でご利用ください。

「出力をリスケールする」にチェックをつけて利用した際のデメリット
・映像が綺麗にリスケールされません。
・CPU使用率が少し増えます。(確かCPUでリスケール処理)
GPUの3D使用率が増えます。(ゲームのFPS低下)
・解像度値をミスすると出力開始ができなくなる。
・新しいNVENC(jim-nvenc)が利用出来ず古い実装のNVENC(FFmpeg実装)になる。

★チェックをつけると下記メリットが受けれなくなります。
「RTX20xx番台などの(Turing世代)」以降で品質の向上
「GTX6xx番台」以降でパフォーマンスの改善
特にパフォーマンス面でのデメリットが多いので、チェックは本当におすすめしません。

プリセット

※一部の古いGPUではゲームパフォーマンスが低下する場合があるのでその場合は p5 まで下げてください。(新しいGPUの場合は気にする事はないかもです。)

バージョン 28.1以降
デフォルトは「P6: Slower (より高品質)」です。

バージョン 29.0以降 (現在ベータ版)
デフォルトは「p5: Slow (高品質)」です。
※デフォルトの値が下げられました。

バージョン 27.2.4まで
デフォルトは「Quality」です。
エンコードオーバーロードする場合(重い時)は「Max Performance」に変更して改善するかお試しください。

チューニング

バージョン 28.1以降
デフォルトは「高品質」です。
遅延と品質どちらを優先するかを決定することができます。
※初期値から変更しなくてもいいと思います。

マルチパスモード

バージョン 28.1以降
デフォルトは「2パス (1/4 解像度)」です。
エンコードで2パスを使用するかどうかを決定する為に使用され「1パス(無効)」「2パス 4/1 解像度」「2パス フル 解像度」の3つがあります。
これを有効にするとGPUリソースの使用量が増えますが、品質が向上します。
※初期値から変更しなくてもいいと思います。
※古い世代のグラボを使用してる場合は、開始エラーが出るので「1パス」または「2パス フル 解像度」にする必要があるかもしれません。

Look-ahead

デフォルトは「無効」です。

動的Bフレームを有効にします。
無効にすると、エンコーダは常に '最大Bフレーム' 設定で指定されたBフレーム数を使用します。
有効にした場合、GPU使用率の増加を犠牲にして最大数まで必要な分だけ多くのBフレームを使用することで視覚的品質を向上させます。

心理視覚チューニング

デフォルトは「有効」です。

GPU使用率の増加を犠牲にして、特に動きの激しい状況で、視覚品質の向上のためにビットレートの使用を最適化するエンコーダ設定を有効にします。

GPU

デフォルトは「0」です。
デスクトップPCで複数のGPUがある場合にNVENCを実行するGPUを変更出来ます。
1枚しか搭載していない場合は、初期の0から変更しないでください。(エラーで開始出来ない)
実際この変更はパフォーマンス低下を招くので、同じGPU上でゲームとエンコードを行うのが最善です。
また新しい「NVENC」の場合、GPU変更は対応していない(異なるGPU間でテクスチャ共有が出来ない為)ので古いFFmpeg実装のNVENCに自動的にフォールバックします。
新しいNVENCの恩恵が受けれないので注意してください。

※フォールバックのコミット → obs-ffmpeg: Do not allow new NVENC on gpu idx > 0

最大Bフレーム

デフォルトは「2」です。
※古い世代のグラボを使用してる場合は、開始エラーが出るので「0」に変更する必要があるかもしれません。

録画の場合

※高画質で録画だけをする場合の設定例を紹介

★録画だけをする場合は「自動構成ウィザード」をお試しください。
1、録画するゲームなどを起動しておく。(負荷がある状態にする)
2、OBS Studioを起動する。
3、メニュー「プロファイル」で「新規」を選択して新しいプロファイルを作成する。
※録画専用で設定を分ける為に、プロファイルを新規作成します。
4、メニュー「ツール」から「自動構成ウィザード」を開く
5、開いたら「録画のために最適化し、配信はしない」を選択してウィザードに従う。

出力モードが「基本」の場合

※録画品質で重い場合は「詳細」でプリセットを変更して細かく設定してください。

「設定 → 出力」
・録画品質
[配信と同じ] : 配信と同じ品質で録画されます。
[高品質、ファイルサイズ中] : CQP 23 / preset hq / profile high
[超高品質、ファイルサイズ大] : CQP 16 / preset hq / profile high
[無損失品質、ファイルサイズ特大] : AVI形式で録画されます。

・録画フォーマット
デフォルトのmkvを利用する事をおすすめします。
mp4ファイルが必要な場合は、保存後に「ファイル → 録画の最多重化」からmp4に変換する事が出来ます。
mp4は正常に録画が完了しなかった場合、録画データが破損します。
※mp4でどうしても保存したい場合はこちらを参考にしたら良いかも。

・エンコーダ
[ハードウェア (NVENC)]に変更する

「設定 → 映像」※重い場合は、解像度/FPSは下げてください
[出力 (スケーリング) 解像度] : お好みで変更
[FPS] : お好みで変更

・補足事項
「録画品質」を利用した場合、音声ビットレートは「128kbps」固定になります。
「128kbps」以外を使用したい場合、出力モード「詳細」を利用します。
※注意点 : 「詳細」利用時に「設定 > 配信」が設定されている場合、音声ビットレートの設定が制限される場合があるので必ず空欄にしてください。(またはプロファイルを新規作成して録画だけの設定に変更してください)

出力モードが「詳細」の場合

「設定 → 出力」
・エンコーダ
22.0.2までは [NVENC H.264]に変更する
23.0.0以降は [NVIDIA NVENC H.264 (new)]または[NVIDIA NVENC H.264]に変更する

・レート制御/CQP/プリセット/Profile
[レート制御] : CQP
[CQP Level] : 14~21 で調節する。(低いほど高画質)
[プリセット] : 初期はQuality、重い場合はMax Performanceなどに変更する
[Profile] : high

「設定 → 映像」※重い場合は、解像度/FPSは下げてください
[出力 (スケーリング) 解像度] : お好みで変更
[FPS] : お好みで変更

28.1のNVENCに関して

パッチノート抜粋

OBS Studio 28.1.0 にかかれている内容まとめ
Release OBS Studio 28.1 · obsproject/obs-studio · GitHub
検証用にRTX 40シリーズほしい…

NVENC AV1 ハードウェアエンコーダが追加
・現在 NV12 (OBSデフォルト) および P010 カラーフォマットでのみ動作
・現在出力モード「詳細」で「出力をリスケール」機能はサポートされていない。
NVIDIA RTX 40 シリーズ ビデオカードでのみ使用可能で表示されます。
・出力モード「基本」の録画で利用可能 (ベータ版のメモ: これをテストして、品質が「high」と「indistinguishable」で期待どおりであることを確認してください! 必要に応じて、内部品質係数を微調整できます。)

NVENC プリセットの更新
・プリセット、チューニング、マルチパス モードの 3 つの異なる設定に分割。
・プリセットは P1 ~ P7 になり、数値が低いほど品質が低くなり、数値が高いほど品質が高くなります。プリセットを高くすると、GPU の使用率が高くなり、OBS と同時に実行されるゲームのパフォーマンスに影響を与える可能性があることに注意してください。最高のプリセットを使用すると、同時 NVENC エンコード セッションの数が少なくなる場合があります。 OBS は、アップグレード時に現在の NVENC 設定を最も近いプリセットに自動的にマップします。
・チューニングは、遅延と品質のどちらを優先するかを決定するために使用されます。高品質、低遅延、超低遅延の 3 つの設定があります。
・マルチパス モードは、エンコードで 2 番目のパスを使用するかどうかを決定するために使用され、無効、1/4 解像度、およびフル解像度の 3 つの設定があります。これを有効にすると、GPU リソースの使用量が増えますが、品質が向上します。

28.0の新しいNVENCに関して

現在編集中

そのうち書きます。
NVDIAの公式にHEVCのやり方が書いてるのでお急ぎの方はそちらへ。
こちら (英語ページ)

23.0以降の新しいNVENCに関して

古いNVENC(FFmpeg実装)との違い

■新しいNVENCに関して
OS
8.1以降(10/11) に対応 (Windows 7は非対応)

「設定 → 出力」 (基本の場合)
エンコーダを「ハードウェア (NVENC)」にする。
※内部的に23.0以降は8.1以降では新しいNVENCになっています。

「設定 → 出力」 (詳細の場合)
「出力をリスケールする」は非対応
※変更すると古いFFmpeg実装にフォールバックします。
GPU」変更は非対応
※変更すると古いFFmpeg実装になります。 ※変更非対応コミット
「カスタム出力 (FFmpeg)」には表示されない。 (カスタム側はFFmpegなので別)

「設定 → 詳細設定」
「カラーフォーマット」を「NV12」のみ対応。
変更すると新しいNVENCを利用出来ず古いNVENCにフォールバックします。
※新しいNVENCが利用されているか気になった場合は、一度出力を開始して「ヘルプ > ログファイル > 現在のログを表示」してログファイルに「jim-nvenc」の文字があるか確認!

■期待出来る効果
「RTX20xx番台などの(Turing世代)」以降で品質の向上
「GTX6xx番台」以降でパフォーマンスの改善

■プロセスの違い
古いNVENC (FFmpeg実装)
1、OBSがフレームをレンダリングする。
2、OBSは他のエンコーダと同じようにGPUからRAMにテクスチャを転送します。
3、FFmpeg NVENCはそれをGPUにアップロードします。
4、FFmpeg NVENCはそれをエンコードする。

新しいNVENC (jim-nvenc)
1、OBSがフレームをレンダリングする。
2、NVENCはそれをエンコードする。

これはOBSの性能向上だけではなく、NVENCを使用しながらプレイしているゲームへの影響も軽減されます。シングルPCのセットアップでゲームを配信したり録画したりする人にとっては、必需品と言えるでしょう。

内容引用元 : OBS Studio Progress Report, February 2019 | OBS

こんな時は

ラグる場合 (Windows 10 2004以降)

Windows 10 May 2020 Updateで利用出来るようになった「ハードウェア アクセラレータによる GPU スケジューリング」をオンに変更してたらオフ(無効)に戻してみてください。

NVENCを使ったのに映像がカクカク

何処が原因でカクカクしてるか確認しましょう。
配信または、録画をしながら下記ウィンドウを開いてOBSの負荷を確認します。
※これと合わせて下に記載している「PC全体の負荷確認方法」もしてください。

メニュー「表示 → 統計」を開く。(19.0以降利用可能)

各項目に関して簡単に解説
FPS
設定値より下がってる場合は(設定 > 映像)でFPSを下げてください。(例 60→30)
FPSを下げても改善しない場合は「出力 (スケーリング) 解像度」を下げて下さい。

★フレームをレンダリングする平均時間
高い数値じゃない限り気にする必要がない部分となります。
※著者の環境だと0.5ms~2.0msぐらいで使えています。

レンダリングラグが原因で逃したフレーム
・一瞬増える数値は気にする必要無し。
・この数値が増えていく場合、レンダリングが間に合っていないので原因となるソースを探す or 減らす。
・ゲーム内のFPS制限 / Vsyncを有効にする。
・管理者権限で実行すると改善するかも。
※特にNVENCを実行している場合はGPU負荷が高いとフレームが失われます。(カクカクする)

エンコードのラグが原因でスキップされたフレーム
・この数値が増えていく場合、エンコード(もしくは保存先への書き込み)が間に合ってません。

・設定 > 出力で「エンコーダ」を変更
※x264(CPUエンコード)を利用していたらNVENCなど(GPUエンコード)に変更したり低負荷のプリセットに変更する。
・設定 > 映像で「解像度」と「FPS」を下げる。 ※映像は「出力 (スケーリング) 解像度」FPSは「60 だったら 30」に下げる
・開いてるアプリケーションの数を減らす
※設定が高い場合は下げてみてください。
・HDDに保存してる場合はSSDにする。
※書き込み速度がHDDは遅いので録画がカクカクしたりするのが発生しやすいです。

★ドロップフレーム (ネットワーク)
・有線LANを使う。
無線LANは不安定
・かなり増えた場合回線(上り)が悪い
ビットレート下げて改善しない場合は回線変更を検討する。
・右下の接続安定性インジケータが緑色/黄色/赤色と変動する
Windows環境をお使い人は「設定 > 詳細設定」にある「新しいネットワークコードを有効にする」を有効にしてみて改善するかお試しください。(ゲームのping変動が激しい場合はその下の「低遅延モード」にチェックをする)

PC全体の負荷確認方法
Windows 11/10の場合
タスクマネージャーを起動する。
CPU/メモリ/GPU(エンコード中はVideo Encodeの値)の値を確認する。

Windows 8.1 / 7の場合
CPU、メモリ使用率はタスクマネージャーで見れます。
GPU負荷は、下記の「GPU-Z」を使って確認してください。

★「GPU-Z」に関して 起動後「Sensors」タブを押し「Video Engine Load」の値を見る。
もし値が高すぎる場合、処理落ちをして映像に影響が出ます。(下記画像は100%に近い)
ShadowPlayと処理負荷が異なる為、処理落ちが起きてる場合はグラボの性能不足です。
(ちなみに著者の元使ってたGTX 680ではChromeのハードウェアアクセラレーションONで1080p 60fpsの配信閲覧しながら1080p 60fpsのNVENC録画は性能不足過ぎて出来ませんでした…)

出力開始時に失敗エラーが表示される場合

配信/録画を開始する際に失敗エラーが表示される事があります。
「配信開始に失敗しました」「録画開始に失敗しました」
エラー内容によって解決方法が異なります。
下記にいくつか例を紹介するので、ご自身のエラーと同じ奴があれば解決方法をお試しください。

まず試してほしいこと
ドライバー更新

エラーにドライバー更新を求められてる場合は下記手順をお試しください。

★注意事項
バイス マネージャー」で「ドライバーの更新」を試そうとする人が居ますが、最新版のドライバーはこの方法ではインストールされません。
必ず下記方法で更新をしてください。

GeForce ExperienceがPCにある場合
PCにGeForce Experienceがある場合はそこから更新出来ます。

手順
1、OBSを終了する。

2、GeForce Experienceにログイン

3、ドライバータブを押す

4、ダウンロード及び更新をする。
※環境によっては更新でエラーが出る場合があります。
※その場合は、1つ下の手順でNVIDIA公式サイトから最新ドライバーをダウンロードして更新をしてください。

5、インストール後
※更新後は必ずPCを再起動してください。

6、OBSを起動する。
※エラーが出なければアップデート成功です!

この方法でうまく更新が出来ない場合は、1つ下のNVIDIA公式サイトよりドライバーをダウンロードしてインストールをしてください。

GeForce ExperienceがPCにない場合
NVIDIA公式サイトからドライバーをダウンロードしてインストールする必要があります。

手順
1、OBSを終了する。

2、NVIDIAのドライバーダウンロードページにアクセスする
GeForce 公式ドライバー
3、製品のタイプ / 製品シリーズ / 製品ファミリーなどを選ぶ
※お使いの製品を選択してください。
※最新バージョン 526.47、522.25 ドライバーは変な感じがするので 517.48 をおすすめ。

4、「検索」をクリック

5、ドライバーのダウンロードページが表示される
※「ダウンロード」をクリック

6、ダウンロードが完了
※ダウンロードしたファイルを実行してインストールをしてください。

7、インストール完了後
※更新後は必ずPCを再起動してください。

8、OBSを起動する。
※エラーが出なければアップデート成功です!

この方法でも上手くいかない場合は「DDU ドライバー 再インストール」と検索してその手順でドライバーをクリーンインストールしてください。

エラー発生原因&解決方法

1つ1つ確認して治るかお試しください!

バージョン28.1以降に発生するエラー

「nv.nvEncInitializeEncoder(enc->session, &enc->params) failed: 8 (NV_ENC_ERR_INVALID_PARAM)」
古い世代のグラフィックボードを使用していてる場合に発生するようです。
解決方法 (情報収集中)
・出力モードを「詳細」に変更
下記値を変更してみてください。
・「プリセット」を「p5: Slow (高品質)」に変更
・「マルチパスモード」は「1パス」または「2パス (フル)」
・「最大Bフレーム」は「0」※上2つでだめな場合に追加で変更してください。
にすると回避できるかもしれません。
※将来バージョン 29.0ではこの問題が修正されるかもしれません。

バージョン27.2以降に発生するエラー

「NVENC コーデックを開けませんでした : Function not implemented」
「お使いのビデオドライバが最新のものであるか確認してください。」

「NVENC コーデックを開けませんでした : Function not implemented」
「お使いのビデオドライバーが最新のものであるか確認してください。」

27.2以降にアップデートしたら発生する環境があるようです。
グラボのドライバーを更新すると治るようなのでドライバーの更新をしてみてください。

バージョン25.0.8以降に発生するエラー

※複数のエラーメッセージが追加
「NVENC コーデックを開けませんでした : Generic error in an external library」
「出力エンコーダ設定でGPU %1 を選択しました。 これを0に戻してもう一度お試しください。」

「NVENCエラー: 同時セッションが多すぎます。NVIDIA ShadowplayやWindows 10 Game DVRなどNVENCを使用している可能性のある他の録画ソフトウェアを終了してみてください。」
※NVENCの使用セッション上限(3つまで)です。(古いドライバーだと2つまで)

「NVENC Error: init_encoder: nv.nvEncInitializeEncoder(enc->session, params) failed: 8 (NV_ENC_ERR_INVALID_PARAM)」

一部バージョンで特定の設定で発生する問題と記載してましたが、他にも問題が発生する事があるので2022年3月7日 22時半に加筆しました。
設定がNVENCに対応してない場合にこのエラーが発生します。
一度新しいプロファイルを作成して問題が発生するかなど確認してみてください。

このエラーが出る例
・解像度が高すぎる。(4096x4096までしか対応してません)
・一部バージョンの問題
(例えば27.0.1以下で、古いグラボ世代を使用している場合に出力モードが「詳細」で「心理視覚チューニング」が有効で「無損失(ロスレス)」で開始しようとした場合にこのエラーが発生した事がありました。)

お急ぎの場合

過去のバージョンに戻すという手があります。
上書きインストールの際にエラーが出たらPCを再起動してからインストールをお試しください。
※28.0.3ダウンロードは → こちら
※27.2.4ダウンロードは → こちら
※27.1.3ダウンロードは → こちら

OBSアップデート後の場合

1、パソコンを再起動してみてください。
2、グラボのドライバー更新をしてみてください。
※ドライバー更新後はPCを再起動してください。

ビデオドライバーのバージョンが古い場合

古い場合はドライバーの更新をしてください。
バージョン 500 以降だと最近のリリースバージョンになります。
もし 471.41 以下の場合は、お使いのグラフィックボードが古い可能性があります。
グラフィックボードを新しいものにする事を検討してください。

更新してもエラーが出た場合は、ドライバーを「クリーンインストール」するか「エ0ンコーダ」を変更するのが一番手っ取り早いです。

バージョン 27.2以降は 471.41 以降のドライバーが必要
バージョン 24.0以降は 390.77 以降のドライバーが必要 (うろ覚え)
バージョン 23.0までは確か378.66 (うろ覚え)

下記のようなエラーが発生します。
出力開始に失敗しました。詳細はログを確認してください。
注: NVENCまたはAMDエンコーダを使用している場合は、ビデオドライバが最新のものであるかを確認してください。

出力開始に失敗しました。詳細はログを確認してください。
注: NVENCまたはAMDエンコーダを使用している場合は、ビデオドライバーが最新のものであるかを確認してください。

※ドライバー頻繁にアップデートしていてこのエラーの画面出たことがないので文字だけです。
「現在お使いのビデオカードドライバはこのNVENCバージョンをサポートしていません。ドライバを更新してください。」
「現在お使いのビデオカードドライバーはこのNVENCバージョンをサポートしていません。ドライバーを更新してください。」
OBSが大型アップデートした際によくでます。グラボのドライバーアップデートをまずお試しください。

NVENCを複数使用してる場合

※2020年08月30日追記
セッション制限の上限数が2→3にサイレントで変更されたようです。(06月頃?)
もしNVENCを2つ以上使う場合はドライバー更新をしてみてください。

Nvidiaが消費者向けGPUに同時NVENCセッションの最大数を3に設定(制限)しています。
例えば下記の使い方をするとエラーが発生します。
エラーが発生しないように4つ目のNVENCを利用してるソフトを終了してください。

★使い方例 (3つの場合)
1、ShadowPlayのインスタントリプレイを使う
2、OBS Studioで配信を開始する (NVENCを使用する設定)
3、OBS Studioで録画を開始する (NVENCを使用するが録画用に別設定)
4、NVENCを使用するアプリケーションを利用 (エラーが発生します)

★使い方例 (2つの場合)
※制限の仕様変更前の例です
1、ShadowPlayのインスタントリプレイを使う
2、OBS Studioで配信を開始する (NVENCを使用する設定 / 録画はしない)
3、NVENCを使用するアプリケーションを利用 (エラーが発生します)
※NVENCを3つ使用したい場合は、ドライバー更新をして解決するかお試しください。

NVIDIA搭載ノートパソコン/一体型PCなど

NVENCが表示されても対応してない場合があります。
対応してない場合は「エンコーダ」を「x264」か「QuickSync」に変更する必要があります。(OBS側「設定 → 出力」の「エンコーダ」部分)

その他エラー

私の環境では発生した事ないのですが、一応情報として。
下記エンコードエラーが出るようです。
get_encoded_packet: nv.nvEncLockBitstream(s, &lock) failed: 8 (NV_ENC_ERR_INVALID_PARAM)

いくつかお試しください。
- ゲーム内のグラフィック設定(テクスチャ品質、VRAM使用率)を下げる (GPUメモリが不足している可能性)
- ゲームオプションでNVIDIA Highlightを無効にする
- Windows Game DVRを無効にする
- GPU自体に問題がないかを確認 (交換で解消した場合もあるそうです)
- ドライバーのクリーンインストール

情報元
Question / Help - Encoder error? Locks up OBS. | OBS Forums
Persistent error with hardware encoding after GPU change | (NV_ENC_ERR_INVALID_PARAM) : obs

設定ミスをしている場合

何らかの設定ミスをすると開始エラーが発生する事があります。
設定が戻せない人は、新しくプロファイルを作成して設定を1からしてください。
(プロファイル作成方法 : 「メニュー → プロファイル → 新規」を選んで作成)

解像度が問題の場合

解像度を下げてみてください。
NVENCエンコーダが設定解像度に対応してなくてエラーが発生している場合があります。
「設定 → 映像」で「基本 (キャンバス) 解像度」または「出力 (スケーリング) 解像度」を下げてみて改善するか確認してみてください。(特に4k以上の環境)

古い世代を使用している場合

設定内容が一部対応してないのが原因でエラーが出る事があります。
上に記載してますが、28.1以降は一部設定が原因でエラーが出る事があります。

Kepler世代(GTX 600/700)を使用している場合

上に記載してますが、28.1以降は一部設定が原因でエラーが出る事があります。

※2021年6月13日までの情報
27.0.1未満でエラーが発生する事がありました。
古い世代では「心理視覚チューニング」が対応してない影響で無効にする必要がありました。 この世代の人はドライバーの提供も終了しているので買い替えを検討してください。

ニコ生プラグインを導入してる場合

★放送枠を取らずに配信開始を押した場合
エラーが出るのは仕様です。

★ログインに失敗してる場合
※ログイン失敗ウィンドウも出ます
ログインが正常に出来るようにしてください。

OBS Studio の NVENC を使用してみて

特徴

GPUエンコードなので、x264(CPU処理)と比べるとOBSのCPU使用率はすごく低い。
・グラボの世代次第で「品質(画質)変化」があったり「解像度」と「FPS数値」が高すぎると処理落ちする事があります。
※最新グラボ(RTX世代など)の場合は気にしなくて大丈夫

処理落ちしてる場合

OBS本体左下部分に下記警告メッセージが表示されます。(または「表示 > 統計」を開く)
★OBS 28以降(予定)「エンコードが高負荷です! 映像設定を下げるかより高速なエンコードプリセットを使用することを検討してください。」
★OBS Studioの場合(新)「エンコードが高負荷です! 映像設定を下げるかより高速のエンコードプリセットの使用を検討してください。」
★OBS Studioの場合(旧)「エンコードが高負荷です! ビデオ設定を下げるかより高速のエンコードプリセットの使用を検討してください。」
※警告部分を非表示に出来る設定があるので表示がない場合は「メニューバー」から「表示 > ステータスバー」を確認してチェックマークがついている状態に変更してください。

◆OBS Studio NVENC 変更点メモ (バージョン別)
長いので折りたたんでいます。

▶ここをクリックで表示 OBS Studio 29.0?
-古い世代向けに互換性オプションを追加
-デフォルトのプリセットを p6 → p5へ変更

OBS Studio 28.1
-NVENC AV1 ハードウェア エンコーダを追加
-NVENCのプリセットを更新

OBS Studio 28.0
-名称からnewを削除
-FFmpeg出力になった場合にログに分かりやすいように変更
obs-ffmpeg: NVENC "(new)" begone · obsproject/obs-studio@21da0b0 · GitHub
-CQPの上限を 30 から 51 に変更
obs-ffmpeg: Set NVENC CQP maximum to 51 · obsproject/obs-studio@9c20ad9 · GitHub
-NVIDIA TeslaでNVENCサポートを追加
-HEVCのNVENCは「最大 Bフレーム」は 0 (普通の方は 2)
-HEVCサポートをNVENCに追加
-Linux用のNVENCブラックリストチェックを追加

OBS Studio 27.2
-ブラックリストにMX450を追加

OBS Studio 27.0
-ロスレスサポート端末のみエンコードされるよう修正

OBS Studio 26.1
-ブラックリストにMX350を追加
(ブロックされるアダプタ一覧 : あとで書く)

OBS Studio 26.0
-上記エラーの翻訳を追加

OBS Studio 25.0.8
-NVENCエラーをわかりやすいようにする為のメッセージ追加

OBS Studio 25.0
-出力モードが詳細の場合に、FFmpeg実装のNVENCを非表示に変更 (混乱を防ぐために)
-出力モードが詳細の場合に、NVENC (new)で再スケーリングをサポート (内部的に古いNVENCにフォールバック)

OBS Studio 23.2
-少数フレームレート(FPS)に設定してた場合のJim-nvnec不具合を修正 (59.94とか)

OBS Studio 23.1
-Quadro P5000でNVENCが表示されない不具合を修正
-同じセッションで最初の出力フレームが誤って次のセッションで表示される不具合を修正
-ブロックしていたアダプタの一部を削除
(23.1現在のブロックされるアダプタ一覧 : 720M , 730M , 740M , 745M , 820M , 830M , 840M , 845M , 920M , 930M , 940M , 945M , 1030 , MX110 , MX130 , MX150 , MX230 , MX250 , M520 , M500 , P500 , K920M)

OBS Studio 23.0
-NVIDIA NVENC H.264 (new)を実装 (Windows 8 以降対応)
-NVENCが利用可能な場合、デフォルトエンコーダをNVENCに変更 (23.0以降にインストールした人)
-出力モードが基本の場合、自動的に新しいNVENC(jim-nvenc)に変更 (23.0以降にインストールした人)
-NVENCが利用出来ないGPUをブロックする機能を実装 (不具合で23.0.1現在ブロックされていない可能性あり)
(ブロックされるアダプタ一覧 : 720M , 730M , 740M , 745M , 820M , 830M , 840M , 845M , 920M , 930M , 940M , 945M , 720A , 730A , 740A , 745A , 820A , 830A , 840A , 845A , 920A , 930A , 940A , 945A , 1030 , MX110 , MX130 , MX150 , MX230 , MX250 , M520 , M500 , P500 , K920M)

OBS Studio 19.0.0 で実装されている NVENC の仕様及び変更点
-defaultプリセットの削除 (defaultの場合、自動的にhqとして扱われます)

OBS Studio 17.0(0.17.0) で実装されている NVENC の仕様及び変更点
-内部エンコーダのネーム変更。(nvenc_h264 → h264_nvenc)

OBS Studio 0.16.0 で実装されている NVENC の仕様及び変更点
-NVENC H.264プロファイルが設定されない問題を修正
-b-fremes設定を追加 (デフォルト値 : 2)

OBS Studio 0.15.0 で実装されている NVENC の仕様及び変更点
-0.14.2で使えなかったレート制御の無損失のバグが修正
-出力モードが基本の場合、1つのコアだけ?を使用していたバグを修正

OBS Studio 0.14.2 で実装されている NVENC の仕様及び変更点
-CBR(固定ビットレート)が正しく動作しないのを修正
-録画時にビットレートを多く使用する問題を修正 (CQP → VBRに変更?)
-プリセット高品質?ビットレートが、50000 → 22000 に変更
-ビットレート上限を増加、90000 → 300000 に変更
-レート制御が変更 今までは「CBR」「VBR」2種だったが「CQP」「無損失」が追加
※無損失は0.14.2では動作しない。0.15.0のリリースで修正済み (1コミット後に修正だった)

OBS Studio 0.14.0 で実装されている NVENC の仕様及び変更点
-Windows 版とLinux(コンパイル必須?)に対応。
-0.12.0 のような Windows 10 必須という事がない。
-NVIDIA ドライバーVer 358.xx以降必須 (コメント情報)
-CBR (固定ビットレート)が動作していない (0.14.2で修正済み)
-プリセット : 既定・高画質・高品質・ブルーレイ・低遅延・低遅延高画質・低遅延高品質
-基本モード名称 : ハードウェア (NVENC)
-詳細モード名称 : NVENC H.264

OBS Studio 0.12.0 で実装されている NVENC の仕様及び変更点
-Windows 10が必須の模様。 (仕様上)
-名称 : NVIDIA NVENC H.264 エンコーダ (Media Foundation)
Windows 10環境を持ち合わせてない為不明。 (情報募集中)
※0.14.0 リリースによりこちらは非推奨になった。