M2tsSettings

public struct M2tsSettings : AWSShape

Undocumented

  • Declaration

    Swift

    public static var _members: [AWSShapeMember]
  • When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream.

    Declaration

    Swift

    public let absentInputAudioBehavior: M2tsAbsentInputAudioBehavior?
  • When set to enabled, uses ARIB-compliant field muxing and removes video descriptor.

    Declaration

    Swift

    public let arib: M2tsArib?
  • Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let aribCaptionsPid: String?
  • If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number.

    Declaration

    Swift

    public let aribCaptionsPidControl: M2tsAribCaptionsPidControl?
  • When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used.

    Declaration

    Swift

    public let audioBufferModel: M2tsAudioBufferModel?
  • The number of audio frames to insert for each PES packet.

    Declaration

    Swift

    public let audioFramesPerPes: Int?
  • Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let audioPids: String?
  • When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06.

    Declaration

    Swift

    public let audioStreamType: M2tsAudioStreamType?
  • The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate.

    Declaration

    Swift

    public let bitrate: Int?
  • If set to multiplex, use multiplex buffer model for accurate interleaving. Setting to bufferModel to none can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions.

    Declaration

    Swift

    public let bufferModel: M2tsBufferModel?
  • When set to enabled, generates captionServiceDescriptor in PMT.

    Declaration

    Swift

    public let ccDescriptor: M2tsCcDescriptor?
  • Inserts DVB Network Information Table (NIT) at the specified table repetition interval.

    Declaration

    Swift

    public let dvbNitSettings: DvbNitSettings?
  • Inserts DVB Service Description Table (SDT) at the specified table repetition interval.

    Declaration

    Swift

    public let dvbSdtSettings: DvbSdtSettings?
  • Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let dvbSubPids: String?
  • Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.

    Declaration

    Swift

    public let dvbTdtSettings: DvbTdtSettings?
  • Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let dvbTeletextPid: String?
  • If set to passthrough, passes any EBIF data from the input source to this output.

    Declaration

    Swift

    public let ebif: M2tsEbifControl?
  • When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval.

    Declaration

    Swift

    public let ebpAudioInterval: M2tsAudioInterval?
  • When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is “stretched” to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate.

    Declaration

    Swift

    public let ebpLookaheadMs: Int?
  • Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID.

    Declaration

    Swift

    public let ebpPlacement: M2tsEbpPlacement?
  • This field is unused and deprecated.

    Declaration

    Swift

    public let ecmPid: String?
  • Include or exclude the ES Rate field in the PES header.

    Declaration

    Swift

    public let esRateInPes: M2tsEsRateInPes?
  • Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let etvPlatformPid: String?
  • Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let etvSignalPid: String?
  • The length in seconds of each fragment. Only used with EBP markers.

    Declaration

    Swift

    public let fragmentTime: Double?
  • klv

    If set to passthrough, passes any KLV data from the input source to this output.

    Declaration

    Swift

    public let klv: M2tsKlv?
  • Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let klvDataPids: String?
  • If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.

    Declaration

    Swift

    public let nielsenId3Behavior: M2tsNielsenId3Behavior?
  • Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets.

    Declaration

    Swift

    public let nullPacketBitrate: Double?
  • The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.

    Declaration

    Swift

    public let patInterval: Int?
  • When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.

    Declaration

    Swift

    public let pcrControl: M2tsPcrControl?
  • Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.

    Declaration

    Swift

    public let pcrPeriod: Int?
  • Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let pcrPid: String?
  • The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.

    Declaration

    Swift

    public let pmtInterval: Int?
  • Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let pmtPid: String?
  • The value of the program number field in the Program Map Table.

    Declaration

    Swift

    public let programNum: Int?
  • When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set.

    Declaration

    Swift

    public let rateMode: M2tsRateMode?
  • Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let scte27Pids: String?
  • Optionally pass SCTE-35 signals from the input source to this output.

    Declaration

    Swift

    public let scte35Control: M2tsScte35Control?
  • Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let scte35Pid: String?
  • Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format.

    Declaration

    Swift

    public let segmentationMarkers: M2tsSegmentationMarkers?
  • The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of “resetCadence” is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. When a segmentation style of “maintainCadence” is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule.

    Declaration

    Swift

    public let segmentationStyle: M2tsSegmentationStyle?
  • The length in seconds of each segment. Required unless markers is set to none.

    Declaration

    Swift

    public let segmentationTime: Double?
  • When set to passthrough, timed metadata will be passed through from input to output.

    Declaration

    Swift

    public let timedMetadataBehavior: M2tsTimedMetadataBehavior?
  • Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let timedMetadataPid: String?
  • The value of the transport stream ID field in the Program Map Table.

    Declaration

    Swift

    public let transportStreamId: Int?
  • Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).

    Declaration

    Swift

    public let videoPid: String?
  • Undocumented

    Declaration

    Swift

    public init(absentInputAudioBehavior: M2tsAbsentInputAudioBehavior? = nil, arib: M2tsArib? = nil, aribCaptionsPid: String? = nil, aribCaptionsPidControl: M2tsAribCaptionsPidControl? = nil, audioBufferModel: M2tsAudioBufferModel? = nil, audioFramesPerPes: Int? = nil, audioPids: String? = nil, audioStreamType: M2tsAudioStreamType? = nil, bitrate: Int? = nil, bufferModel: M2tsBufferModel? = nil, ccDescriptor: M2tsCcDescriptor? = nil, dvbNitSettings: DvbNitSettings? = nil, dvbSdtSettings: DvbSdtSettings? = nil, dvbSubPids: String? = nil, dvbTdtSettings: DvbTdtSettings? = nil, dvbTeletextPid: String? = nil, ebif: M2tsEbifControl? = nil, ebpAudioInterval: M2tsAudioInterval? = nil, ebpLookaheadMs: Int? = nil, ebpPlacement: M2tsEbpPlacement? = nil, ecmPid: String? = nil, esRateInPes: M2tsEsRateInPes? = nil, etvPlatformPid: String? = nil, etvSignalPid: String? = nil, fragmentTime: Double? = nil, klv: M2tsKlv? = nil, klvDataPids: String? = nil, nielsenId3Behavior: M2tsNielsenId3Behavior? = nil, nullPacketBitrate: Double? = nil, patInterval: Int? = nil, pcrControl: M2tsPcrControl? = nil, pcrPeriod: Int? = nil, pcrPid: String? = nil, pmtInterval: Int? = nil, pmtPid: String? = nil, programNum: Int? = nil, rateMode: M2tsRateMode? = nil, scte27Pids: String? = nil, scte35Control: M2tsScte35Control? = nil, scte35Pid: String? = nil, segmentationMarkers: M2tsSegmentationMarkers? = nil, segmentationStyle: M2tsSegmentationStyle? = nil, segmentationTime: Double? = nil, timedMetadataBehavior: M2tsTimedMetadataBehavior? = nil, timedMetadataPid: String? = nil, transportStreamId: Int? = nil, videoPid: String? = nil)
  • Declaration

    Swift

    public func validate(name: String) throws