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 in-header access unit delimiter recording. 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 division of OTT content based on GOP without artifacts. |
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 in-header HRD (Hypothetical Reference Decoder) data recording. 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 kHz 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 (
|
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 |
[Encoder] Preset |
Enum |
1 — HIGH_QUALITY — Latency tolerant encoding
2 — LOW_LATENCY — Low latency streaming
3 — ULTRA_LOW_LATENCY — Ultra low 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 the Nvidia graphics card. The numeration starts from |
Integer |
[0 – NVIDIA_GPU_COUNT] |
0 |
readable, writable |
encoded-frames |
Indicates the number of encoded frames. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
fps |
Indicates the current FPS. |
Double |
[0 – 1.797693e+308] |
0 |
readable |
frames-decoded |
Indicates the number of decoded frames. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
input-samples-count |
Indicates the number of input samples. |
Unsigned Integer64 |
[0 – 18446744073709551615] |
0 |
readable |
license-state |
Indicates 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 |
Indicates the OEM name. |
String |
readable |
||
output-samples-count |
Indicates 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 |