そこまで分かっているわけではないけれどまとめてみた。「エンコード」まずencodeとdecodeがわからない記事がいくつか出てくるのでそこから。データを映像/音声にするのがデコード映像/音声をデータにするのがエンコードエンコードは動画編集をしているのでなければ、基本的に動画変換のお話。ハードウェアハードウェアでやる、というのはCPUに頼らず、ハードウェア側に搭載された専用のチップを使用してエンコーディングする話をしている。これによりCPUにかかる負荷が低減できる速度が向上する(かもしれない)というメリットがある。遅いGPUと速いCPUの組み合わせだと速度向上には必ずしもつながらないが。GPUは非常に速いので高速化する可能性は高い。ゲームはリソースをいっぱい近く使うので、録画するのは難しい。処理落ちなどの原因になる。そんなことがあったら多分ガチなゲーマーは許さない。録画時はそのまま映像データを収録しているとあまりに巨大ファイルになる。ゲームのプレイ時間は長い可能性が高いし、これはこれできつい。いうわけで、これをハードウェアにオフロードしてCPUや描画用グラフィックスに負担をかけることなく録画/変換して保存しようということだと思う。IntelのQSVは恐らく趣旨が違う。いうのは、こちらは「CPUやメモリにも負担をかける」からだ。Lakeにも対応していたりするので、もしかしたら動画編集を意識しているのかもしれない。VA-APIとVDPAUVA-APIはIntelが、VDPAUはNvidiaが作ったLinux用のハードウェアビデオアクセラレーション用のAPIだ。それぞれサポートされているのだが、そのサポートに注意がいる。libva-vdpau-driverはVA-APIをラップしてVDPAUに投げるlibvdpau-va-glはVDPAUをラップしてVA-APIに投げるこのためNVIDIAはVA-APIは使えるけれど実際はVDPAUを使用するIntelはVDPAUは使えるけれど実際はVA-APIを使用するちなみに、AMDのオープンソースドライバ(ATIあるいはamdgpu)はVA-APIドライバとしてlibva-mesa-driver(とmesa)と、libva-vdpau-driverの2種類の方法がある。前者であればVA-APIを直接取り扱う。後者であればVDPAUに流す。AMDにはVCEがある。実はIntelのビデオアクセラレーションは割とLinuxに手厚い。Studioを要求されるけれども、色々と条件が厳しいし、フリーではない(無料ではあるけれど)。性能的には劣るもののVA-APIから叩けるらしい。Decoder)とセットのAMDの機能。VA-API経由で叩ける。NVEncNvidiaのエンコード用ビデオアクセラレーション。Pascal世代になってとっても速くなったらしい。720p高画質で300fpsとか言っているのでGPUすごい。QSVのほうが速いとか言っている人がいるけれども、多分そんな環境まずない。画質が割と腐っているけれど、H265がH264とほぼ同じ速度で変換できるので、H265にすればだいぶよろしくなる。H265エンコードはMaxwellからのサポート。エンコーダと画質のお話ハードウェアエンコードを行う場合、実際のデータ変換処理を行う「エンコーダ」としてハードウェアへのアダプタを指定する。NVEncを使う場合、libx264の代わりにnvenc_h264を使うことになる。エンコーダオプション(-crfとか)も変わる。結果的に変換のされ方が変わる。同一のクオリティを要求しても同じデータにはならない。ハードウェアエンコードを行った場合の画質、あまりよくない。H.264でq=30くらいまで落とすとものすごくわかりやすいことになる。いう動画こそサイズを小さくしたい。ところが、ハードウェアエンコーダでサイズを小さくすると画質が目立って悪い。ffmpegでエンコードLinuxの動画はffmpegで変換するものでしょう?というわけで、QSVとVCEはVA-APIに対応しているのでVA-APIで。output.mp4エンコードもハードウェアでやればより軽い。output.mp4-qオプションは指定できるみたい。output.mp4Nvidiaがひとり独自路線なのはちょっと気になるけれども、使いやすいのはnvencのほう。output.mp4qの値など実際は探り探りやっていくしかない感じ。結構なリソースを眠らせている可能性は結構ある。APUを搭載しているコンピュータだとCPU的にはXFceやMATE、LXDEなんかよりよっぽど軽かったりもする。いうのがあればある程度は働いてくれるのだが、これもビデオカードの機能のごく一部を使っているだけ。ちなみに、OpenGL用のアクセラレータを使っている。この状態でもデコーダやエンコーダは遊んでいるので、せっかくのリソース活用してあげてください。ハードウェアエンコーダの画質はちょっと微妙だけども。