docs: Update macOS plugin docs again

Contains the following updates:

* New properties on avfvideosrc: screen-crop-*
* H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox)
* ProRes support in vtenc
* New properties on vtenc elements: rate-control, data-rate-limits,
  max-frame-delay
* New plugin atenc (AudioToolbox) with support for encoding AAC
* Plugin move: atdec moved from -bad to -good
* New property on osxaudio elements: unique-id
* OS X -> macOS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>
This commit is contained in:
Nirbheek Chauhan 2024-12-05 00:32:37 +05:30 committed by GStreamer Marge Bot
parent a3d3a61490
commit 88cb48108a
2 changed files with 816 additions and 40 deletions

View file

@ -4160,35 +4160,8 @@
"url": "Unknown package origin" "url": "Unknown package origin"
}, },
"applemedia": { "applemedia": {
"description": "Elements for capture and codec access on Apple OS X and iOS", "description": "Elements for capture and codec access on Apple macOS and iOS",
"elements": { "elements": {
"atdec": {
"author": "Alessandro Decina <alessandro.d@gmail.com>",
"description": "AudioToolbox based audio decoder",
"hierarchy": [
"GstATDec",
"GstAudioDecoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"klass": "Codec/Decoder/Audio",
"long-name": "AudioToolbox based audio decoder",
"pad-templates": {
"sink": {
"caps": "audio/mpeg:\n mpegversion: 4\n framed: true\n channels: [ 1, 2147483647 ]\naudio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "audio/x-raw:\n format: S16LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\naudio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "src",
"presence": "always"
}
},
"rank": "marginal"
},
"avfassetsrc": { "avfassetsrc": {
"author": "Andoni Morales Alastruey amorales@fluendo.com", "author": "Andoni Morales Alastruey amorales@fluendo.com",
"description": "Read and decode samples from AVFoundation assets using the AVFAssetReader API", "description": "Read and decode samples from AVFoundation assets using the AVFAssetReader API",
@ -4234,7 +4207,7 @@
}, },
"avfvideosrc": { "avfvideosrc": {
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>", "author": "Ole André Vadla Ravnås <oleavr@soundrop.com>",
"description": "Reads frames from an iOS AVFoundation device", "description": "Reads frames from an iOS/MacOS AVFoundation device",
"hierarchy": [ "hierarchy": [
"GstAVFVideoSrc", "GstAVFVideoSrc",
"GstPushSrc", "GstPushSrc",
@ -4377,6 +4350,62 @@
"readable": true, "readable": true,
"type": "GstAVFVideoSourcePosition", "type": "GstAVFVideoSourcePosition",
"writable": true "writable": true
},
"screen-crop-height": {
"blurb": "Height of the screen capture area (0 = maximum)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"screen-crop-width": {
"blurb": "Width of the screen capture area (0 = maximum)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"screen-crop-x": {
"blurb": "Horizontal coordinate of top left corner of the screen capture area",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"screen-crop-y": {
"blurb": "Vertical coordinate of top left corner of the screen capture area",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
} }
}, },
"rank": "secondary" "rank": "secondary"
@ -4444,12 +4473,12 @@
"long-name": "Apple VideoToolbox decoder", "long-name": "Apple VideoToolbox decoder",
"pad-templates": { "pad-templates": {
"sink": { "sink": {
"caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/x-h265:\n stream-format: { (string)hev1, (string)hvc1 }\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n",
"direction": "sink", "direction": "sink",
"presence": "always" "presence": "always"
}, },
"src": { "src": {
"caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", "caps": "video/x-raw:\n format: { NV12, AYUV64, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n",
"direction": "src", "direction": "src",
"presence": "always" "presence": "always"
} }
@ -4472,12 +4501,12 @@
"long-name": "Apple VideoToolbox decoder (hardware only)", "long-name": "Apple VideoToolbox decoder (hardware only)",
"pad-templates": { "pad-templates": {
"sink": { "sink": {
"caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/x-h265:\n stream-format: { (string)hev1, (string)hvc1 }\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n",
"direction": "sink", "direction": "sink",
"presence": "always" "presence": "always"
}, },
"src": { "src": {
"caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", "caps": "video/x-raw:\n format: { NV12, AYUV64, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n",
"direction": "src", "direction": "src",
"presence": "always" "presence": "always"
} }
@ -4502,7 +4531,7 @@
"long-name": "H.264 encoder", "long-name": "H.264 encoder",
"pad-templates": { "pad-templates": {
"sink": { "sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink", "direction": "sink",
"presence": "always" "presence": "always"
}, },
@ -4539,6 +4568,18 @@
"type": "guint", "type": "guint",
"writable": true "writable": true
}, },
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": { "max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)", "blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false, "conditionally-available": false,
@ -4581,6 +4622,18 @@
"type": "gdouble", "type": "gdouble",
"writable": true "writable": true
}, },
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": { "realtime": {
"blurb": "Configure the encoder for realtime output", "blurb": "Configure the encoder for realtime output",
"conditionally-available": false, "conditionally-available": false,
@ -4614,7 +4667,7 @@
"long-name": "H.264 (HW only) encoder", "long-name": "H.264 (HW only) encoder",
"pad-templates": { "pad-templates": {
"sink": { "sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink", "direction": "sink",
"presence": "always" "presence": "always"
}, },
@ -4651,6 +4704,18 @@
"type": "guint", "type": "guint",
"writable": true "writable": true
}, },
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": { "max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)", "blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false, "conditionally-available": false,
@ -4693,6 +4758,558 @@
"type": "gdouble", "type": "gdouble",
"writable": true "writable": true
}, },
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": {
"blurb": "Configure the encoder for realtime output",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
}
},
"rank": "primary"
},
"vtenc_h265": {
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
"description": "H.265/HEVC encoder",
"hierarchy": [
"vtenc_h265",
"GstVideoEncoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstPreset"
],
"klass": "Codec/Encoder/Video/Hardware",
"pad-templates": {
"sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"allow-frame-reordering": {
"blurb": "Whether to allow frame reordering or not",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"bitrate": {
"blurb": "Target video bitrate in kbps (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "2147483647",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"max-keyframe-interval-duration": {
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"quality": {
"blurb": "The desired compression quality",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0.5",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gdouble",
"writable": true
},
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": {
"blurb": "Configure the encoder for realtime output",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
}
},
"rank": "primary"
},
"vtenc_h265_hw": {
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
"description": "H.265/HEVC (HW only) encoder",
"hierarchy": [
"vtenc_h265_hw",
"GstVideoEncoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstPreset"
],
"klass": "Codec/Encoder/Video/Hardware",
"pad-templates": {
"sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"allow-frame-reordering": {
"blurb": "Whether to allow frame reordering or not",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"bitrate": {
"blurb": "Target video bitrate in kbps (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "2147483647",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"max-keyframe-interval-duration": {
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"quality": {
"blurb": "The desired compression quality",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0.5",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gdouble",
"writable": true
},
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": {
"blurb": "Configure the encoder for realtime output",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
}
},
"rank": "primary"
},
"vtenc_h265a": {
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
"description": "H.265/HEVC with alpha encoder",
"hierarchy": [
"vtenc_h265a",
"GstVideoEncoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstPreset"
],
"klass": "Codec/Encoder/Video/Hardware",
"pad-templates": {
"sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"allow-frame-reordering": {
"blurb": "Whether to allow frame reordering or not",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"bitrate": {
"blurb": "Target video bitrate in kbps (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "2147483647",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"max-keyframe-interval-duration": {
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"quality": {
"blurb": "The desired compression quality",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0.5",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gdouble",
"writable": true
},
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": {
"blurb": "Configure the encoder for realtime output",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
}
},
"rank": "primary"
},
"vtenc_h265a_hw": {
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
"description": "H.265/HEVC with alpha (HW only) encoder",
"hierarchy": [
"vtenc_h265a_hw",
"GstVideoEncoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstPreset"
],
"klass": "Codec/Encoder/Video/Hardware",
"pad-templates": {
"sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"allow-frame-reordering": {
"blurb": "Whether to allow frame reordering or not",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"bitrate": {
"blurb": "Target video bitrate in kbps (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "2147483647",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"max-keyframe-interval-duration": {
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "18446744073709551615",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"quality": {
"blurb": "The desired compression quality",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0.5",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gdouble",
"writable": true
},
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": { "realtime": {
"blurb": "Configure the encoder for realtime output", "blurb": "Configure the encoder for realtime output",
"conditionally-available": false, "conditionally-available": false,
@ -4726,7 +5343,7 @@
"long-name": "Apple ProRes encoder", "long-name": "Apple ProRes encoder",
"pad-templates": { "pad-templates": {
"sink": { "sink": {
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
"direction": "sink", "direction": "sink",
"presence": "always" "presence": "always"
}, },
@ -4763,6 +5380,32 @@
"type": "guint", "type": "guint",
"writable": true "writable": true
}, },
"data-rate-limits": {
"blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "0,0.00000",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"max-frame-delay": {
"blurb": "Maximum frames allowed in the compression window (-1 = unlimited)",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "-1",
"max": "2147483647",
"min": "-1",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"max-keyframe-interval": { "max-keyframe-interval": {
"blurb": "Maximum number of frames between keyframes (0 = auto)", "blurb": "Maximum number of frames between keyframes (0 = auto)",
"conditionally-available": false, "conditionally-available": false,
@ -4817,6 +5460,18 @@
"type": "gdouble", "type": "gdouble",
"writable": true "writable": true
}, },
"rate-control": {
"blurb": "Desired rate control for the encoder",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": false,
"default": "abr (0)",
"mutable": "null",
"readable": true,
"type": "GstVtencRateControl",
"writable": true
},
"realtime": { "realtime": {
"blurb": "Configure the encoder for realtime output", "blurb": "Configure the encoder for realtime output",
"conditionally-available": false, "conditionally-available": false,

View file

@ -11556,9 +11556,106 @@
"osxaudio": { "osxaudio": {
"description": "OSX (Mac OS X) audio support for GStreamer", "description": "OSX (Mac OS X) audio support for GStreamer",
"elements": { "elements": {
"atdec": {
"author": "Alessandro Decina <alessandro.d@gmail.com>",
"description": "AudioToolbox based audio decoder",
"hierarchy": [
"GstATDec",
"GstAudioDecoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"klass": "Codec/Decoder/Audio",
"pad-templates": {
"sink": {
"caps": "audio/mpeg:\n mpegversion: 4\n framed: true\n channels: [ 1, 2147483647 ]\naudio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "audio/x-raw:\n format: S16LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\naudio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "src",
"presence": "always"
}
},
"rank": "marginal"
},
"atenc": {
"author": "Piotr Brzeziński <piotr@centricular.com>",
"description": "AudioToolbox based audio encoder for macOS/iOS",
"hierarchy": [
"GstATEnc",
"GstAudioEncoder",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstPreset"
],
"klass": "Coder/Encoder/Audio/Converter",
"pad-templates": {
"sink": {
"caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000 }\n channels: [ 1, 8 ]\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "audio/mpeg:\n mpegversion: 4\n rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000 }\n channels: [ 1, 8 ]\n stream-format: raw\n profile: lc\n framed: true\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"bitrate": {
"blurb": "target output bitrate in bps (for rate-control=cbr/lta) (0 - auto)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "0",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
},
"rate-control": {
"blurb": "Mode of output bitrate control to be applied",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "cbr (0)",
"mutable": "null",
"readable": true,
"type": "GstATEncRateControl",
"writable": true
},
"vbr-quality": {
"blurb": "Sound quality setting for VBR encoding (rate-control=vbr) (0-127)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "65",
"max": "127",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
}
},
"rank": "primary"
},
"osxaudiosink": { "osxaudiosink": {
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>", "author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
"description": "Output to a sound card in OS X", "description": "Output to a sound card on macOS",
"hierarchy": [ "hierarchy": [
"GstOsxAudioSink", "GstOsxAudioSink",
"GstAudioBaseSink", "GstAudioBaseSink",
@ -11595,6 +11692,18 @@
"type": "gint", "type": "gint",
"writable": true "writable": true
}, },
"unique-id": {
"blurb": "Unique persistent ID for the input device",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "NULL",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": false
},
"volume": { "volume": {
"blurb": "Volume of this stream", "blurb": "Volume of this stream",
"conditionally-available": false, "conditionally-available": false,
@ -11614,7 +11723,7 @@
}, },
"osxaudiosrc": { "osxaudiosrc": {
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>", "author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
"description": "Input from a sound card in OS X", "description": "Input from a sound card on macOS",
"hierarchy": [ "hierarchy": [
"GstOsxAudioSrc", "GstOsxAudioSrc",
"GstAudioBaseSrc", "GstAudioBaseSrc",
@ -11651,6 +11760,18 @@
"readable": true, "readable": true,
"type": "gint", "type": "gint",
"writable": true "writable": true
},
"unique-id": {
"blurb": "Unique persistent ID for the input device",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "NULL",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": false
} }
}, },
"rank": "primary" "rank": "primary"
@ -11677,7 +11798,7 @@
"elements": { "elements": {
"osxvideosink": { "osxvideosink": {
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>", "author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
"description": "OSX native videosink", "description": "macOS native videosink",
"hierarchy": [ "hierarchy": [
"GstOSXVideoSink", "GstOSXVideoSink",
"GstVideoSink", "GstVideoSink",