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:

  • Auto — enabled/disabled automatically;

  • Off — always off;

  • On — always on.

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 rate-control parameter.

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:

  • Auto — enabled/disabled automatically;

  • Off — always off;

  • On — always on.

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:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

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 (look-ahead) in frames. This buffer is used for analysis and prediction of subsequent frames, which helps the encoder to take better decisions when encoding, thus improving the compression quality. Available options:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

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:

  • AVC Baseline — an H.264 profile with basic features for applications with limited resources such as video conferencing;

  • AVC Main — an H.264 profile with improved features, such as B-frames, suitable for broadcasting and streaming video;

  • AVC High — an H.264 profile with extended encoding features; one of the most high-quality profiles in the specification;

  • HEVC Main — an H.265 profile that provides a bit depth of 8 bits per sample with 4:2:0 chroma sampling; the most common type of video used with consumer electronics;

  • HEVC Main 10 — an H.265 profile with a bit depth of 8 to 10 bits, providing more colors.

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:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

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:

  • CQP — a mode with constant quantization parameters for all frames;

  • VBR — a variable bit rate mode that acts with consideration to the maximum bit rate;

  • CBR — a constant bit rate mode that acts with consideration to the limitations of the HRD model that protects against the encoder’s buffer overflow and ensures the set bit rate is met.

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:

  • Bilinear interpolation;

  • Bicubic interpolation;

  • Lanczos interpolation (3 lobes);

  • Lanczos interpolation (4 lobes).

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:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

Enum

0 — Off
1 — On
2 — Auto

1

readable, writable

deinterlace-method

Specifies the deinterlacing method. Available methods:

  • BOB — the fast Bob algorithm that vertically scales the original frame field to a complete frame;

  • Advanced — a high-quality space-time algorithm that uses adaptive algorithms to process each frame area.

Enum

1 — BOB
2 — Advanced

2

readable, writable

device-id

Specifies the original number of the Nvidia graphics card. The numeration starts from 0. The upper range boundary depends on the number of GPUs on a given machine. The parameter is used to control the component operation in systems with multiple graphics cards.

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 live operation mode. If disabled, file transcoding can be done to get the result as fast as possible.

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 GstCaps object. The value is filled automatically based on the input stream parameters.

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:

  • Bilinear interpolation;

  • Bicubic interpolation;

  • Lanczos interpolation (3 lobes);

  • Lanczos interpolation (4 lobes).

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 0.

Integer

[0 – 16384]

0

readable, writable

resize-w

Specifies the output picture width. If changing picture width is not required, set the parameter to 0.

Integer

[0 – 16384]

0

readable, writable