Elecard NV Video Transcoder¶
Elecard NV Video Transcoder is a GStreamer plugin for transcoding MPEG-2/H.264/H.265 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 Transcoder has the following features:
Supports entropy encoding via the CAVLC algorithm;
Supports multiple codec levels;
Supports Baseline, Main, High, and Main H.264 profiles, as well as the Main 10 H.265 profile.
Parameter Description¶
Below is the table describing Elecard NV Video Transcoder parameters and their values.
Pad Properties¶
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
aspect |
Specifies the aspect ratio. |
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 bitrate. |
Integer |
[1 – 1000000000] |
8000000 |
readable, writable |
bitrate-max |
Specifies the maximum allowed bitrate when encoding in the VBR format. The format is set in the |
Integer |
[1 – 1000000000] |
9000000 |
readable, writable |
buffer-size |
Specifies the size of the buffer for encoded images in bits. This buffer is used to manage the data stream during encoding, ensuring the video bitrate meets the specified limits and protecting the buffer from overflowing. |
Integer |
[1 – 1000000000] |
8000000 |
readable, writable |
cavlc |
Specifies the operation mode for entropy encoding via the less complicated CAVLC algorithm, offering higher processing speed. Available options:
|
Enum |
0 — Auto
1 — Off
2 — On
|
0 |
readable, writable |
closed-gop |
Enables or disables the encoding mode with a closed GOP when a group of frames doesn’t reference the previous group, providing GOP-based, artifact-free delivery of OTT content. |
Boolean |
True, False |
True |
readable, writable |
csc |
Specifies the conversion of chroma format and bit depth setting if necessary. |
Enum |
0 — Unspecified
-1073731448 — YUV, 4:2:0, 8 bit
-1073731318 — YUV, 4:2:0, 10 bit
|
0 |
readable, writable |
format |
Specifies the codec for video compression. |
Enum |
1073988784 — AVC
1073991408 — HEVC
|
1073988784 |
readable, writable |
framerate |
Specifies the frame rate. |
Fraction |
[0/2147483647 – 2147483647/1] |
0/1 |
readable, writable |
gop-size |
Specifies the GOP size. |
Integer |
[1 – 256] |
50 |
readable, writable |
hrd-nal |
Enables or disables the writing of HRD (Hypothetical Reference Decoder) data in headers. Available options:
|
Enum |
0 — Auto
1 — Off
2 — On
|
1 |
readable, writable |
idr-interval |
Specifies the interval between key frames, the value is given as a GOP number. |
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 pre-uploaded 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 |
lookahead |
Enables or disables the buffer of preliminary analysis (lookahead) in frames. This buffer is used for analysis and prediction of subsequent frames, which helps the encoder take better decisions when encoding, thus improving the compression quality. Available options:
|
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 |
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 |
preset |
Specifies the encoder’s preset. |
Enum |
1 — HIGH_QUALITY — Latency-tolerant encoding;
2 — LOW_LATENCY — Low-latency streaming;
3 — ULTRA_LOW_LATENCY — Ultralow-latency streaming;
4 — LOSSLESS — Lossless encoding;
5 — ULTRA_HIGH_QUALITY — Latency-tolerant encoding for higher quality.
|
1 |
readable, writable |
profile |
Specifies the H.264 or H.265 profile that defines a set of functions and limitations for video stream decoding. Available profiles:
|
Enum |
0 — Unspecified
1000 — AVC Baseline
1002 — AVC Main
1004 — AVC High
2000 — HEVC Main
2001 — HEVC Main 10
|
0 |
readable, writable |
pyramid |
Enables or disables the hierarchical GOP structure for B-frames. Available modes:
|
Enum |
0 — Auto
1 — On
2 — Off
|
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 number of B-frames in the GOP structure. |
Integer |
[0 – 16] |
0 |
readable, writable |
ref-frames |
Specifies the number of reference frames. |
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 the image height change. |
Integer |
[0 – 16384] |
0 |
readable, writable |
resize-w |
Specifies the image width change. |
Integer |
[0 – 16384] |
0 |
readable, writable |
slice-count |
Specifies the number of slices. |
Integer |
[0 – 64] |
0 |
readable, writable |
Element Properties¶
Parameter Name |
Description |
Value Type |
Available Values [range] |
Default |
Flags |
|---|---|---|---|---|---|
csc |
Specifies the conversion of chroma format and bit depth setting if necessary. |
Enum |
0 — Unspecified
-1073731448 — YUV, 4:2:0, 8 bit
-1073731318 — YUV, 4:2:0, 10 bit
|
0 |
readable, writable |
deinterlace |
Enables or disables deinterlacing. Available modes:
|
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 – NVIDIA_GPU_COUNT] |
0 |
readable, writable |
encoded-frames |
Displays the number of encoded frames. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
fps |
Displays the current FPS. |
Double |
[0 – 1.797693e+308] |
0 |
readable |
frames-decoded |
Displays the number of decoded frames. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
input-samples-count |
Displays the number of input samples. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
license-state |
Displays the license state. |
String |
evaluation |
readable |
|
live-mode |
Enables or disables the |
Boolean |
True, False |
False |
readable, writable |
name |
Specifies the name of the object. |
String |
envtranscoder0 |
readable, writable |
|
nosignal-caps |
Specifies the default caps that can be used when the input data is missing. Setting this property takes a reference to the supplied |
String |
EMPTY |
readable, writable |
|
nosignal-enabled |
Enables or disables the color bar generator (CBG). |
Boolean |
True, False |
False |
readable, writable |
nosignal-image |
Specifies a path to the BMP file that will be used as a placeholder for the video stream if CBG is enabled. |
String |
readable, writable |
||
oem-name |
Displays the OEM name. |
String |
readable |
||
output-samples-count |
Displays the number of samples output from the transcoder. It is a statistical read-only parameter. |
String |
readable |
||
parent |
Specifies the parent of the object. |
Object of type GstObject |
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 the output picture height. If changing picture height is not required, set the parameter to |
Integer |
[0 – 16384] |
0 |
readable, writable |
resize-w |
Specifies the output picture width. If changing picture width is not required, set the parameter to |
Integer |
[0 – 16384] |
0 |
readable, writable |