nvtool

command module
v0.0.0-...-c6b6372 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2021 License: MIT Imports: 12 Imported by: 0

README

NVTool

Video encoding tool based on rigaya's NVEncC.

Build
rsrc -manifest nvtool.exe.manifest -ico ./assets/embed/icon.ico -arch amd64 -o rsrc.syso
go build -ldflags="-s -w -H windowsgui -linkmode external -extldflags -static" .
rm rsrc.syso
Screenshots

图片

图片

https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new

Options Reference
Preset

Encode quality preset.

  • P1 (= performance)
  • P2
  • P3
  • P4 (= default)
  • P5
  • P6
  • P7 (= quality)
Quality

Set target quality when using VBR mode. (0.0-51.0, 0 = automatic)

Bitrate

Set bitrate in kbps.

To enable constant quality mode, set the value to 0.

AQ
  • temporal - Enable adaptive quantization between frames.

  • spatial - Enable adaptive quantization in frame.

Strength

Specify the AQ strength. 1 = weak, 15 = strong, 0 = auto

HEVC

Specify the output codec as HEVC, default is h264.

Resize

Set output resolution. When it is different from the input resolution, HW/GPU resizer (Lanczos 4x4) will be activated automatically.

If not specified, it will be same as the input resolution. (no resize)

Special Values

  • 0 ... Will be same as input.
  • One of width or height as negative value Will be resized keeping aspect ratio, and a value which could be divided by the negative value will be chosen.

Example

input 1280x720 Resize 1024x576 -> normal Resize 960x0 -> resize to 960x720 (0 will be replaced to 720, same as input) Resize 1920x-2 -> resize to 1920x1080 (calculated to keep aspect ratio)

Filter Reference:
KNN

Strong noise reduction filter.

Parameters

  • radius= (default=3, 1-5) radius of filter.
  • strength= (default=0.08, 0.0 - 1.0) Strength of the filter.
  • lerp= (default=0.2, 0.0 - 1.0) The degree of blending of the original pixel to the noise reduction pixel.
  • th_lerp= (default=0.8, 0.0 - 1.0) Threshold of edge detection.
PMD

Rather weak noise reduction by modified pmd method, aimed to preserve edge while noise reduction.

Parameters

  • apply_count= (default=2, 1- ) Number of times to apply the filter.
  • strength= (default=100, 0-100) Strength of the filter.
  • threshold= (default=100, 0-255) Threshold for edge detection. The smaller the value is, more will be detected as edge, which will be preserved.
Unsharp

unsharp filter, for edge and detail enhancement.

Parameters

  • radius= (default=3, 1-9) radius of edge / detail detection.
  • weight= (default=0.5, 0-10) Strength of edge and detail emphasis. Larger value will result stronger effect.
  • threshold= (default=10.0, 0-255) Threshold for edge and detail detection.
EdgeLevel

Edge level adjustment filter, for edge sharpening.

Parameters

  • strength= (default=5.0, -31 - 31) Strength of edge sharpening. Larger value will result stronger edge sharpening.
  • threshold= (default=20.0, 0 - 255) Noise threshold to avoid enhancing noise. Larger value will treat larger luminance change as noise.
  • black= (default=0.0, 0-31) strength to enhance dark part of edges.
  • white= (default=0.0, 0-31) strength to enhance bright part of edges.
Contribution

Give a ⭐️ if this project helped you.

All kinds of pull request are more then welcome!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
common

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL