Video Encoders Specification
AVC (H.264) and HEVC (H.265) video encoders specification
Resolution
The AVC (H.264) encoder supports the following resolutions:
Name | Width | Height | Image Aspect Ratio | Note |
---|---|---|---|---|
1080p | 1920 | 1080 | 16:9 | Native for 1080p sources |
720p | 1280 | 720 | 16:9 | Native for 720p sources |
540p | 960 | 540 | 16:9 | |
360p | 640 | 360 | 16:9 |
1080p scaled down by 3, 720p scaled down by 2 |
270p | 480 | 270 | 16:9 | |
240p | 320 | 240 | 4:3 | |
180p | 320 | 180 | 16:9 | Fits within a QVGA display |
The default resolution setting is the native video source resolution.
Profile
The AVC (H.264) encoder supports the following encoding profiles:
□ | Baseline profile (default) |
□ | Main profile |
□ | High profile |
The HEVC (H.265) encoder supports the following encoding profile:
□ | Main profile |
Frame rate control
The EncodingInterval and FrameRateLimit properties of the VideoEncoderConfiguration object determine the frame rate of the encoded video stream.
FrameRateLimit is an integer value expressed in frames per second [fps] specifying the upper limit of the frame rate of the encoded video stream.
By default, FrameRateLimit is set to the actual frame rate of the video source. It can be set to any integer value up to the frame rate of the video source.
For video sources having a non-integer frame rate value, the default and maximum value of FrameRateLimit is rounded up to the next integer value. For instance for 29.97 fps sources, FrameRateLimit is set to 30.
Setting FrameRateLimit to 0 is equivalent to setting FrameRateLimit to its maximum value.
EncodingInterval specifies the interval between encoded frames. A value of 1 means that all frames are encoded; a value of 2 means that 1 frame out of 2 are effectively encoded.
By default, the EncodingInterval property is set to 1. It can be set to any integer value in the range [1, 150].
The frame rate of the encoded stream can be evaluated using the following formula:
Encoded Stream Frame Rate [fps] = FrameRateLimit / EncodingInterval
Rate control - bit rate
The target bit rate is specified in kbps by the BitRateLimit property of the VideoEncoderConfiguration object.
By default, the BitRateLimit property is set to 4,000 kbps. It can be set to any integer value up to 20,000 kbps.
Setting too low bit rates may result in lower fidelity, blocky or jerky video.
The AVC (H.264) encoder supports the following bit rate control methods:
□ | CBR (Constant Bit Rate) |
□ | VBR (Variable Bit Rate) |
The encoding quality is specified by the BitrateLimit property of the VideoEncoderConfiguration object.
GOP size
The property GovLength specifies the total number of frames in a Group Of video Pictures (GOP). Possible values range from 1 to 300; the default setting is 100.
In the H.264 Baseline profile, a GOP is composed of one I(or IDR)-frame followed by (Govlength-1) P frames.
In the H.264 Main and High profiles, a GOP is composed of one I(or IDR)-frame followed by (Govlength-1) P or B frames.
Setting GovLength to 1 forces all pictures to be coded as I(or IDR)-frames.
MJPEG video encoder specification
Resolution
The MJPEG encoder supports the following resolutions:
Name | Width | Height | Image Aspect Ratio | Remark |
---|---|---|---|---|
1080p | 1920 | 1080 | 16:9 | Native for 1080p sources |
720p | 1280 | 720 | 16:9 | Native for 720p sources |
540p | 960 | 540 | 16:9 | |
360p | 640 | 360 | 16:9 | 1080p scaled down by 3 or 720p scaled down by 2 |
270p | 480 | 270 | 16:9 | |
240p | 320 | 240 | 4:3 | |
180p | 320 | 180 | 16:9 | Fits within a QVGA display |
The default resolution setting is the native video source resolution.