{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/istreamplanet/main/json-schema/istreamplanet-put-channel-request-body-schema.json", "title": "PutChannelRequestBody", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/istreamplanet-aventus-channels-openapi.yml#/components/schemas/PutChannelRequestBody", "additionalProperties": false, "properties": { "$schema": { "description": "A URL to the JSON Schema for this object.", "format": "uri", "readOnly": true, "type": "string" }, "created": { "description": "Date and time the channel was created.", "format": "date-time", "type": "string" }, "description": { "description": "A human-readable description of the channel.", "type": "string" }, "desired_state": { "description": "Desired running state for a channel.", "enum": [ "ON", "OFF" ], "type": "string" }, "enable_byoip": { "description": "Indicates whether the channel's transcoder needs to run in a designated IP range.", "type": "boolean" }, "id": { "description": "External Channel ID provided at channel creation time", "minLength": 1, "pattern": "^([a-z0-9]+(-*[a-z0-9]+)*)$", "type": "string" }, "ingest": { "additionalProperties": false, "properties": { "slate": { "additionalProperties": false, "properties": { "source_loss_url": { "description": "Source loss URL defines the location of the TS file to play when no source is available. It must have one audio and one video stream. Either MPEG2 or H.264 can be used.", "format": "uri-reference", "type": "string" } }, "type": "object" }, "source": { "additionalProperties": false, "properties": { "audio_sources": { "items": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "language": { "description": "RFC 5646, e.g. 'en' 'en-US'", "minLength": 1, "type": "string" }, "license": { "description": "License specifies how the audio in this source is licensed. If license is not AUDIO_LICENSE_UNSPECIFIED, any remapped AudioSource which names this AudioSource in its remapping table must have the same license value as this AudioSource.", "enum": [ "LIVE", "REPLAY" ], "type": "string" }, "name": { "description": "Language fiendly name, e.g. 'English', 'Spanish'", "minLength": 1, "type": "string" }, "remapping": { "additionalProperties": false, "properties": { "back_left": { "additionalProperties": false, "properties": { "audio_source_id": { "description": "Identifies the ID of the elementary audio source from which this channel will be sourced.", "minLength": 1, "type": "string" }, "channel_index": { "description": "Identifies the zero-based channel index within the audio decoded from audio_source_id which is used for this channel mapping. If this index is out of bounds, the audio for this channel will be silent. For SMPTE-302M inputs, channel indices are always in the range 0-8 (unless the Aventus-specific extension for carrying more than 8 channels in one elementary stream is in use) and name the Nth channel of the input. I.e., the base channel index indicated by the input stream is ignored. For non-SMPTE-302M inputs with 1, 2, or 6 channels, the following index-to-channel mapping always applies: - 0 is front left (i.e. the only channel for mono) - 1 is front right - 2 is front center - 3 is LFE - 4 is side left - 5 is side right For non-SMPTE-302M inputs with 3, 4, or 5 channels, no index mapping is guaranteed. For non-SMPTE-302M inputs with more than 6 channels, the index mapping that would be used for 6 channels is guaranteed, and no specific mapping for the other channels is guaranteed.", "format": "int32", "minimum": 0, "type": "integer" } }, "type": "object" }, "back_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "front_center": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "front_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "front_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "low_frequency": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "side_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "side_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_back_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_back_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_front_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_front_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_side_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "top_side_right": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "wide_left": { "$ref": "#/$defs/AudioSourceRemappingSource" }, "wide_right": { "$ref": "#/$defs/AudioSourceRemappingSource" } }, "type": "object" }, "selector": { "description": "Expression for choosing an audio track in the stream for this AudioSource https://wbdstreaming.atlassian.net/wiki/spaces/LIVE/pages/250351679/Proposal+Audio+Track+Selection An AudioSource which specifies a selector is an 'elementary audio source' which corresponds to exactly one elementary stream in the input.", "type": "string" } }, "type": "object" }, "minItems": 1, "type": [ "array", "null" ] }, "captions_source": { "description": "Closed captions source embedding. If unspecified, defaults to ATSC_A53.", "enum": [ "ATSC_A53", "SMPTE_2038" ], "type": "string" }, "id": { "description": "Unique identifier for this source.", "type": "string" }, "self": { "description": "Self link for the source.", "format": "uri-reference", "type": "string" }, "video_source": { "additionalProperties": false, "properties": { "dynamic_range": { "description": "The highest dynamic range the source will ever send to the transcoder.", "enum": [ "SDR", "HDR" ], "type": "string" }, "jpeg_xs": { "description": "If true, the source may be JPEG-XS. Enables allocation of additional resources required to handle the higher bitrate and decode JPEG-XS. If not enabled, JPEG-XS inputs will result in the source-loss slate.", "type": "boolean" }, "max_resolution": { "description": "The maximum resolution the source will ever send to the transcoder.", "enum": [ "SD", "HD", "FHD", "TwoK", "QHD", "UHD" ], "type": "string" } }, "type": "object" } }, "required": [ "id" ], "type": "object" } }, "required": [ "source" ], "type": "object" }, "labels": { "description": "Optional labels for a channel. Any included labels must be at least 1 character long, but no greater than 256 characters. The maximum number of labels is 50.", "items": { "type": "string" }, "maxItems": 50, "type": [ "array", "null" ] }, "modified": { "description": "Date and time the channel was last modified.", "format": "date-time", "type": "string" }, "name": { "description": "A friendly human-readable name for the channel. This will get displayed in user interfaces.", "type": "string" }, "organization": { "minLength": 1, "type": "string" }, "packaging": { "additionalProperties": false, "properties": { "packagers": { "additionalProperties": { "additionalProperties": false, "properties": { "content_protection": { "additionalProperties": false, "properties": { "atlas": { "additionalProperties": false, "properties": { "asset_id": { "description": "The Asset Identifier which was taken from the token entitlement service request.", "type": "string" }, "company_id": { "description": "The Identifier of the Company that this token belongs.", "type": "string" }, "drms": { "description": "DRM system keys to request", "items": { "enum": [ "WIDEVINE", "FAIRPLAY", "PRIMETIME", "PLAYREADY", "W3C_COMMON_CLEAR_KEY", "BULK_FILE" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "widevine_v0_pssh_box": { "description": "When TRUE the KeyID is not embedded in the pssh box which sets the version to 0. Defaults to generating v1 pssh_boxes that includes the key_id", "type": "boolean" } }, "type": "object" }, "bulk_file": { "additionalProperties": false, "properties": { "iv_rotation": { "description": "How often the IV should be rotated and how it should be created", "enum": [ "RANDOM_PER_KEY", "PER_SEGMENT_NUMBER", "UNIQUE_PER_SEGMENT" ], "type": "string" } }, "type": "object" }, "common": { "additionalProperties": false, "properties": { "scheme_type": { "description": "Defines the scheme that can be used with Common Encryption", "enum": [ "CENC", "CBCS" ], "type": "string" } }, "type": "object" }, "cpix": { "additionalProperties": false, "properties": { "certificates_id": { "description": "Unique ID used for certificate settings, unique per distributor.", "type": "string" }, "content_id": { "description": "(Optional) Content ID that identifies this channel in the CPIX service. Value is defined by the DRM system owner, and if defined will be included as part of a POST request.", "type": "string" }, "credentials_id": { "description": "Unique ID used for credentials settings, unique per distributor.", "type": "string" }, "decryption_key_id": { "description": "Unique ID of the decryption key to use in case the server response contains content keys encrypted. The key is unique per distirutor, and configured ahead of time by the publishing team and the CPIX service owner.", "type": "string" }, "drms": { "description": "(Optional) DRM system keys to request. If not defined a GET request will be done, and any key returned will be handled. If defined, random kid(s) (key ids) will be generated on rotation for each DRM system, and a POST request will be done to create them.", "items": { "enum": [ "WIDEVINE", "FAIRPLAY", "PRIMETIME", "PLAYREADY", "W3C_COMMON_CLEAR_KEY", "BULK_FILE" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "headers_id": { "description": "(Optional) An identifier to a list of HTTP headers to be added to the request sent to the CPIX service.", "type": "string" }, "uri": { "description": "CPIX service URI", "format": "uri-reference", "minLength": 1, "type": "string" } }, "type": "object" }, "key_rotation": { "additionalProperties": false, "properties": { "interval_secs": { "description": "Rotate keys based on the specified time interval. If Program is also provided then this time interval will only apply to media segments that are outside of program boundaries. If Program is NOT provided then only this time interval will be used to decided when to rotate keys.", "format": "float", "minimum": 300, "type": "number" }, "program": { "description": "Rotate keys on (SCTE35) program boundaries such that no two programs will be protected with the same key.", "type": "boolean" }, "program_overlap_skip_encrypt": { "description": "Do not encrypt segments that are part of more than one SCTE-35 program.", "type": "boolean" } }, "type": "object" }, "sample_aes": { "additionalProperties": false, "type": "object" }, "simple": { "additionalProperties": false, "properties": { "publish_points": { "description": "Pub points where keys should be published. If multiple are specified, only one needs to succeed to consider the key successfully published.", "items": { "additionalProperties": false, "properties": { "basic_auth": { "additionalProperties": false, "properties": { "password": { "description": "Plain text password for basic auth.", "type": "string" }, "username": { "description": "Username for basic auth.", "type": "string" } }, "type": "object" }, "compression": { "description": "Configures whether or not (and how) to compress manifests being published to the origin. If not specified, manifests will not be compressed.", "enum": [ "NONE", "GZIP" ], "type": "string" }, "do_not_monitor": { "description": "(Optional) Specifies if this pubpoint should not be monitored by PLM.", "type": "boolean" }, "headers": { "additionalProperties": { "type": "string" }, "description": "Allows custom HTTP headers to be set via configuration for all HTTP requests.", "type": "object" }, "method": { "description": "Method overrides what HTTP method to specify in requests to the Publish Point. If not specified the service will default to POST.", "type": "string" }, "playback_base_url": { "description": "The base URL where published playlists will be able to be obtained. This is often different than the publish_base_url for CDN publishing workflows.", "format": "uri-reference", "type": "string" }, "playback_query_params": { "description": "Specifies any query parameters that will be added to playback urls. Should not include the initial '?' Example: 'foo=bar&q=golang'", "type": "string" }, "publish_base_url": { "description": "The base URL where generated playlists will be sent/published. Each publish point requires a unique 'publish_base_url'.", "format": "uri-reference", "type": "string" }, "secure_header_auth": { "additionalProperties": false, "properties": { "arn": { "description": "arn is the AWS Secret ARN that contains the secure header list to be applied.", "type": "string" }, "version_id": { "description": "version_id is the AWS Secret's version ID that contains the version of the secret to be applied.", "type": "string" } }, "type": "object" } }, "type": "object" }, "type": [ "array", "null" ] }, "require_publish": { "description": "Indicates which publish points must succeed for segment publishing to use the keys.", "enum": [ "ANY", "ALL" ], "type": "string" } }, "type": "object" } }, "type": "object" }, "mp2t": { "additionalProperties": false, "properties": { "force_unmuxed_audio": { "description": "Forces the Video and Audio Encodings to be unmuxed when there is one audio encodings. This setting will have to be uniformed across MP2T packagers within a config. When there are two or more audio encodings, unmuxed will be used automatically.", "type": "boolean" }, "insert_id3_utc_time": { "description": "If true, insert ID3 tags that include a UTC timestamp. This is a Turner/WM-specific extension.", "type": "boolean" } }, "type": "object" }, "mp4": { "additionalProperties": false, "properties": { "caption_placement": { "description": "CaptionPlacement defines where caption messages should be placed in the output MP4.", "enum": [ "SEI_PAYLOAD", "CLCP_TRACK" ], "type": "string" }, "insert_pssh_box": { "description": "Insert pssh boxes generated by content protection into packaged segments. Defaults to not insert pssh boxes to the packaged segments.", "type": "boolean" } }, "type": "object" }, "ttml": { "additionalProperties": false, "type": "object" }, "web_vtt": { "additionalProperties": false, "properties": { "file_format": { "description": "The file format used to encapsulate the WebVTT segments.", "enum": [ "TEXT", "MP4" ], "type": "string" } }, "type": "object" } }, "type": "object" }, "description": "Defines the list of packagers available for Publications.", "type": "object" } }, "type": "object" }, "publishing": { "additionalProperties": false, "properties": { "closed_caption_streams": { "description": "Configures how captioning information, which references CEA-608 captions embedded in video segments, is published.", "items": { "additionalProperties": false, "properties": { "auto_select": { "description": "Indicates that the client should play the captioning media selection group if the user has not indicated a user preference. If both auto_select and default are not set, the first captioning media selection group will be used.", "enum": [ "NO", "YES" ], "type": "string" }, "default": { "description": "Configures the captioning media selection group that will be played if the user has not indicated a user preference. If both auto_select and default are not set, the first captioning media selection group will be used.", "enum": [ "NO", "YES" ], "type": "string" }, "language": { "description": "Language code as RFC 5646, e.g. 'en' 'en-US'.", "type": "string" }, "name": { "description": "Source stream name.", "type": "string" } }, "type": "object" }, "type": [ "array", "null" ] }, "feature_flags": { "description": "Set of string identifiers corresponding to features that this Channel is opting in.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "live2vod": { "additionalProperties": false, "properties": { "clear_capture": { "description": "BETA - (Optional) Indicates whether the system should send the unpackaged segments produced from the transcoder to the L2V system for purposes of creating mp4s and/or repackaging.", "type": "boolean" }, "product_id": { "description": "Product ID that VODs will be associated with in the Live2VOD system. The value of this ID is pre-configured in the Live2VOD portal.", "minLength": 1, "type": "string" }, "retention_days": { "description": "Specifies the retention time, in days, for archived content.", "format": "int32", "maximum": 30, "minimum": 1, "type": "integer" } }, "type": "object" }, "publications": { "description": "A set of individual configurations that each can configure a specific destination and mechanism of delivery for segments and/or playlists.", "items": { "additionalProperties": false, "properties": { "audio_encoder_ids": { "description": "Optionally specify which audio encoders should be used for this publication. If none are specified, all audio encoders configured for the transcoder will be used.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "create_vods": { "description": "Create VODs for all publish points in this publication. Note that Live2VOD must also be configured for the parent |Channel|.", "type": "boolean" }, "dash": { "additionalProperties": false, "properties": { "minimum_update_period_secs": { "description": "Sets the minimumUpdatePeriod field in MPD to be this value. If set to 0 (default), segment duration is used. The value shall not exceed the 'suggested_presentation_delay_secs'.", "format": "int32", "type": "integer" }, "signaling_formats": { "description": "Signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering playlists.", "items": { "enum": [ "SCTE35_SPLICE_INFO_SECTION", "SCTE35_BIN" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "suggested_presentation_delay_secs": { "description": "The suggested amount of time (in seconds) the player should be behind the live stream. This value must be greater or equal to 'minimum_update_period_secs'.", "format": "int32", "minimum": 0, "type": "integer" }, "url_type": { "description": "If set to 'URL_TYPE_UNDEFINED' playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" } }, "type": "object" }, "drms": { "description": "Optionally specify which DRMs to advertise in the playlist. If specified, this must be a subset of the DRMs specified by the packager associated with this publication. If omitted or empty, all DRMs specified by the packager will be advertised. This setting can only be used for HLS playlists.", "items": { "enum": [ "WIDEVINE", "FAIRPLAY", "PRIMETIME", "PLAYREADY", "W3C_COMMON_CLEAR_KEY", "BULK_FILE" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "dvr_window_secs": { "description": "DVR window is the max sum(duration of media segments) that will be kept in a manifest at a given time in seconds. The max supported DVR window is 10 hours.", "format": "int32", "maximum": 36000, "minimum": 0, "type": "integer" }, "fer_audio_encoder_ids": { "description": "Optionally specify which audio encoders should be used when generating the FER of this Presentation, this overrides the 'audio_encoder_ids' used during the live portion. If none are specified, the 'audio_encoder_ids' field will be used.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "hls": { "additionalProperties": false, "properties": { "audio_only_variants": { "description": "Defines how audio only variant streams are included in the master playlist, where the variant streams are defined by #EXT-X-STREAM-INF tag, the tag attributes provide information about the Stream. The INCLUDE_DEFAULT option - only the default 'audio only variant stream' is included in master playlist. This is the most common use case. INCLUDE_NONE - no audio only variant streams are included in the master playlist. INCLUDE_ALL - include all audio only variant streams in the master playlist.", "enum": [ "INCLUDE_DEFAULT", "INCLUDE_NONE", "INCLUDE_ALL" ], "type": "string" }, "gap_tags": { "description": "Allows turning gap tags ON/OFF. When turned ON - the tag '#EXT-X-GAP' is inserted into media playlist for a missing segment. When turned OFF - Discontinuity is inserted into the playlist for missing segment(s). The default option UNDEFINED is mapped to OFF. Note: Gap tags are always inserted for the missing thumbnail segments independently of this setting", "enum": [ "ON", "OFF" ], "type": "string" }, "master_publish_frequency_secs": { "description": "How often the multi-variant playlist(s) should be published (in seconds) once a channel is started. If 0 (not provided), defaults to 1 hour. The following can also result in re-publishing of multi-variant playlists: - Configuration changes related to transcoding configuration (i.e. adding, removing, changing encoders). - Service code changes related to manifest generation.", "format": "int32", "type": "integer" }, "master_url_type": { "description": "Allows specifying url type for HLS master playlists. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "media_url_type": { "description": "Allows specifying url type for HLS media playlists. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "partial_presentations": { "description": "Specify which partial presentations should be used for this presentation. Partial presentations are additional master playlists that point to a subset of the parent presentation's media streams/variant playlists.", "items": { "additionalProperties": false, "properties": { "audio_encoder_ids": { "description": "Specify which audio encoders should be used for this presentation. If none are specified, all audio encoders configured for the parent Publication will be used.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "fer_audio_encoder_ids": { "description": "Optionally specify which audio encoders should be used when generating the FER of this Partial Presentation, this overrides the 'audio_encoder_ids' used during the live portion. If none are specified, the 'audio_encoder_ids' field will be used. NOTE: This MUST only be used with push based manifest. Ignore this field when using Aventus Origin with Dynamic Manifests. Instead use the AudioSource.License field.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "iframe_only_encoder_ids": { "description": "List of video encoder IDs that should have I-Frame only playlists generated for them. If no 'iframe_only_encoder_ids' are given then no I-Frame playlists will be in the Partial Presentation.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "playlist_path": { "description": "Sub-path that will be appended onto the publish and playback base URLs of HTTP PublishPoints for published playlist files.", "minLength": 1, "type": "string" }, "thumbnail_encoder_ids": { "description": "Specify which thumbnail encoders should be used for this presentation. If no 'thumbnail_encoder_ids' are given then no thumbnail playlists will be in the Partial Presentation.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "video_encoder_ids": { "description": "Specify which video encoders should be used for this presentation. If none are specified, all video encoders configured for the parent Publication will be used.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true } }, "type": "object" }, "type": [ "array", "null" ] }, "pdt_on_every_segment": { "description": "When true a #EXT-X-PROGRAM-DATE-TIME tag will be placed on every media segment in media playlists. When false, the default behavior, the PDT tag is set according to the HLS specification.", "type": "boolean" }, "signaling_formats": { "description": "Signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering playlists.", "items": { "enum": [ "APPLE_SCTE35", "AD_SIMPLE", "SCTE35" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "utc_in_segment_title": { "description": "Include a UTC timestamp (that is equivalent in value to #EXT-X-PROGRAM-DATE-TIME) in the title of each media segment in media playlists. Ex. #EXTINF:6.006,LTC=2020-01-01T12:00:00.000Z", "type": "boolean" } }, "type": "object" }, "iframe_only_encoder_ids": { "description": "List of video encoder IDs that should have I-Frame only playlists generated for them.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "master_playlist_name": { "description": "Optional master manifest name. When not supplied a default of 'master' will be used.", "type": "string" }, "origin": { "additionalProperties": false, "properties": { "alternate_manifest_defaults": { "additionalProperties": { "additionalProperties": false, "properties": { "dash_signaling_formats": { "description": "DASH Signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering DASH manifests.", "items": { "enum": [ "SCTE35_SPLICE_INFO_SECTION", "SCTE35_BIN" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "drm_system_ids": { "description": "Specify which DRMs to advertise in the playlist. If specified, this must be a subset of the DRMs specified by the packager associated with this origin. If omitted or empty, all DRMs specified by the packager will be advertised. Only honored for Alternate Manifests. Example: '81376844-f976-481e-a84e-cc25d39b0b33' for bulk file encryption ID", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "duration_seconds": { "description": "Duration is the length of content that will be included in the manifest, in seconds. The max supported DVR window is 12 hours. If not specified, the default duration will be 30 seconds.", "format": "int32", "maximum": 43200, "minimum": 0, "type": "integer" }, "enable_hls_delta_updates": { "description": "When true enables HLS Delta updates for this particular origin.", "type": "boolean" }, "encoder_ids": { "description": "Specify which encoders (video, audio, thumbnail) should be used for this origin manifest. If none are specified, all video encoders configured for the origin will be used. Only honored for Alternate Manifests.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "hls_signaling_formats": { "description": "HLS signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering playlists.", "items": { "enum": [ "APPLE_SCTE35", "AD_SIMPLE", "SCTE35" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "media_url_type": { "description": "Allows specifying url type for HLS media playlists and DASH manifests. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "minimum_update_period_seconds": { "description": "Sets the minimumUpdatePeriod field in MPD to be this value. If set to 0 (default), segment duration is used. The value shall not exceed the 'suggested_presentation_delay_secs'.", "format": "int32", "minimum": 0, "type": "integer" }, "multi_variant_url_type": { "description": "Allows specifying url type for HLS multi-variant playlists. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "pdt_on_every_segment": { "description": "When true a #EXT-X-PROGRAM-DATE-TIME tag will be placed on every media segment in HLS media playlists. When false, the default behavior, the PDT tag is set according to the HLS specification.", "type": "boolean" }, "pre_start_duration_seconds": { "description": "Pre Start Duration is the length of content that will be included in the manifest when the start time of a manifest is in the future. When a manifest is near the start time but does not contain 'pre_start_duration_seconds' content Manifest Origin will keep content before the start time to make the manifest length at least 'pre_start_duration_seconds'. If not specified requesting a manifest in the future will result in a 404.", "format": "int32", "maximum": 43200, "minimum": 0, "type": "integer" }, "suggested_presentation_delay_seconds": { "description": "Sets the suggestedPresentationDelay field in MPD to be this value. This value must be greater or equal to 'minimum_update_period_secs'. If unset, the default value will be calculated as 3 * segment target duration.", "format": "int32", "minimum": 0, "type": "integer" } }, "type": "object" }, "description": "AlternateManifestDefaults specifies a map of alternately named manifests for Legacy playback. Ex: 'ph' = 'main.ph.m3u8', with a specific set of partial playlists supported by the system. If the rules are expanded to allow for more than 5 characters, 'iframe' is a reserved acronym for iframe playlists.", "type": "object" }, "fallback_defaults": { "$ref": "#/$defs/OriginManifestDefaults", "description": "FallbackDefaults specifies the alternative behavior of the dynamic manifest generator. This behavior is intended to be a simplified configuration comparead to the default behavior so that it can be used as a fallback for when players are encountering issues with the default behavior. Specific behaviors can be overwritten using appropriate query string parameters when making the request for the manifest." }, "manifest_defaults": { "$ref": "#/$defs/OriginManifestDefaults", "description": "ManifestDefaults specifies the default behavior of the dynamic manifest generator. Specific behaviors can be overwritten using appropriate query string parameters when making the request for the manifest." }, "retention_minutes": { "description": "RetentionMinutes specifies how long data is retained, in minutes. Live linear (24/7) channels should set this to the longest expected DVR window (a few hours). Live event channels should set this to how Live2VOD playlists are expected to be available. If unspecified, the default will be 60 minutes. The maximum value is 15 days (21600 minutes).", "format": "int32", "maximum": 21600, "minimum": 0, "type": "integer" }, "segments": { "additionalProperties": false, "properties": { "redundancy": { "enum": [ "SingleRegion", "DualRegion" ], "type": "string" } }, "type": "object" } }, "type": "object" }, "packager_id": { "description": "Determines how segments in this publication are packaged. Must reference a packager in 'packaging.packagers'. However, if this is a playlist-only publication (i.e. contains publish points that specify 'playlist_only_for'), this must remain unset as the packager will be inferred from the publication this one is providing playlists for.", "type": "string" }, "publish_points": { "description": "Publish points specify where to output.", "items": { "additionalProperties": false, "properties": { "http": { "$ref": "#/$defs/PublishPointHTTP", "description": "HTTP destination where media segments and playlists will be published." }, "id": { "description": "uniquely identifies this publish_point within a channel configuration. Can be referenced by other publish_points in the 'playlist_only_for' field.", "type": "string" }, "playlist_only_for": { "description": "playlist_only_for identifies the id of the publish_point that has the segments for this publish_point, which is only publishing a playlist for those segments. All publish_points within a publication must either have 'playlist_only_for' all set or all not set.", "type": "string" } }, "type": "object" }, "type": [ "array", "null" ] }, "redundant_publishing": { "description": "When redundant publishing is enabled succeeding to publish a given media segment to at least one HTTPPublishPoint in publish_points will result in that segment showing up in manifests as playable content. Will require at least two publish_points defined within the same publication.", "type": "boolean" }, "startover": { "additionalProperties": false, "properties": { "first_program_start": { "additionalProperties": false, "type": "object" }, "on_airing_id": { "additionalProperties": false, "properties": { "airing_id": { "description": "Airing Id is a SCTE-35 Segmentation Unique Program ID (UPID) of type 0x08 used to specify the unique airing of a program. Is a 8 byte hex encoded string that is prepended with '0x'.", "pattern": "^0x[0-9a-fA-F]{16}$", "type": "string" } }, "type": "object" } }, "type": "object" }, "thumbnail_encoder_ids": { "description": "Optional: Specify what thumbnail_encoders should be in this Publication", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "use_strict_bitrate": { "description": "Optional, indicates whether we should pad the bitrate (false) or use what is explicitly provided (true)", "type": "boolean" }, "video_encoder_ids": { "description": "Optionally specify which video encoders should be used for this publication. If none are specified, all video encoders configured for the transcoder will be used.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true } }, "type": "object" }, "type": [ "array", "null" ] }, "rtmp_publications": { "description": "A set of configurations for delivering RTMP streams", "items": { "additionalProperties": false, "properties": { "audio_encoder_id": { "description": "Only AAC encoders are supported", "minLength": 1, "type": "string" }, "id": { "description": "RTMP publication ID. Must be unique.", "minLength": 1, "pattern": "^([a-z0-9]+(-*[a-z0-9]+)*)$", "type": "string" }, "url": { "format": "uri", "minLength": 1, "pattern": "^rtmps?://", "type": "string" }, "video_encoder_id": { "description": "Only h264 encoders are supported", "minLength": 1, "type": "string" } }, "type": "object" }, "type": [ "array", "null" ] }, "srt_publications": { "description": "A set of configurations for delivering SRT streams", "items": { "additionalProperties": false, "properties": { "audio_encoders": { "items": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "pid": { "description": "Output MPEG-TS PID. PIDs should be set on the PMT, SCTE-35 and all encoders or none. Valid PIDs must 13-bit values greater than 31. If no PIDs are provided (pid == 0) then they will be generated automatically.", "exclusiveMaximum": 8191, "format": "int32", "type": "integer" } }, "type": "object" }, "minItems": 1, "type": [ "array", "null" ] }, "id": { "description": "SRT publication ID. Must be unique.", "minLength": 1, "pattern": "^([a-z0-9]+(-*[a-z0-9]+)*)$", "type": "string" }, "pmt_pid": { "description": "MPEG-TS PMT PID. PIDs should be set on the PMT, SCTE-35 and all encoders or none. Valid PIDs must 13-bit values greater than 31. If no PIDs are provided (pid == 0) then they will be generated automatically.", "exclusiveMaximum": 8191, "format": "int32", "type": "integer" }, "scte35_pid": { "description": "MPEG-TS SCTE-35 PID. PIDs should be set on the PMT, SCTE-35, and all encoders or none. Valid PIDs must 13-bit values greater than 31. If no PIDs are provided (pid == 0) then they will be generated automatically.", "exclusiveMaximum": 8191, "format": "int32", "type": "integer" }, "url": { "format": "uri", "minLength": 1, "pattern": "^srt://", "type": "string" }, "video_encoders": { "items": { "$ref": "#/$defs/SrtPublicationEncoder" }, "minItems": 1, "type": [ "array", "null" ] } }, "type": "object" }, "type": [ "array", "null" ] } }, "type": "object" }, "region": { "description": "Region represents the general geolocation for transcoding and stream egress from iStreamPlanet. If no region is provided at channel creation time, then 'US_WEST' is used.", "enum": [ "US_WEST", "US_EAST" ], "type": "string" }, "resource_class": { "description": "If the ResourceClass is unspecified the channel will default to run in the 'DYNAMIC' ResourceClass. Note that changing the ResourceClass for a running channel is supported and will be performed with no downtime.", "enum": [ "DYNAMIC", "STATIC" ], "type": "string" }, "self": { "description": "Self link for the channel.", "format": "uri-reference", "type": "string" }, "signaling": { "additionalProperties": false, "properties": { "blackout_settings": { "additionalProperties": false, "properties": { "default_blackout_slate_url": { "description": "Default slate URL to use for blackouts. Can be overridden by the 'slates' field.", "format": "uri-reference", "type": "string" }, "force_blackout_segments": { "description": "List of signaling segment types to force blackout, e.g. add 'SPLICE_INSERT' to blackout all ads signaled via SCTE-35 splice_insert.", "items": { "enum": [ "SPLICE_INSERT", "CONTENT_ID", "PROGRAM", "PROGRAM_BLACKOUT_OVERRIDE", "PROGRAM_BREAKAWAY", "CHAPTER", "BREAK", "OPENING_CREDIT", "CLOSING_CREDIT", "PROVIDER_PLACEMENT_OP", "DISTRIBUTOR_PLACEMENT_OP", "PROVIDER_OVERLAY_OP", "DISTRIBUTOR_OVERLAY_OP", "PROVIDER_AD", "DISTRIBUTOR_AD", "UNSCHEDULED_EVENT", "NETWORK", "SLATE", "NOT_INDICATED", "TIMED_METADATA", "TIMED_METADATA_MARKER_OVER_SLATE" ], "type": "string" }, "type": [ "array", "null" ] }, "honor_web_delivery_restriction": { "description": "Determines whether to honor the web_delivery_allowed attribute in SCTE-35 segmentation descriptors. When this is enabled, a segmentation descriptor with web_delivery_allowed=false will trigger a blackout.", "type": "boolean" }, "slates": { "description": "Per-segment type slate overrides.", "items": { "additionalProperties": false, "properties": { "blackout_slate_url": { "description": "Blackout slate URL to use for the specified segments. It must have one audio and one video stream. Either MPEG2 or H.264 can be used.", "format": "uri-reference", "type": "string" }, "segments": { "description": "Segment types that shall utilize the blackout slate URL. Any segment type defined here _must_ also be present in the parent signaling configuration.", "items": { "enum": [ "SPLICE_INSERT", "CONTENT_ID", "PROGRAM", "PROGRAM_BLACKOUT_OVERRIDE", "PROGRAM_BREAKAWAY", "CHAPTER", "BREAK", "OPENING_CREDIT", "CLOSING_CREDIT", "PROVIDER_PLACEMENT_OP", "DISTRIBUTOR_PLACEMENT_OP", "PROVIDER_OVERLAY_OP", "DISTRIBUTOR_OVERLAY_OP", "PROVIDER_AD", "DISTRIBUTOR_AD", "UNSCHEDULED_EVENT", "NETWORK", "SLATE", "NOT_INDICATED", "TIMED_METADATA", "TIMED_METADATA_MARKER_OVER_SLATE" ], "type": "string" }, "type": [ "array", "null" ] }, "upids": { "description": "Exclusive list of hex string encoded colon separated UPID Type:ID pairs (e.g. '0A:1A2B3C4D') to enable this blackout slate on.", "items": { "type": "string" }, "type": [ "array", "null" ] } }, "type": "object" }, "type": [ "array", "null" ] } }, "type": "object" }, "disable_inband_parsing": { "description": "Disable parsing SCTE-35 in-band signaling. Out-of-band signaling is still allowed.", "type": "boolean" }, "scte_pid": { "description": "Defines the specific PID containing the SCTE that the transcoder should process. Using '0' (default value) will pick the first PID containing SCTE-35 in the PMT.", "format": "int32", "minimum": 0, "type": "integer" }, "segment_settings": { "description": "Settings that apply to specific segments.", "items": { "additionalProperties": false, "properties": { "default_duration_secs": { "description": "Specifies the duration of a segment when the in-band SCTE-35 that initiates it (e.g. Distributor Placement Opportunity Start) is missing an explicit duration. N.B. for program and ad types, this also affects 'Simple Program' and 'Simple Ad' markers, respectively.", "format": "int32", "maximum": 172800, "minimum": 0, "type": "integer" }, "emit_default_duration": { "description": "Determines whether to include the default duration in the output SCTE-35 messages when the input SCTE-35 message did not specify a duration.", "type": "boolean" }, "offset_millis": { "description": "Specifies a 'correction' to the splice_time of in-band SCTE-35 in milliseconds.", "format": "int32", "maximum": 4000, "minimum": -4000, "type": "integer" }, "segment_end_mode": { "description": "Determines which Segment End signaling mode to use for the provided segments. If unspecified, defaults to MATCH_END_EVENT_ID.", "enum": [ "MATCH_END_EVENT_ID", "IGNORE_END_EVENT_ID", "IGNORE_END_SIGNAL" ], "type": "string" }, "segments": { "description": "Specifies the list of which segment types this setting applies to. Any segment type defined here _must_ also be present in the parent signaling configuration.", "items": { "enum": [ "SPLICE_INSERT", "CONTENT_ID", "PROGRAM", "PROGRAM_BLACKOUT_OVERRIDE", "PROGRAM_BREAKAWAY", "CHAPTER", "BREAK", "OPENING_CREDIT", "CLOSING_CREDIT", "PROVIDER_PLACEMENT_OP", "DISTRIBUTOR_PLACEMENT_OP", "PROVIDER_OVERLAY_OP", "DISTRIBUTOR_OVERLAY_OP", "PROVIDER_AD", "DISTRIBUTOR_AD", "UNSCHEDULED_EVENT", "NETWORK", "SLATE", "NOT_INDICATED", "TIMED_METADATA", "TIMED_METADATA_MARKER_OVER_SLATE" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "tier_filter": { "additionalProperties": false, "properties": { "explicit_tier": { "additionalProperties": false, "properties": { "values": { "items": { "format": "int32", "type": "integer" }, "type": [ "array", "null" ] } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "type": [ "array", "null" ] }, "segments": { "description": "Segment types to process for in-band signaling.", "items": { "enum": [ "SPLICE_INSERT", "CONTENT_ID", "PROGRAM", "PROGRAM_BLACKOUT_OVERRIDE", "PROGRAM_BREAKAWAY", "CHAPTER", "BREAK", "OPENING_CREDIT", "CLOSING_CREDIT", "PROVIDER_PLACEMENT_OP", "DISTRIBUTOR_PLACEMENT_OP", "PROVIDER_OVERLAY_OP", "DISTRIBUTOR_OVERLAY_OP", "PROVIDER_AD", "DISTRIBUTOR_AD", "UNSCHEDULED_EVENT", "NETWORK", "SLATE", "NOT_INDICATED", "TIMED_METADATA", "TIMED_METADATA_MARKER_OVER_SLATE" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true } }, "type": "object" }, "tags": { "additionalProperties": false, "properties": { "custom": { "additionalProperties": { "type": "string" }, "description": "Custom tags to be added to metrics and logs for this channel. In Datadog, the tags will be prefixed with 'dy_' to avoid collisions with system tags.", "type": "object" }, "monitored": { "description": "Indicates whether this channel is monitored by automation.", "type": "boolean" } }, "type": "object" }, "transcode": { "additionalProperties": false, "properties": { "audio_encoders": { "description": "Audio encoders specify audio conversion settings, e.g. channels, samples, codec, bitrate, etc.", "items": { "additionalProperties": false, "properties": { "ac4": { "additionalProperties": false, "properties": { "drc": { "additionalProperties": false, "properties": { "flat_panel_tv": { "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" }, "home_theatre": { "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" }, "portable_headphones": { "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" }, "portable_speakers": { "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" } }, "type": "object" }, "encoding_mode": { "enum": [ "ENCODING_MODE_UNSPECIFIED", "ENCODING_MODE_EMISSION" ], "type": "string" } }, "type": "object" }, "audio_source_id": { "description": "Audio source ID specifies which stream within the audio source to use.", "minLength": 1, "type": "string" }, "bit_rate": { "description": "Bit rate specifies the constant number of bits used per second. Higher values result in better audio quality but bigger file sizes.", "exclusiveMinimum": 1000, "format": "int32", "type": "integer" }, "channels": { "description": "Channels specifies the number of real audio channels to encode. The available options depend on the audio codec. The encoder supports different channel configurations based on the codec; AAC 1-2 channels, AC3 supports 2 or 6, and EAC3 supports 2 or 6. For example, for AC3 5.1 one would set 6 channels. Channel configurations are as follows: 1 - Mono (C) 2 - Stereo / Dolby 2.0 (L, R) 6 - Dolby 5.1 (L, C, R, l, r, LFE) 10 - Dolby 5.1.4 (AC4 only) Dolby Atmos layouts such as 5.1.4 are achieved by setting this field to 6 and configuring ddp_joc_logical_channels in EAC3Settings as desired.", "exclusiveMinimum": 0, "format": "int32", "maximum": 10, "type": "integer" }, "codec": { "description": "Codec specifies the audio data encoding format.", "enum": [ "AAC_LC", "AC3", "EAC3", "HE_AAC", "AC4" ], "type": "string" }, "eac3": { "additionalProperties": false, "properties": { "ddp_joc_complexity_index": { "description": "Configures the maximum DD+JOC complexity index the content is expected to have. This does not configure the actual encoder, but simply indicates the value that should appear in manifests given to the player. This may only be used when 'ddp_joc_passthrough' is enabled. A legacy default of 10 applies to channels using pure passthrough which do not configure this; hybrid passthrough requires this to be configured explicitly, and additionally requires a value of at least 12 since that's what encoded output will have. When encoding DD+JOC without passthrough, the manifests reflect the actual transcoder output and manual configuration is not permitted.", "format": "int32", "type": "integer" }, "ddp_joc_logical_channels": { "description": "If non-zero, configures the encoder to compute JOC metadata (i.e. Dolby Atmos) for the given logical speaker layout. The transcoder does not guarantee any particular bed layout in the JOC metadata, and this setting currently has no effect on that. It merely determines the channel layout to which all inputs are converted before encoding. Legal values are: 8 - 5.1.2 10 - 5.1.4 For sources with raw PCM input and more than 6 channels, configure this according to the expected input channel layout. For channels which expect to take a 7.1 EAC-3 input, configure to 8. For all other cases, including upmixing from 5.1 or fewer channels or any kind of Atmos input, configure to 10. This setting can be used at the same time as ddp_joc_passthrough to enable 'hybrid passthrough'. In this case, this setting only governs what is used for the case where the input is not already DD+JOC.", "format": "int32", "type": "integer" }, "ddp_joc_passthrough": { "description": "Indicates that the source will contain Joint Object Coding metadata (Dolby Atmos) and that the encoder should operate in passthrough mode. https://learning.dolby.com/hc/en-us/articles/4406039180564-Appendix-C-Dolby-Atmos-Delivery-Codecs- When the audio encoder is configured with this setting, the source audio will be repackaged without being decoded and re-encoded. If ddp_joc_logical_channels is not configured and the source is not DD+JOC, it will be replaced with silence. If ddp_joc_logical_channels is configured, the source will be reencoded if it is not DD+JOC and passed through unchanged when it is. The latter case is called 'hybrid passthrough' and also requires configuration of ddp_joc_complexity_index.", "type": "boolean" }, "drc_line_mode": { "description": "If specified, overrides the dynamic range control line mode. If unspecified and the source audio is AC-3 or EAC-3, the DRC line mode matches the input. If unspecified and the source audio is any other codec, the encoder uses an unspecified default which may change without notice.", "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" }, "drc_rf_mode": { "description": "If specified, overrides the dynamic range control RF mode. If unspecified and the source audio is AC-3 or EAC-3, the DRC RF mode matches the input. If unspecified and the source audio is any other codec, the encoder uses an unspecified default which may change without notice.", "enum": [ "DRC_FILM_STANDARD", "DRC_FILM_LIGHT", "DRC_MUSIC_STANDARD", "DRC_MUSIC_LIGHT", "DRC_SPEECH" ], "type": "string" }, "surround_phase_shift": { "description": "If specified, overrides whether surround phase shift is enabled. If unspecified and the source audio is AC-3 or EAC-3, the surround phase shift mode matches the input. If unspecified and the source audio is any other codec, the encoder uses an unspecified default which may change without notice.", "enum": [ "SURROUND_PHASE_SHIFT_ENABLED", "SURROUND_PHASE_SHIFT_DISABLED" ], "type": "string" } }, "type": "object" }, "id": { "description": "Encoder ID. IDs must be unique for all encoders. This ID is referenced when setting up playlist publishing.", "minLength": 1, "type": "string" }, "loudness": { "additionalProperties": false, "properties": { "dialog_intel": { "description": "Enable Dialog Intelligence. Only supported for (E)AC-3 encoders. This may only be set if lkfs is explicitly configured to -24.", "type": "boolean" }, "lkfs": { "description": "Loudness normalization LKFS setting. Default value is -24.", "format": "int32", "type": "integer" }, "peak_limit": { "description": "Peak Limit. The only allowable value is -2.0. This field is soft-deprecated and will be unsupported in a future transcoder version. In the current transcoder version, the values 0.0 and -2.0 both produce the same configuration.", "format": "float", "type": "number" } }, "type": "object" }, "sample_rate": { "description": "Sample rate specifies the number of audio samples in hertz. The available options depend on the audio codec: AAC-LC supports 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, and 96000. HE-AAC supports 16000, 22050, 24000, 32000, 44100, and 48000. AC3/EAC3 support only 48000.", "exclusiveMinimum": 0, "format": "int32", "type": "integer" }, "tag": { "description": "Used by the player to map audio tracks to a quadrant, which represents a single view in a multiview layout. This value is opaque and not used by Aventus.", "type": "string" } }, "type": "object" }, "minItems": 1, "type": [ "array", "null" ] }, "debug_overlay": { "deprecated": true, "description": "Deprecated: Do not use. Debug_overlay overlays debugging information from the transcoder into the top right of the video output. The overlay is burned into the video and will be visible to end-users if enabled. Do not enable on customer facing channels. Requires a transcoder restart if the state is changed. The default value is false, which disables the overlay. This setting is deprecated in favour of debug_overlays.", "type": "boolean" }, "debug_overlays": { "additionalProperties": false, "properties": { "position": { "description": "Position of the debug overlay within the output frame.", "enum": [ "OFF", "TOP_LEFT", "TOP_RIGHT", "BOTTOM_LEFT", "BOTTOM_RIGHT" ], "type": "string" } }, "type": "object" }, "dynamic_resources": { "additionalProperties": { "additionalProperties": false, "properties": { "type": { "description": "Identifies the intended use of this resource.", "enum": [ "GRAPHIC", "FONT" ], "type": "string" }, "url": { "description": "The URL from which the resource will be downloaded.", "format": "uri-reference", "type": "string" } }, "type": "object" }, "description": "Configures external dynamic resources which will be downloaded by the transcoder and made available for use in the dynamic state API. Each key in the map is used to identify the resource from any location wishing to reference it (e.g. the dynamic state API).", "type": "object" }, "feature_flags": { "description": "Feature flag strings enable experimental transcode features or functionality that are not yet or never will be promoted to the channeldoc model proper. Do not enable on customer facing channels.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "id3_mode": { "description": "Specify how to process ID3 tags from the input source. If not specified, ID3 tags in the source will be ignored.", "enum": [ "PASSTHROUGH" ], "type": "string" }, "overlays": { "description": "List of overlays. An overlay is an image that will be rendered on top of the source video. Only one overlay is supported at the moment. If specified, the overlay will be always rendered unless a video slate is on.", "items": { "additionalProperties": false, "properties": { "image_url": { "description": "The URL of the image overlay. Only PNG is supported at the moment. The image's dimensions should match those of source for perfect pixel placement.", "minLength": 1, "type": "string" } }, "type": "object" }, "maxItems": 1, "type": [ "array", "null" ] }, "resize_mode": { "deprecated": true, "description": "Deprecated: Do not use. Deprecated: This field was never implemented. See resize_mode on VideoEncoder instead.", "enum": [ "STRETCH", "LETTERBOX", "CENTER_CROP" ], "type": "string" }, "segmenter": { "additionalProperties": false, "properties": { "gop_duration_secs": { "description": "GOP (group of pictures) duration specifies the amount of time between I-frames. Shorter durations can lower quality slightly as each I-frame uses more bits than P- & B-frames but can provide a better seeking experience when enabling thumbnail encoders and/or I-Frame Only playlists.", "exclusiveMinimum": 0, "format": "double", "type": "number" }, "segment_duration_secs": { "description": "Segment duration specifies the target duration of a single segment. Segments shorter than this duration can occur at signaling boundaries. This value _must_ be a multiple of the GOP duration value.", "exclusiveMinimum": 0, "format": "double", "type": "number" }, "temi": { "description": "Include TEMI (Timeline and External Media Information ISO/IEC 13818-1:2019 Annex U) to mpeg-ts segments.", "type": "boolean" } }, "type": "object" }, "subtitle_encoders": { "description": "Subtitle encoders specify how text-based subtitles are extracted into separate segments. They are not used to describe CEA 608 captions, which remain part of the video codec.", "items": { "additionalProperties": false, "properties": { "atsc_captions": { "additionalProperties": false, "properties": { "cea608": { "description": "If non-zero, decode captions from the CEA-608 logical channel number identified by this number. If zero, only CTA-708 captions will be decoded. The 'logical channel number' refers to the CCx name commonly used in literature: - CC1 is the NTSC odd field subchannel 1, considered the primary caption stream. - CC2 is the NTSC odd field subchannel 2, considered the tertiary caption stream. - CC3 is the NTSC even field subchannel 1, considered the secondary caption stream. - CC4 is the NTSC even field subchannel 2, considered the quaternary caption stream.", "format": "int32", "maximum": 4, "minimum": 0, "type": "integer" }, "cta708": { "description": "If non-zero, decode captions from the CTA-708 service identified by this number. If zero, only CEA-608 captions will be decoded. It is allowed to set both 'cta708' and 'cea608'. In this case, the transcoder will decode both streams, and will use the CTA-708 data if the stream is active and fall back to CEA-608 otherwise. Fallback from CTA-708 to CEA-608 requires a timeout to elapse, but switching from CEA-608 to CTA-708 occurs the instant the CTA-708 stream becomes active. CTA-708 recommends the following correspondence between the two encodings: - CTA-708 service 1 == CEA-608 CC1 (primary captions) - CTA-708 service 2 == CEA-608 CC3 (secondary captions) - CTA-708 service 3 == CEA-608 CC2 (tertiary captions) - CTA-708 service 4 == CEA-608 CC4 (quaternary captions) However, some sources use an alternate convention where CTA-708 service 3 is the secondary caption service (corresponding to CC3) and CTA-708 service 2 is the tertiary caption service.", "format": "int32", "maximum": 63, "minimum": 0, "type": "integer" } }, "type": "object" }, "id": { "description": "Encoder ID. IDs must be unique for all encoders. This ID is referenced when setting up playlist publishing.", "minLength": 1, "type": "string" }, "language": { "description": "Language is the code for the language in which the subtitles are written.", "minLength": 2, "type": "string" }, "tag": { "description": "Used by the player to map text tracks to a quadrant, which represents a single view in a multiview layout. This value is opaque and not used by Aventus.", "type": "string" }, "teletext": { "additionalProperties": false, "properties": { "charset_set": { "description": "If set, forces interpretation of the National Option field to choose from character sets in this specific set of character sets. Determining the correct value for this configuration is non-trivial, but there are some guidelines. Usually, all languages in one Teletext stream will use the same charset set. If only one set can handle all the languages, it's probably that one. Some of the sets roughly correspond to geopolitical divisions from the Cold War era: SET3 is roughly Yugoslavia plus Romania; SET4 is the rest of the former USSR/Warsaw Pact, including East Germany but excluding Poland; SET8 is Africa; SET10 is the Middle East. There does not seem to be any standard name for this configuration. The standard calls it 'the upper four bits of Triplet 1', which is highly ambiguous and nonsensical outside of the context of that usage. The decoder ffmpeg uses calls it 'region', but most of the sets cannot cleanly be described as any particular geographic region.", "enum": [ "SET0", "SET1", "SET2", "SET3", "SET4", "SET6", "SET8", "SET10" ], "type": "string" }, "language": { "description": "The three-letter language code declared in the Teletext descriptor in the source PMT. If the language is not found, the subtitles will be empty. language + type configuration is mutually exclusive with magazine + page configuration.", "type": "string" }, "magazine": { "description": "The teletext magazine number where the subtitles are found. In a conventional 3-digit Teletext page number, this is the first digit. E.g., in 'page 123', the magazine number is 1. 'Magazine 0' and 'magazine 8' are interchangeable and refer to the same thing. magazine + page configuration is mutually exclusive with language + type configuration.", "format": "int32", "maximum": 8, "minimum": 0, "type": "integer" }, "page": { "description": "The teletext page number where the subtitles are found. In a conventional 3-digit Teletext page number, this is the second two digits, *after interpreting those digits as hex*. E.g., in 'page 123', the page number is 35 (0x23). magazine + page configuration is mutually exclusive with language + type configuration.", "format": "int32", "maximum": 255, "minimum": 0, "type": "integer" }, "page_type": { "description": "The Teletext page type declared in the Teletext descriptor in the source PMT. If this field is unset, it will be inferred from the 'usage' field on the SubtitleEncoder using this table: SubtitleEncoder.CLOSED_CAPTIONS => TeletextSource.PAGE_TYPE_SUBTITLE_HEARING_IMPAIRED SubtitleEncoder.SUBTITLES => TeletextSource.PAGE_TYPE_SUBTITLE", "enum": [ "PAGE_TYPE_INITIAL", "PAGE_TYPE_SUBTITLE", "PAGE_TYPE_ADDITIONAL_INFORMATION", "PAGE_TYPE_PROGRAMME_SCHEDULE", "PAGE_TYPE_SUBTITLE_HEARING_IMPAIRED" ], "type": "string" } }, "type": "object" }, "transcription": { "additionalProperties": false, "properties": { "audio_source_id": { "description": "Identifies the 'AudioSource' to be transcribed.", "minLength": 1, "type": "string" }, "preset": { "description": "Indicates a particular transcription configuration (e.g. glossary) for a certain use case. Cannot be used at the same time as 'verbit_order_id'. Exactly how presets correspond to configurations is unspecified and subject to change.", "enum": [ "CNN", "NCAA" ], "type": "string" }, "region": { "additionalProperties": false, "properties": { "rows": { "description": "Height of the transcription area in rows (lines). If zero, use the default.", "format": "int32", "maximum": 4, "minimum": 0, "type": "integer" }, "y": { "description": "Y coordinate as a percent of the display height where the caption should be placed. If < 50 the caption will be top anchored. If > 50 it will be bottom anchored. If exactly 50, the caption will be vertically centered. 0 means use default. Example: y = 40, rows = 3. The top of the caption area will be approximately 40% the video height from the top of the screen, and will be 3 lines tall. Example: y = 75, rows = 2. The bottom of the caption area will be approximately 25% the video height from the bottom of the screen, and will be 2 lines tall.", "format": "int32", "maximum": 100, "minimum": 0, "type": "integer" } }, "type": "object" }, "verbit_order_id": { "description": "If specified, indicates that the generated transcription should be associated with this Verbit order. Used to retrieve the Verbit transcription endpoint URL. Cannot be used at the same time as 'preset'.", "type": "string" } }, "type": "object" }, "usage": { "description": "Usage indicates how this encoder should be flagged in generated manifests.", "enum": [ "CLOSED_CAPTIONS", "SUBTITLES" ], "type": "string" } }, "type": "object" }, "type": [ "array", "null" ] }, "thumbnail_encoders": { "description": "Thumbnail encoders specify how to create image snapshots of the video stream.", "items": { "additionalProperties": false, "properties": { "height": { "description": "Height specifies the thumbnail image height in pixels.", "exclusiveMinimum": 31, "format": "int32", "type": "integer" }, "id": { "description": "Encoder ID. IDs must be unique for all encoders. This ID is referenced when setting up playlist publishing.", "minLength": 1, "type": "string" }, "width": { "description": "Width specifies the thumbnail image width in pixels.", "exclusiveMinimum": 31, "format": "int32", "type": "integer" } }, "type": "object" }, "type": [ "array", "null" ] }, "video_encoders": { "description": "Video encoders specify video conversion settings, e.g. dimensions, codec, bitrate, etc.", "items": { "additionalProperties": false, "properties": { "av1": { "additionalProperties": false, "properties": { "hdr": { "additionalProperties": false, "properties": { "dolby_vision": { "additionalProperties": false, "properties": { "profile101": { "additionalProperties": false, "properties": { "clli": { "additionalProperties": false, "properties": { "max_cll": { "description": "Maximum Content Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "max_fall": { "description": "Maximum Frame-Average Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" }, "level8": { "description": "Configures custom Level 8 metadata. Each target may be configured at most once. Unconfigured targets use the Dolby LDP SIDK defaults.", "items": { "additionalProperties": false, "properties": { "clip_trim": { "description": "Control the clipping of whites. A positive value will clip highlights and bright whites less, while a negative value will clip more.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "ms_weight_plus_one": { "description": "Amount of multiscale detail to apply. This is offset from the values used in Dolby documentation so that the Protobuf default of 0.0 corresponds to the Dolby default of -1.0. Values > 1.0 will retain more details when Dolby Vision is mapping down to a lower luminance. Values < 1.0 will lower detail contrast when Dolby Vision is mapping down to a lower luminance. The special value of 0.0 will disable multiscale detail.", "format": "double", "maximum": 2, "minimum": 0, "type": "number" }, "target": { "description": "Identifies which Level 8 trim target is being configured.", "enum": [ "REC709_100NITS", "BT2020_600NITS", "BT2020_1000NITS", "CUSTOM" ], "type": "string" }, "target_mid_contrast": { "description": "Controls the contrast of midtones. A positive value will increase the midtone contrast, while a negative value will decrease the midtone contrast.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_chroma_weight": { "description": "ChromaWeight to apply. Additional mapping for saturated colors. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gain": { "description": "Gain to apply. This is a scaling factor for code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gamma": { "description": "Gamma to apply. This is a power function in normalized code value in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_lift": { "description": "Lift to apply. This is an offset of code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_saturation_gain": { "description": "Saturation gain to apply. Gain on P and T components. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" } }, "type": "object" }, "type": [ "array", "null" ] }, "mdcv": { "additionalProperties": false, "properties": { "color_profile": { "description": "Identifies color primaries and white point.", "enum": [ "BT2020", "P3_D65", "BT709" ], "type": "string" }, "max_dml": { "description": "Maximum display mastering luminance (nits). Must be greater than min_dml.", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "min_dml": { "description": "Minimum display mastering luminance (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" } }, "type": "object" }, "profile5": { "additionalProperties": false, "type": "object" }, "profile81": { "$ref": "#/$defs/HdrSettingsDolbyVisionProfile81", "description": "Only one of ['profile5', 'profile81', 'profile84', 'profile101'] may be set." }, "profile84": { "additionalProperties": false, "type": "object" } }, "type": "object" }, "hdr10": { "additionalProperties": false, "properties": { "clli": { "$ref": "#/$defs/HdrSettingsContentLightLevelInfo" }, "mdcv": { "$ref": "#/$defs/HdrSettingsMasteringDisplayColorVolume" } }, "type": "object" } }, "type": "object" } }, "type": "object" }, "bit_rate": { "description": "Bit rate specifies the number in bits used per second. Higher values result in better video quality but bigger file sizes. For H.264 this value is the target of the constrained variable bit rate.", "exclusiveMinimum": 1000, "format": "int32", "type": "integer" }, "frame_rate": { "description": "Frame rate specifies the number of images that are shown per second when playing back the video. For the best quality playback, this should match or be a multiple of the input source video stream.", "enum": [ "FR_23_98", "FR_24", "FR_25", "FR_29_97", "FR_30", "FR_50", "FR_59_94", "FR_60" ], "type": "string" }, "h264": { "additionalProperties": false, "properties": { "profile": { "description": "H.264 video profile, which defines various encoder features and settings. See https://en.wikipedia.org/wiki/Advanced_Video_Coding#Profiles for details.", "enum": [ "BASELINE", "MAIN", "HIGH", "HIGH_10", "HIGH_422" ], "type": "string" } }, "type": "object" }, "h265": { "additionalProperties": false, "properties": { "hdr": { "$ref": "#/$defs/HdrSettings", "description": "Configure the HDR settings." }, "profile": { "description": "H.265 video profile, which defines various encoder features and settings. See https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Profiles for details.", "enum": [ "MAIN", "MAIN_10" ], "type": "string" } }, "type": "object" }, "height": { "description": "Height specifies the video height in pixels. Must be a multiple of two. Valid resolution ranges, width x height are: H.264: 2x2 to 1920x1080 or 1080x1920 H.265: 130x34 to 3840x2160 or 2160x3840 The upper limit is dictated by the number of pixels.", "exclusiveMinimum": 1, "format": "int32", "type": "integer" }, "id": { "description": "Encoder ID. IDs must be unique for all encoders. This ID is referenced when setting up playlist publishing.", "minLength": 1, "type": "string" }, "resize_mode": { "description": "Indicates how to handle the case where the input aspect ratio does not match the aspect ratio of this VideoEncoder.", "enum": [ "STRETCH", "LETTERBOX", "CENTER_CROP" ], "type": "string" }, "width": { "description": "Width specifies the video width in pixels. Must be a multiple of two. Valid resolution ranges, width x height are: H.264: 32x24 to 1920x1080 or 1080x1920 H.265: 130x128 to 3840x2160 or 2160x3840 The upper limit is dictated by the total number of pixels.", "exclusiveMinimum": 1, "format": "int32", "type": "integer" } }, "type": "object" }, "minItems": 1, "type": [ "array", "null" ] } }, "type": "object" } }, "required": [ "ingest" ], "type": "object", "$defs": { "AudioSourceRemappingSource": { "additionalProperties": false, "properties": { "audio_source_id": { "description": "Identifies the ID of the elementary audio source from which this channel will be sourced.", "minLength": 1, "type": "string" }, "channel_index": { "description": "Identifies the zero-based channel index within the audio decoded from audio_source_id which is used for this channel mapping. If this index is out of bounds, the audio for this channel will be silent. For SMPTE-302M inputs, channel indices are always in the range 0-8 (unless the Aventus-specific extension for carrying more than 8 channels in one elementary stream is in use) and name the Nth channel of the input. I.e., the base channel index indicated by the input stream is ignored. For non-SMPTE-302M inputs with 1, 2, or 6 channels, the following index-to-channel mapping always applies: - 0 is front left (i.e. the only channel for mono) - 1 is front right - 2 is front center - 3 is LFE - 4 is side left - 5 is side right For non-SMPTE-302M inputs with 3, 4, or 5 channels, no index mapping is guaranteed. For non-SMPTE-302M inputs with more than 6 channels, the index mapping that would be used for 6 channels is guaranteed, and no specific mapping for the other channels is guaranteed.", "format": "int32", "minimum": 0, "type": "integer" } }, "type": "object" }, "HdrSettings": { "additionalProperties": false, "properties": { "dolby_vision": { "additionalProperties": false, "properties": { "profile101": { "additionalProperties": false, "properties": { "clli": { "additionalProperties": false, "properties": { "max_cll": { "description": "Maximum Content Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "max_fall": { "description": "Maximum Frame-Average Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" }, "level8": { "description": "Configures custom Level 8 metadata. Each target may be configured at most once. Unconfigured targets use the Dolby LDP SIDK defaults.", "items": { "additionalProperties": false, "properties": { "clip_trim": { "description": "Control the clipping of whites. A positive value will clip highlights and bright whites less, while a negative value will clip more.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "ms_weight_plus_one": { "description": "Amount of multiscale detail to apply. This is offset from the values used in Dolby documentation so that the Protobuf default of 0.0 corresponds to the Dolby default of -1.0. Values > 1.0 will retain more details when Dolby Vision is mapping down to a lower luminance. Values < 1.0 will lower detail contrast when Dolby Vision is mapping down to a lower luminance. The special value of 0.0 will disable multiscale detail.", "format": "double", "maximum": 2, "minimum": 0, "type": "number" }, "target": { "description": "Identifies which Level 8 trim target is being configured.", "enum": [ "REC709_100NITS", "BT2020_600NITS", "BT2020_1000NITS", "CUSTOM" ], "type": "string" }, "target_mid_contrast": { "description": "Controls the contrast of midtones. A positive value will increase the midtone contrast, while a negative value will decrease the midtone contrast.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_chroma_weight": { "description": "ChromaWeight to apply. Additional mapping for saturated colors. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gain": { "description": "Gain to apply. This is a scaling factor for code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gamma": { "description": "Gamma to apply. This is a power function in normalized code value in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_lift": { "description": "Lift to apply. This is an offset of code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_saturation_gain": { "description": "Saturation gain to apply. Gain on P and T components. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" } }, "type": "object" }, "type": [ "array", "null" ] }, "mdcv": { "additionalProperties": false, "properties": { "color_profile": { "description": "Identifies color primaries and white point.", "enum": [ "BT2020", "P3_D65", "BT709" ], "type": "string" }, "max_dml": { "description": "Maximum display mastering luminance (nits). Must be greater than min_dml.", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "min_dml": { "description": "Minimum display mastering luminance (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" } }, "type": "object" }, "profile5": { "additionalProperties": false, "type": "object" }, "profile81": { "$ref": "#/$defs/HdrSettingsDolbyVisionProfile81", "description": "Only one of ['profile5', 'profile81', 'profile84', 'profile101'] may be set." }, "profile84": { "additionalProperties": false, "type": "object" } }, "type": "object" }, "hdr10": { "additionalProperties": false, "properties": { "clli": { "$ref": "#/$defs/HdrSettingsContentLightLevelInfo" }, "mdcv": { "$ref": "#/$defs/HdrSettingsMasteringDisplayColorVolume" } }, "type": "object" } }, "type": "object" }, "HdrSettingsContentLightLevelInfo": { "additionalProperties": false, "properties": { "max_cll": { "description": "Maximum Content Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "max_fall": { "description": "Maximum Frame-Average Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" }, "HdrSettingsDolbyVisionProfile81": { "additionalProperties": false, "properties": { "clli": { "additionalProperties": false, "properties": { "max_cll": { "description": "Maximum Content Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "max_fall": { "description": "Maximum Frame-Average Light Level (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" }, "level8": { "description": "Configures custom Level 8 metadata. Each target may be configured at most once. Unconfigured targets use the Dolby LDP SIDK defaults.", "items": { "additionalProperties": false, "properties": { "clip_trim": { "description": "Control the clipping of whites. A positive value will clip highlights and bright whites less, while a negative value will clip more.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "ms_weight_plus_one": { "description": "Amount of multiscale detail to apply. This is offset from the values used in Dolby documentation so that the Protobuf default of 0.0 corresponds to the Dolby default of -1.0. Values > 1.0 will retain more details when Dolby Vision is mapping down to a lower luminance. Values < 1.0 will lower detail contrast when Dolby Vision is mapping down to a lower luminance. The special value of 0.0 will disable multiscale detail.", "format": "double", "maximum": 2, "minimum": 0, "type": "number" }, "target": { "description": "Identifies which Level 8 trim target is being configured.", "enum": [ "REC709_100NITS", "BT2020_600NITS", "BT2020_1000NITS", "CUSTOM" ], "type": "string" }, "target_mid_contrast": { "description": "Controls the contrast of midtones. A positive value will increase the midtone contrast, while a negative value will decrease the midtone contrast.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_chroma_weight": { "description": "ChromaWeight to apply. Additional mapping for saturated colors. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gain": { "description": "Gain to apply. This is a scaling factor for code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_gamma": { "description": "Gamma to apply. This is a power function in normalized code value in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_lift": { "description": "Lift to apply. This is an offset of code values in a color component.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" }, "trim_saturation_gain": { "description": "Saturation gain to apply. Gain on P and T components. Higher value implies stronger effect.", "format": "double", "maximum": 1, "minimum": -1, "type": "number" } }, "type": "object" }, "type": [ "array", "null" ] }, "mdcv": { "additionalProperties": false, "properties": { "color_profile": { "description": "Identifies color primaries and white point.", "enum": [ "BT2020", "P3_D65", "BT709" ], "type": "string" }, "max_dml": { "description": "Maximum display mastering luminance (nits). Must be greater than min_dml.", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "min_dml": { "description": "Minimum display mastering luminance (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" } }, "type": "object" }, "HdrSettingsMasteringDisplayColorVolume": { "additionalProperties": false, "properties": { "color_profile": { "description": "Identifies color primaries and white point.", "enum": [ "BT2020", "P3_D65", "BT709" ], "type": "string" }, "max_dml": { "description": "Maximum display mastering luminance (nits). Must be greater than min_dml.", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" }, "min_dml": { "description": "Minimum display mastering luminance (nits).", "format": "double", "maximum": 10000, "minimum": 0, "type": "number" } }, "type": "object" }, "OriginManifestDefaults": { "additionalProperties": false, "properties": { "dash_signaling_formats": { "description": "DASH Signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering DASH manifests.", "items": { "enum": [ "SCTE35_SPLICE_INFO_SECTION", "SCTE35_BIN" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "drm_system_ids": { "description": "Specify which DRMs to advertise in the playlist. If specified, this must be a subset of the DRMs specified by the packager associated with this origin. If omitted or empty, all DRMs specified by the packager will be advertised. Only honored for Alternate Manifests. Example: '81376844-f976-481e-a84e-cc25d39b0b33' for bulk file encryption ID", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "duration_seconds": { "description": "Duration is the length of content that will be included in the manifest, in seconds. The max supported DVR window is 12 hours. If not specified, the default duration will be 30 seconds.", "format": "int32", "maximum": 43200, "minimum": 0, "type": "integer" }, "enable_hls_delta_updates": { "description": "When true enables HLS Delta updates for this particular origin.", "type": "boolean" }, "encoder_ids": { "description": "Specify which encoders (video, audio, thumbnail) should be used for this origin manifest. If none are specified, all video encoders configured for the origin will be used. Only honored for Alternate Manifests.", "items": { "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "hls_signaling_formats": { "description": "HLS signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering playlists.", "items": { "enum": [ "APPLE_SCTE35", "AD_SIMPLE", "SCTE35" ], "type": "string" }, "type": [ "array", "null" ], "uniqueItems": true }, "media_url_type": { "description": "Allows specifying url type for HLS media playlists and DASH manifests. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "minimum_update_period_seconds": { "description": "Sets the minimumUpdatePeriod field in MPD to be this value. If set to 0 (default), segment duration is used. The value shall not exceed the 'suggested_presentation_delay_secs'.", "format": "int32", "minimum": 0, "type": "integer" }, "multi_variant_url_type": { "description": "Allows specifying url type for HLS multi-variant playlists. If not provided, playlist generation will use 'RELATIVE'.", "enum": [ "RELATIVE", "ABSOLUTE", "HOST_RELATIVE" ], "type": "string" }, "pdt_on_every_segment": { "description": "When true a #EXT-X-PROGRAM-DATE-TIME tag will be placed on every media segment in HLS media playlists. When false, the default behavior, the PDT tag is set according to the HLS specification.", "type": "boolean" }, "pre_start_duration_seconds": { "description": "Pre Start Duration is the length of content that will be included in the manifest when the start time of a manifest is in the future. When a manifest is near the start time but does not contain 'pre_start_duration_seconds' content Manifest Origin will keep content before the start time to make the manifest length at least 'pre_start_duration_seconds'. If not specified requesting a manifest in the future will result in a 404.", "format": "int32", "maximum": 43200, "minimum": 0, "type": "integer" }, "suggested_presentation_delay_seconds": { "description": "Sets the suggestedPresentationDelay field in MPD to be this value. This value must be greater or equal to 'minimum_update_period_secs'. If unset, the default value will be calculated as 3 * segment target duration.", "format": "int32", "minimum": 0, "type": "integer" } }, "type": "object" }, "PublishPointHTTP": { "additionalProperties": false, "properties": { "basic_auth": { "additionalProperties": false, "properties": { "password": { "description": "Plain text password for basic auth.", "type": "string" }, "username": { "description": "Username for basic auth.", "type": "string" } }, "type": "object" }, "compression": { "description": "Configures whether or not (and how) to compress manifests being published to the origin. If not specified, manifests will not be compressed.", "enum": [ "NONE", "GZIP" ], "type": "string" }, "do_not_monitor": { "description": "(Optional) Specifies if this pubpoint should not be monitored by PLM.", "type": "boolean" }, "headers": { "additionalProperties": { "type": "string" }, "description": "Allows custom HTTP headers to be set via configuration for all HTTP requests.", "type": "object" }, "method": { "description": "Method overrides what HTTP method to specify in requests to the Publish Point. If not specified the service will default to POST.", "type": "string" }, "playback_base_url": { "description": "The base URL where published playlists will be able to be obtained. This is often different than the publish_base_url for CDN publishing workflows.", "format": "uri-reference", "type": "string" }, "playback_query_params": { "description": "Specifies any query parameters that will be added to playback urls. Should not include the initial '?' Example: 'foo=bar&q=golang'", "type": "string" }, "publish_base_url": { "description": "The base URL where generated playlists will be sent/published. Each publish point requires a unique 'publish_base_url'.", "format": "uri-reference", "type": "string" }, "secure_header_auth": { "additionalProperties": false, "properties": { "arn": { "description": "arn is the AWS Secret ARN that contains the secure header list to be applied.", "type": "string" }, "version_id": { "description": "version_id is the AWS Secret's version ID that contains the version of the secret to be applied.", "type": "string" } }, "type": "object" } }, "type": "object" }, "SrtPublicationEncoder": { "additionalProperties": false, "properties": { "id": { "minLength": 1, "type": "string" }, "pid": { "description": "Output MPEG-TS PID. PIDs should be set on the PMT, SCTE-35 and all encoders or none. Valid PIDs must 13-bit values greater than 31. If no PIDs are provided (pid == 0) then they will be generated automatically.", "exclusiveMaximum": 8191, "format": "int32", "type": "integer" } }, "type": "object" } } }