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
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
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
b-adapt
“b-adapt” gboolean
Enable adaptive B-frame insert when lookahead is enabled
Flags : Read / Write
Default value : false
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
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