私は NVIDIA Quadro P620 を持っています。グラフィック カードを使用してトランスコーディングを高速化する方法について、多くの調査を行っています。
このページを偶然見つけた https://trac.ffmpeg.org/wiki/HWAccelIntro#usewiththeffmpegcommand-linetool
そこで私は試してみた
ffmpeg -hwaccel cuda -i input.avi output.mp4
結果はそれほど早くはならなかった
ffmpeg -i input.avi output.mp4
実際にはトランスコードに時間がかかりました。
同じCPU使用率を消費していることがわかりますレスモン-hwaccel オプションがない場合と同じです。
何か間違ったことをしましたか? ffmpeg が GPU を正しく使用しているかどうかはどうすればわかりますか?
答え1
による ビデオエンコードおよびデコード GPU サポート マトリックス、GPUはハードウェア支援によるデコードとエンコードをサポートしています。これは ネヴェンク。
ここで唯一問題となるのは、GPU がサポートするコーデックのリストです。これは H.264 と H.265 です。ビデオがこれらのコーデックでエンコードされていない場合、ハードウェア アクセラレーションが機能しない可能性があります。
適切なコーデックと参考については、Stack Overflowの投稿をご覧ください。 ffmpeg が Intel QSV ではなく Nvidia CUDA を選択するようにする 次のコマンドでハードウェア アクセラレーションが動作していることがわかりました。
ffmpeg -hide_banner -hwaccel cuda -i "input.avi" -c:a copy -ac 1 -c:v h264_nvenc -preset hq -movflags faststart -qp 30 "output.mp4"