h264_nvenc și hevc_nvenc (NVIDIA GPU) în FFmpeg

Encodare hardware de viteză extremă utilizând nucleele NVENC de pe plăcile video NVIDIA GeForce și RTX.

Sintaxă
ffmpeg -hwaccel cuda -i intrare.mp4 -c:v h264_nvenc -preset p5 -b:v 5M iesire.mp4
ffmpeg -hwaccel cuda -i intrare.mp4 -c:v hevc_nvenc -preset p6 iesire_hevc.mp4

Ce face h264_nvenc și hevc_nvenc (NVIDIA GPU)

Tehnologia NVIDIA NVENC este un cip hardware dedicat pe plăcile grafice NVIDIA care realizează compresia video fără a încărca deloc procesorul central (CPU) al calculatorului.

Viteza de codare este uluitoare: o placă video modernă RTX poate procesa un film Full HD sau 4K la peste 300–600 de cadre pe secundă (de 10 ori mai rapid decât codarea software pe procesor).

Opțiunea -hwaccel cuda asigură și decodarea hardware a fișierului de intrare, menținând cadrele direct în memoria video VRAM a plăcii fără transferuri lente peste magistrala PCIe.

Opțiuni și argumente

Opțiune / Parametru Descriere
-hwaccel cuda Activează decodarea hardware accelerată prin GPU NVIDIA.
-c:v h264_nvenc Encoderul hardware NVIDIA pentru H.264.
-c:v hevc_nvenc Encoderul hardware NVIDIA pentru H.265 / HEVC.
-preset p1...p7 Preset-urile hardware NVENC (p1 = cel mai rapid, p4 = mediu, p7 = calitate maximă).

Ce returnează

Compresie accelerată pe siliciul dedicat NVIDIA NVENC.

Exemple

Exemplul 1: Transcodarea unui fișier video de 1 oră în mai puțin de 2 minute

Folosește placa grafică NVIDIA la viteză maximă.

ffmpeg -hwaccel cuda -i filmare.mov -c:v h264_nvenc -preset p6 -b:v 6M -c:a aac iesire_gpu.mp4

Ieșire în terminal

Stream #0:0: Video: h264 (h264_nvenc) (Main) (avc1)
frame= 7200 fps=480 q=21.0 Lsize=  120400kB time=00:04:00.00 bitrate=6140.2kbits/s speed=16.0x

Greșeli frecvente

  • Rularea comenzilor NVENC pe sisteme fără drivere NVIDIA proprietare instalate sau fără placă video compatibilă.
  • Folosirea sintaxei vechi de preseturi software (cum ar fi -preset veryslow); NVENC folosește scara modernă de la p1 la p7.

Comenzi înrudite