# openh264enc

OpenH264 video encoder

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──openh264enc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Ericsson AB, http://www.ericsson.com

Classification: – `Encoder/Video`

Rank – marginal

Plugin – openh264

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: I420
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h264:
      stream-format: byte-stream
          alignment: au
            profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)constrained-high, (string)high }

Presence – always

Direction – src

Object type – GstPad

## Properties

### adaptive-quantization

    “adaptive-quantization” gboolean

Adaptive quantization

Flags : Read / Write

Default value : true

### background-detection

    “background-detection” gboolean

Background detection

Flags : Read / Write

Default value : true

### bitrate

    “bitrate” guint

Bitrate (in bits per second)

Flags : Read / Write

Default value : 128000

### complexity

    “complexity” Openh264enc-complexity *

Complexity

Flags : Read / Write

Default value : medium (1)

### deblocking

    “deblocking” Openh264enc-deblocking-modes *

Deblocking mode

Flags : Read / Write

Default value : on (0)

### enable-denoise

    “enable-denoise” gboolean

Denoise control

Flags : Read / Write

Default value : false

### enable-frame-skip

    “enable-frame-skip” gboolean

Skip frames to reach target bitrate

Flags : Read / Write

Default value : false

### gop-size

    “gop-size” guint

Number of frames between intra frames

Flags : Read / Write

Default value : 90

### max-bitrate

    “max-bitrate” guint

Maximum Bitrate (in bits per second)

Flags : Read / Write

Default value : 0

### max-slice-size

    “max-slice-size” guint

The maximum size of one slice (in bytes).

Flags : Read / Write

Default value : 1500000

### multi-thread

    “multi-thread” guint

The number of threads.

Flags : Read / Write

Default value : 0

### num-slices

    “num-slices” guint

The number of slices (needs slice-mode=n-slices)

Flags : Read / Write

Default value : 1

### qp-max

    “qp-max” guint

Maximum quantizer

Flags : Read / Write

Default value : 51

### qp-min

    “qp-min” guint

Minimum quantizer

Flags : Read / Write

Default value : 0

### rate-control

    “rate-control” Rc_modes *

Rate control mode

Flags : Read / Write

Default value : quality (0)

### scene-change-detection

    “scene-change-detection” gboolean

Scene change detection

Flags : Read / Write

Default value : true

### slice-mode

    “slice-mode” Openh264enc-slice-modes *

Slice mode

Flags : Read / Write

Default value : n-slices (1)

### usage-type

    “usage-type” Eusage-type *

Type of video content

Flags : Read / Write

Default value : camera (0)

## Named constants

### Eusage-type

#### Members

`camera` (0) – video from camera
`screen` (1) – screen content

### Openh264enc-slice-modes

#### Members

`n-slices` (1) – Fixed number of slices
`auto` (5) – Number of slices equal to number of threads

### Openh264enc-complexity

#### Members

`low` (0) – Low complexity / high speed encoding
`medium` (1) – Medium complexity / medium speed encoding
`high` (2) – High complexity / low speed encoding

### Openh264enc-deblocking-modes

#### Members

`on` (0) – Deblocking on
`off` (1) – Deblocking off
`not-slice-boundaries` (2) – Deblocking on, except for slice boundaries

### Rc_modes

#### Members

`quality` (0) – Quality mode
`bitrate` (1) – Bitrate mode
`buffer` (2) – No bitrate control, just using buffer status
`off` (-1) – Rate control off mode

The results of the search are