Windows 10に最新のgyan.devフルビルドをインストールしました。pngのシーケンスをh265 .mp4ムービーに変換したいのですが、このコマンドを使用して正常に実行しています。
ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec libx265 -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4
プロセス中にRTX2080のハードウェアアクセラレーションを利用したいのですが、追加するリソースやコマンドが見つかりません。-ハワッセル十分だと思っていたのに、機能しませんでした。
ヒントがあれば大歓迎です! どうぞお気をつけて、安全にお過ごしください。
答え1
libx265
ソフトウェア エンコーダーです。ハードウェア エンコードはサポートされていません。
あなたが望むのは、ハードウェアエンコーダハードウェアh.264の場合はビデオコーデックを使用しh264_nvenc
、h.265の場合はhevc_nvenc
ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec hevc_nvenc -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4
利用可能なエンコーダーを一覧表示しffmpeg.exe -encoders
、リストに記載されているものを探すことができますNVIDIA
。私のffmpegでは、そのリストに次のNvidiaエンコーダーがあります。
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)
そして、例えば次のようにしてエンコーダパラメータをリストすることができます。ffmpeg -h encoder=hevc_nvenc
答え2
回答してくださった@Mokubai、@Gyan、@lloganに感謝します。
h265 から h264 への変換に ffmepg hwaccel を使用する場合は、次のようにします。
ffmpeg -encoders | findstr /ic:"NVIDIA"
君は見るべきだ:
V....D h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V....D hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
ffmpeg コマンド:
ffmpeg.exe -vsync 0 -hwaccel cuda -i <input_file> -map 0 -c:a copy -c:v h264_nvenc -pix_fmt yuv420p -preset hq <output_file>
GTX1060 カードで 30 分のビデオを再生した場合、実行時間が 4 分の 1 に短縮されました。
乾杯