Elecard NV Video Encoder¶
Elecard NV Video Encoder is a GStreamer plugin for encoding into H.264/AVC (MPEG-4 Part 10, ISO/IEC 14496-10), and H.265/HEVC (ISO/IEC 23008-2 MPEG-H Part 2/ITU-T H.265) streams based on Nvidia NVENC technology.
Features¶
Elecard NV Video Encoder has the following features:
Supports various color space standards;
Supports multiple chroma format conversion settings;
Supports two deinterlacing methods: the fast Bob algorithm and the Advanced space-time algorithm;
Ensures precise picture size and luminance adjustment.
Parameter Description¶
Below is the table describing Elecard NV Video Encoder parameters and their values:
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
aspect |
Specifies the input aspect ratio. Specified values are used as the numerator and denominator of the rational fraction. |
Fraction |
[0/1 – 16384/16384] |
0/1 |
readable, writable |
aud |
Enables or disables the writing of access unit delimiters in headers. Available options:
|
Enum |
0 — Auto
1 — Off
2 — On
|
2 |
readable, writable |
bitrate |
Specifies the video stream bit rate. |
Integer |
[1 – 65535000] |
8000000 |
readable, writable |
bitrate-max |
Specifies the maximum allowed bit rate when encoding in the VBR mode. The mode is set in the |
Integer |
[1 – 65535000] |
9000000 |
readable, writable |
buffer-size |
Specifies the size of the VBV encoded picture buffer in bits. This buffer is used to manage the data stream during encoding, ensuring the video bit rate meets the specified limits and protecting the buffer from overflowing. |
Integer |
[1 – 65535000] |
8000000 |
readable, writable |
cavlc |
Specifies the mode for entropy encoding with CAVLC algorithm (AVC-only), which is less complicated and offers higher processing speed. Available options:
|
Enum |
0 — Auto
1 — Off
2 — On
|
0 |
readable, writable |
closed-gop |
Enables or disables the closed GOP structure. In an open GOP, frames can reference the frames of the preceding GOP, which increases compression efficiency but makes processing and random access more complicated. |
Boolean |
True, False |
True |
readable, writable |
colour-primaries |
Specifies the standard of the color space in the video stream, which is required for correct display of colors on output devices. |
Enum |
0 — Unspecified
1 — BT.709
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240M
8 — Generic film
9 — BT.2020
10 — SMPTE 428
11 — SMPTE 431
12 — SMPTE 432
22 — EBU 3213
|
0 |
readable |
crop-h |
Specifies the picture cropping height. The positive value sets the cropping height, while the negative value sets the vertical offset relative to the right bottom corner of the source picture. |
Integer |
[-16384 – 16384] |
0 |
readable, writable |
crop-w |
Specifies the picture cropping width. The positive value sets the cropping width, while the negative value sets the horizontal offset relative to the right bottom corner of the source picture. |
Integer |
[-16384 – 16384] |
0 |
readable, writable |
crop-x |
Specifies the picture cropping parameters. Sets the top left corner coordinates (CropTop: x) relative to the source picture. |
Integer |
[0 – 16384] |
0 |
readable, writable |
crop-y |
Specifies the picture cropping parameters. Sets the top left corner coordinates (CropLeft: y) relative to the source picture. |
Integer |
[0 – 16384] |
0 |
readable, writable |
csc |
Specifies the chroma format conversion and bit depth setting. |
Enum |
0 — Unspecified
-1073731448 — YUV, 4:2:0, 8 bit
-1073731318 — YUV, 4:2:0, 10 bit
|
0 |
readable, writable |
deinterlace |
Specifies the deinterlacing operation mode. In the |
Enum |
0 — Off
1 — On
2 — Auto
|
1 |
readable, writable |
deinterlace-method |
Specifies the deinterlacing method. Available methods:
|
Enum |
1 — BOB
2 — Advanced
|
2 |
readable, writable |
device-id |
Specifies the original number of an Nvidia graphics card. The numeration starts from |
Integer |
[0 – 0] |
0 |
readable, writable |
display-primaries-x0 |
Specifies the horizontal coordinate (x) for the red color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
display-primaries-x1 |
Specifies the horizontal coordinate (x) for the green color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
display-primaries-x2 |
Specifies the horizontal coordinate (x) for the blue color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
display-primaries-y0 |
Specifies the vertical coordinate (y) for the red color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
display-primaries-y1 |
Specifies the vertical coordinate (y) for the green color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
display-primaries-y2 |
Specifies the vertical coordinate (y) for the blue color component in the color primaries system. The value is used to describe the video color space according to CIE 1931. |
Integer |
[0 – 65535] |
0 |
readable |
double-rate |
Enables or disables the frame rate doubling mode during deinterlacing by transforming each field into a complete frame. |
Boolean |
True, False |
False |
readable, writable |
encoded-frames |
Displays the number of encoded frames. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
format |
Specifies the stream encoding format. |
Enum |
1073988784 — AVC
1073991408 — HEVC
|
1073988784 |
readable, writable |
fps |
Displays the average number of encoded frames per second. |
Double |
[0 – 1.797693e+308] |
0 |
readable |
framerate |
Specifies the input frame rate. Specified values are used as the numerator and denominator of the rational fraction. |
Fraction |
[0/2147483647 — 2147483647/1] |
0/1 |
readable, writable |
full-range |
Specifies whether the full range of levels is used for video display. The full range ( |
Boolean |
True, False |
False |
readable, writable |
gop-size |
Specifies the distance between I-frames (the number of frames in GOP). |
Integer |
[1 – 256] |
50 |
readable, writable |
hrd-nal |
Enables or disables the writing of HRD (Hypothetical Reference Decoder) data to stream headers. Available options:
|
Enum |
0 — Auto
1 — Off
2 — On
|
1 |
readable, writable |
idr-interval |
Specifies the maximum distance between IDR frames. A set value indicates which key frame should be an IDR frame. If |
Integer |
[1 – 2147483647] |
1 |
readable, writable |
initial-delay |
Specifies the initial HRD (Hypothetical Reference Decoder) buffer occupancy, given in 90-kilohertz ticks. This determines how much data will be preloaded to the buffer before encoding. |
Integer |
[1 – 900000] |
45000 |
readable, writable |
level |
Specifies the codec level by setting limitations on the maximum values of bitrate, resolution, and other stream properties. |
Enum |
0 — Unspecified
6 — AVC 1
7 — AVC 1.b
8 — AVC 1.1
9 — AVC 1.2
10 — AVC 1.3
11 — AVC 2
12 — AVC 2.1
13 — AVC 2.2
14 — AVC 3
15 — AVC 3.1
16 — AVC 3.2
17 — AVC 4
18 — AVC 4.1
19 — AVC 4.2
20 — AVC 5
21 — AVC 5.1
22 — AVC 5.2
23 — AVC 6
24 — AVC 6.1
25 — AVC 6.2
26 — HEVC 1
27 — HEVC 2
28 — HEVC 2.1
29 — HEVC 3
30 — HEVC 3.1
31 — HEVC 4
32 — HEVC 4.1
33 — HEVC 5
34 — HEVC 5.1
35 — HEVC 5.2
36 — HEVC 6
37 — HEVC 6.1
38 — HEVC 6.2
|
0 |
readable, writable |
license-state |
Displays the component license state. |
String |
evaluation |
readable |
|
lookahead |
Enables or disables the buffer of preliminary analysis (lookahead) in frames. This buffer is used to analyze and predict subsequent frames, which helps the encoder to take better decisions when encoding, thus improving the compression quality. Available modes:
|
Enum |
0 — Auto
1 — Off
2 — On
|
0 |
readable, writable |
lookahead-depth |
Specifies the size of the preliminary analysis buffer. |
Integer |
[0 – 31] |
0 |
readable, writable |
matrix-coeffs |
Specifies the transform matrix for encoding/decoding video color components (YUV ↔ RGB). The matrix determines how luminance (Y) and color differences (U, V) are transformed into color components (R, G, B) and back. |
Enum |
0 — Unspecified
1 — BT.709
2 — Identity
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240
8 — YCgCo
9 — BT.2020 NC
10 — BT.2020 C
11 — SMPTE 2085
12 — Chromaticity NC
13 — Chromaticity C
14 — BT.2100
|
0 |
readable |
max-content-light-level |
Specifies the maximum luminance level (in nits) for the brightest pixel in the entire piece of content. |
Integer |
[0 – 65535] |
0 |
readable |
max-display-mastering-luminance |
Specifies the maximum luminance (in nits) used to calibrate the display for content mastering. |
Integer |
[0 – 2147483647] |
0 |
readable |
max-pic-average-light-level |
Specifies the maximum average picture luminance (in nits) in any content frame. |
Integer |
[0 – 65535] |
0 |
readable |
min-display-mastering-luminance |
Specifies the minimum luminance (in nits) used to calibrate the display for content mastering. |
Integer |
[0 – 65535] |
0 |
readable |
name |
Specifies the name of the object. |
String |
envenc0 |
readable, writable |
|
oem-name |
Displays the OEM name. |
String |
readable |
||
parent |
Specifies the parent of the object. |
Object of type GstObject |
readable, writable |
||
performance |
Specifies pre-set parameters to ensure a certain balance between the speed and quality of video encoding. |
Enum |
1 — Veryslow
2 — Slower
3 — Slow
4 — Medium
5 — Fast
6 — Veryfast
7 — Ultrafast
|
4 |
readable, writable |
profile |
Specifies the profile that defines a set of functions and limitations for video stream decoding. |
Enum |
0 — Unspecified
1000 — AVC Baseline
1002 — AVC Main
1004 — AVC High
1007 — AVC High 10
1009 — AVC High 4:2:2
2000 — HEVC Main
2001 — HEVC Main 10
2105 — HEVC Main 4:2:2 10
2107 — HEVC Main 4:4:4
2108 — HEVC Main 4:4:4 10
|
0 |
readable, writable |
pyramid |
Enables or disables the hierarchical GOP structure for B-frames. Available modes:
|
Enum |
0 — Auto
1 — Off
2 — On
|
0 |
readable, writable |
qp-b |
Specifies the quantization parameter for B-frames (CQP). |
Integer |
[0 – 51] |
28 |
readable, writable |
qp-i |
Specifies the quantization parameter for I-frames (CQP). |
Integer |
[0 – 51] |
24 |
readable, writable |
qp-p |
Specifies the quantization parameter for P-frames (CQP). |
Integer |
[0 – 51] |
26 |
readable, writable |
rate-control |
Specifies the rate control operation mode. Available modes:
|
Enum |
0 — CQP
1 — VBR
2 — CBR
|
2 |
readable, writable |
ref-distance |
Specifies the distance between I- or P-frames inside a GOP.
The specified value affects the distance between reference frames in the following manner: |
Integer |
[0 – 16] |
0 |
readable, writable |
ref-frames |
Specifies how many preceding frames can be used as references for encoding the current frame as part of the movement prediction process. Increasing the value will ensure more precise prediction, which is helpful for complex scenes with fast movement. However, this will require more CPU power and RAM. |
Integer |
[0 – 16] |
0 |
readable, writable |
resize-method |
Specifies the interpolation method during frame scaling. Available methods:
|
Enum |
1 — Bilinear interpolation
2 — Bicubic interpolation
3 — Lanczos interpolation (3 lobes)
4 — Lanczos interpolation (4 lobes)
|
2 |
readable, writable |
resize-h |
Specifies image height change. |
Integer |
[0 – 16384] |
0 |
readable, writable |
resize-w |
Specifies image width change. |
Integer |
[0 – 16384] |
0 |
readable, writable |
slice-count |
Specifies the number of slices in a frame. Increasing the number of slices can speed up encoding. At the same time, it can decrease the quality due to additional application of compression mechanisms for each slice. |
Integer |
[0 – 64] |
0 |
readable, writable |
transfer-characteristics |
Specifies the transfer function that determines how luminance (luma) is transformed into signal levels. The method is used for correct display of the luminance levels according to the chosen standard. |
Enum |
0 — Unspecified
1 — BT.709
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240
8 — Linear
9 — Logarithmic 100:1
10 — Logarithmic 100*Sqrt(10):1
11 — IEC 61966-2-4
12 — BT.1361
13 — IEC 61966-2-1
14 — BT.2020 (10 bit)
15 — BT.2020 (12 bit)
16 — SMPTE 2084 (PQ)
17 — SMPTE 428
18 — BT.2100 (HLG)
|
0 |
readable |
video-format |
Specifies the stream video format. |
Enum |
0 — Unspecified
1 — PAL
2 — NTSC
3 — SECAM
4 — MAC
5 — Component
|
0 |
readable |
white-point-x |
Specifies the horizontal coordinate (x) of the white point in the CIE 1931 color space. |
Integer |
[0 – 65535] |
0 |
readable |
white-point-y |
Specifies the vertical coordinate (y) of the white point in the CIE 1931 color space. |
Integer |
[0 – 65535] |
0 |
readable |