web-dev-qa-db-ja.com

UbuntuでNVENCをインストール/コンパイルする方法は?

このドキュメントにはnvidia NVENCのサポートが記載されていますが、少しずつ混乱しているようです。またはubuntuのffmpeg-nvencとPPA?

http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf

13
Fast OS

FFmpegの継続的な開発と同様に、目標は何度も投稿されます。これは、nvencとFFmpegにも当てはまります。 3つのフェーズがあります。

  1. 独自のロール:2016年8月27日より前に、nvencをビルドするには独自のヘッダーを追跡する必要がありました。ずんぐりしていて、少しわかりにくい。
  2. ソースに組み込まれています:2016年8月27日には必要なヘッダーが見られました FFmpegソースの一部として組み込まれています 、必要なのは能力だけですFFmpegソースをgitからコンパイルするか、この時点でgitからカットされた「リリース」バージョンを使用します。
  3. nv-codec-headersを使用:2018年2月26日、NVidiaヘッダーは FFmpegソースから削除 でした。 別のgitリポジトリ は、これらのヘッダーの継続的な作業を保持するために作成されました。現時点では、これらのヘッダーをインストールする必要がありますおよびgitからのFFmpegを使用して、nvencおよびフレンドにアクセスします。

次の2つの手順が必要です。

1。 nv-codec-headersパッケージをインストールします

次のターミナルコマンドのようなもので十分です。

Sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && Sudo make install

何らかの理由で気が変わって、インストールされたファイルとビルドディレクトリを完全に削除したい場合は、次の2つのターミナルコマンドを実行するだけです:

Sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build

そして、システムがクリーンアップされました。ただし、続行する場合は、次の手順を使用します。

2。 FFmpegのコンパイル:

この非常によくテストされたガイドを使用してください。

nv-codec-headersは自動的に認識され(追加の./configureオプションは不要)、nvencが正常に構築されます。

テスト:

これをBionic Beaver LTSでテストしましたが、結果は次のとおりです。

andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$

上記と同様の画像が表示され、 サポートされているグラフィックカード があれば、すぐに使用できます:)

注:

  • hevc_nvencnvenc_hevcの間に違いはありません。nvenc_*バリアントは古いレガシー名です。
  • 各エンコーダーに固有のオプションを表示できます。たとえば、ffmpeg -h encoder=h264_nvenc
  • FFmpegのハードウェアアクセラレーションガイド :FFmpegの一般的なハードウェアアクセラレーションに関するWikiガイド、 nvencのコンパイルと使用...
  • 最新バージョンはVideo Codec SDKバージョン9.0.18に対応し、NVidiaドライバーバージョン418.30以降が必要です。
18
andrew.46