# vtenc_h265a_hw

Apple VideoToolbox H265 HW-only encoder with alpha channel support. Currently only available on macOS.

## Example pipeline (assuming a PNG with an alpha channel as input)

     gst-launch-1.0 -v filesrc location=test.png ! pngdec ! imagefreeze num-buffers=1000 ! videoconvert ! vtenc_h265a ! qtmux ! filesink location=out.mov

Encode 1000 frames of a PNG image with an alpha channel and save it as an MOV file.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──GstVTEnc
                            ╰──vtenc_h265a_hw

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Piotr Brzeziński

Classification: – `Codec/Encoder/Video/Hardware`

Rank – primary

Plugin – applemedia

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h265:
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     interlace-mode: { (string)progressive, (string)interleaved }
      stream-format: hvc1
          alignment: au

Presence – always

Direction – src

Object type – GstPad

## Properties

### allow-frame-reordering

    “allow-frame-reordering” gboolean

Whether to allow frame reordering or not

Flags : Read / Write / Construct

Default value : true

### bitrate

    “bitrate” guint

Target video bitrate in kbps (0 = auto)

Flags : Read / Write / Construct

Default value : 0

### data-rate-limits

    “data-rate-limits” gchararray

Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)

Flags : Read / Write / Construct

Default value : 0,0.00000

### max-keyframe-interval

    “max-keyframe-interval” gint

Maximum number of frames between keyframes (0 = auto)

Flags : Read / Write / Construct

Default value : 0

### max-keyframe-interval-duration

    “max-keyframe-interval-duration” guint64

Maximum number of nanoseconds between keyframes (0 = no limit)

Flags : Read / Write / Construct

Default value : 0

### quality

    “quality” gdouble

The desired compression quality

Flags : Read / Write / Construct

Default value : 0.5

### rate-control

    “rate-control” GstVtencRateControl *

Desired rate control for the encoder

Flags : Read / Write / Construct

Default value : abr (0)

### realtime

    “realtime” gboolean

Configure the encoder for realtime output

Flags : Read / Write / Construct

Default value : false

The results of the search are