nvh265enc

Encode H.265 video streams using NVCODEC API CUDA Mode

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstVideoEncoder
                    ╰──GstNvEncoder
                        ╰──nvh265enc

Implemented interfaces

Factory details

Authors: – Seungha Yang

Classification:Codec/Encoder/Video/Hardware

Rank – primary + 1

Plugin – nvcodec

Package – GStreamer Bad Plug-ins

Pad Templates

sink

video/x-raw(memory:CUDAMemory):
         format: { NV12, P010_10LE, Y444, Y444_16LE, GBR, GBR_16LE, VUYA, RGBA, RGBx, BGRA, BGRx, RGB10A2_LE }
          width: [ 144, 8192 ]
         height: [ 48, 8192 ]
 interlace-mode: progressive

video/x-raw(memory:GLMemory):
         format: { NV12, P010_10LE, Y444, Y444_16LE, GBR, GBR_16LE, VUYA, RGBA, RGBx, BGRA, BGRx, RGB10A2_LE }
          width: [ 144, 8192 ]
         height: [ 48, 8192 ]
 interlace-mode: progressive
video/x-raw:
         format: { NV12, P010_10LE, Y444, Y444_16LE, GBR, GBR_16LE, VUYA, RGBA, RGBx, BGRA, BGRx, RGB10A2_LE }
          width: [ 144, 8192 ]
         height: [ 48, 8192 ]
 interlace-mode: progressive

Presencealways

Directionsink

Object typeGstPad


src

video/x-h265:
          width: [ 144, 8192 ]
         height: [ 48, 8192 ]
        profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }
  stream-format: { (string)byte-stream, (string)hvc1, (string)hev1 }
      alignment: au

Presencealways

Directionsrc

Object typeGstPad


Properties

aq-strength

“aq-strength” guint

Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)

Flags : Read / Write

Default value : 0


aud

“aud” gboolean

Use AU (Access Unit) delimiter

Flags : Read / Write

Default value : true


b-adapt

“b-adapt” gboolean

Enable adaptive B-frame insert when lookahead is enabled

Flags : Read / Write

Default value : false


bframes

“bframes” guint

Number of B-frames between I and P

Flags : Read / Write

Default value : 0


bitrate

“bitrate” guint

Bitrate in kbit/sec (0 = automatic)

Flags : Read / Write

Default value : 0


const-quality

“const-quality” gdouble

Target Constant Quality level for VBR mode (0 = automatic)

Flags : Read / Write

Default value : 0


cuda-device-id

“cuda-device-id” guint

CUDA device ID of associated GPU

Flags : Read

Default value : 0


gop-size

“gop-size” gint

Number of frames between intra frames (-1 = infinite)

Flags : Read / Write

Default value : 75


i-adapt

“i-adapt” gboolean

Enable adaptive I-frame insert when lookahead is enabled

Flags : Read / Write

Default value : false


max-bitrate

“max-bitrate” guint

Maximum Bitrate in kbit/sec (ignored in CBR mode)

Flags : Read / Write

Default value : 0


multi-pass

“multi-pass” GstNvEncoderMultiPass *

Multi pass encoding

Flags : Read / Write

Default value : default (0)


nonref-p

“nonref-p” gboolean

Automatic insertion of non-reference P-frames

Flags : Read / Write

Default value : false


preset

“preset” GstNvEncoderPreset *

Encoding Preset

Flags : Read / Write

Default value : default (0)


qp-const

“qp-const” gint

DEPRECATED, use qp-const-{i,p,b} properties instead

Flags : Read / Write

Default value : -1


qp-const-b

“qp-const-b” gint

Constant QP value for B frame (-1 = default)

Flags : Read / Write

Default value : -1


qp-const-i

“qp-const-i” gint

Constant QP value for I frame (-1 = default)

Flags : Read / Write

Default value : -1


qp-const-p

“qp-const-p” gint

Constant QP value for P frame (-1 = default)

Flags : Read / Write

Default value : -1


qp-max

“qp-max” gint

DEPRECATED, Use qp-max-{i,p,b} properties instead

Flags : Read / Write

Default value : -1


qp-max-b

“qp-max-b” gint

Maximum QP value for B frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


qp-max-i

“qp-max-i” gint

Maximum QP value for I frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


qp-max-p

“qp-max-p” gint

Maximum QP value for P frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


qp-min

“qp-min” gint

DEPRECATED, Use qp-min-{i,p,b} properties instead

Flags : Read / Write

Default value : -1


qp-min-b

“qp-min-b” gint

Minimum QP value for B frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


qp-min-i

“qp-min-i” gint

Minimum QP value for I frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


qp-min-p

“qp-min-p” gint

Minimum QP value for P frame, (-1 = automatic)

Flags : Read / Write

Default value : -1


rc-lookahead

“rc-lookahead” guint

Number of frames for frame type lookahead

Flags : Read / Write

Default value : 0


rc-mode

“rc-mode” GstNvEncoderRCMode *

Rate Control Mode

Flags : Read / Write

Default value : default (0)


repeat-sequence-header

“repeat-sequence-header” gboolean

Insert sequence headers (SPS/PPS) per IDR, ignored if negotiated stream-format is "hvc1"

Flags : Read / Write

Default value : false


spatial-aq

“spatial-aq” gboolean

Spatial Adaptive Quantization

Flags : Read / Write

Default value : false


strict-gop

“strict-gop” gboolean

Minimize GOP-to-GOP rate fluctuations

Flags : Read / Write

Default value : false


temporal-aq

“temporal-aq” gboolean

Temporal Adaptive Quantization

Flags : Read / Write

Default value : false


tune

“tune” GstNvEncoderTune *

Encoding tune

Flags : Read / Write

Default value : default (0)


vbv-buffer-size

“vbv-buffer-size” guint

VBV(HRD) Buffer Size in kbits (0 = NVENC default)

Flags : Read / Write

Default value : 0


weighted-pred

“weighted-pred” gboolean

Enables Weighted Prediction

Flags : Read / Write

Default value : false


zerolatency

“zerolatency” gboolean

Zero latency operation (no reordering delay)

Flags : Read / Write

Default value : false


Named constants

GstNvEncoderMultiPass

Members

default (0) – Disable multi-pass when cqp, vbr or cbr is used. Otherwise encoder will select it based on rc-mode
disabled (1) – Disabled
two-pass-quarter (2) – Two pass with quarter resolution encoding in first pass
two-pass (3) – Two pass

Since : 1.24


GstNvEncoderPreset

Members

default (0) – Default (deprecated, use p1~7 with tune)
hp (1) – High Performance (deprecated, use p1~7 with tune)
hq (2) – High Quality (deprecated, use p1~7 with tune)
low-latency (3) – Low Latency (deprecated, use p1~7 with tune)
low-latency-hq (4) – Low Latency (deprecated, use p1~7 with tune), High Quality
low-latency-hp (5) – Low Latency (deprecated, use p1~7 with tune), High Performance
lossless (6) – Lossless (deprecated, use p1~7 with tune)
lossless-hp (7) – Lossless (deprecated, use p1~7 with tune), High Performance
p1 (8) – P1, fastest
p2 (9) – P2, faster
p3 (10) – P3, fast
p4 (11) – P4, medium
p5 (12) – P5, slow
p6 (13) – P6, slower
p7 (14) – P7, slowest

Since : 1.22


GstNvEncoderRCMode

Members

default (0) – Default
constqp (1) – Constant Quantization
cbr (2) – Constant Bit Rate
vbr (3) – Variable Bit Rate
vbr-minqp (4) – Variable Bit Rate (deprecated, use vbr and qp options)
cbr-ld-hq (5) – Low-Delay CBR, High Quality (deprecated, use cbr with tune and multipass)
cbr-hq (6) – CBR, High Quality (deprecated, use cbr with tune and multipass)
vbr-hq (7) – VBR, High Quality (deprecated, use vbr with tune and multipass)

Since : 1.22


GstNvEncoderTune

Members

default (0) – High quality when p1~7 preset is used. Otherwise encoder will select it based on preset
high-quality (1) – High quality
low-latency (2) – Low latency
ultra-low-latency (3) – Ultra low latency
lossless (4) – Lossless

Since : 1.24


The results of the search are