Skip to content

Feature update nUpdate HEVC NVENC options for current FFmpegvenc options - #62

Closed
j-clavoie wants to merge 2 commits into
alfg:masterfrom
j-clavoie:feature-update_nvenc_options
Closed

j-clavoie wants to merge 2 commits into
alfg:masterfrom
j-clavoie:feature-update_nvenc_options

Conversation

@j-clavoie

Copy link
Copy Markdown
Contributor

Summary

Updates HEVC NVENC support to match current FFmpeg/NVENC options.

Changes

  • Add MKV support for hevc_nvenc
  • Add modern NVENC presets p1 through p7
  • Add NVENC tuning modes
  • Add HEVC NVENC rate-control modes:
    • VBR / CQ
    • CBR
    • Constant QP
  • Add multipass support
  • Add HEVC profiles, levels and tiers
  • Add advanced NVENC options:
    • lookahead
    • spatial AQ
    • temporal AQ
    • AQ strength
    • B-frame references
    • zero latency
    • strict GOP
    • scene-cut control
    • adaptive B-frames
    • weighted prediction
    • GPU selection
  • Add field help for the new controls
  • Extend field-help tests for conditional HEVC NVENC controls

Validation

  • npm test
  • npm run lint
  • npm run build

Manually verified generated commands for VBR, CBR, Constant QP, multipass, AQ, lookahead, profiles, levels, tiers and GPU selection.

@alfg

alfg commented Sep 25, 2026

Copy link
Copy Markdown
Owner

Hi @j-clavoie, thanks for putting this together! You're right that the NVENC options were out of date. The old hp/hq/bd/lossless presets are gone from current FFmpeg, and P1–P7 with tunes and -rc/-cq are how NVENC works now.

While reviewing I realised I wanted it structured a bit differently, so I've opened #63 based on your approach. The main differences:

  • It covers both h264_nvenc and hevc_nvenc, since they share almost all of these options.
  • It reuses the existing Rate control field and CRF slider instead of adding a parallel set. Constant quality becomes -rc vbr -cq, and CBR and constant QP are added as NVENC modes. Separate fields had led to a few sync bugs: the ffmpegd payload and shared links were missing the NVENC settings, and a hidden 2 Pass setting could still produce a two-command encode.
  • It trims the settings to the ones most people will change: presets, tunes, rate control, Multipass, adaptive quantization and lookahead.
  • Old links and saved presets that use the legacy preset names are converted to the P preset FFmpeg ran them as, so they keep encoding the same way.

You're credited as a co-author on the commit in #63. Since that PR replaces this one, I'll close this one once it merges. Thanks again, and I'd welcome your review on #63, especially if you can test it against a real NVENC setup.

@j-clavoie

Copy link
Copy Markdown
Contributor Author

Hello!
I made some test with re-encoding some videos with NVENC (nvidia video card), I used the ffmpeg-commander.
That works very well.

I took a look at the commit #63 and it's really good. I used it in my Dockerfile to test it and that works well.

I'm just curious when it's planned to push your commit #63 in the main branch.

@alfg

alfg commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Hey @j-clavoie, it should be merged and deployed to the website. Feel free to check it out.

Closing this PR.

@alfg alfg closed this Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants