class Aws::MediaConvert::Types::M2tsSettings

MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset.

@note When making an API call, you may pass M2tsSettings

data as a hash:

    {
      audio_buffer_model: "DVB", # accepts DVB, ATSC
      audio_duration: "DEFAULT_CODEC_DURATION", # accepts DEFAULT_CODEC_DURATION, MATCH_VIDEO_DURATION
      audio_frames_per_pes: 1,
      audio_pids: [1],
      bitrate: 1,
      buffer_model: "MULTIPLEX", # accepts MULTIPLEX, NONE
      data_pts_control: "AUTO", # accepts AUTO, ALIGN_TO_VIDEO
      dvb_nit_settings: {
        network_id: 1,
        network_name: "__stringMin1Max256",
        nit_interval: 1,
      },
      dvb_sdt_settings: {
        output_sdt: "SDT_FOLLOW", # accepts SDT_FOLLOW, SDT_FOLLOW_IF_PRESENT, SDT_MANUAL, SDT_NONE
        sdt_interval: 1,
        service_name: "__stringMin1Max256",
        service_provider_name: "__stringMin1Max256",
      },
      dvb_sub_pids: [1],
      dvb_tdt_settings: {
        tdt_interval: 1,
      },
      dvb_teletext_pid: 1,
      ebp_audio_interval: "VIDEO_AND_FIXED_INTERVALS", # accepts VIDEO_AND_FIXED_INTERVALS, VIDEO_INTERVAL
      ebp_placement: "VIDEO_AND_AUDIO_PIDS", # accepts VIDEO_AND_AUDIO_PIDS, VIDEO_PID
      es_rate_in_pes: "INCLUDE", # accepts INCLUDE, EXCLUDE
      force_ts_video_ebp_order: "FORCE", # accepts FORCE, DEFAULT
      fragment_time: 1.0,
      max_pcr_interval: 1,
      min_ebp_interval: 1,
      nielsen_id_3: "INSERT", # accepts INSERT, NONE
      null_packet_bitrate: 1.0,
      pat_interval: 1,
      pcr_control: "PCR_EVERY_PES_PACKET", # accepts PCR_EVERY_PES_PACKET, CONFIGURED_PCR_PERIOD
      pcr_pid: 1,
      pmt_interval: 1,
      pmt_pid: 1,
      private_metadata_pid: 1,
      program_number: 1,
      rate_mode: "VBR", # accepts VBR, CBR
      scte_35_esam: {
        scte_35_esam_pid: 1,
      },
      scte_35_pid: 1,
      scte_35_source: "PASSTHROUGH", # accepts PASSTHROUGH, NONE
      segmentation_markers: "NONE", # accepts NONE, RAI_SEGSTART, RAI_ADAPT, PSI_SEGSTART, EBP, EBP_LEGACY
      segmentation_style: "MAINTAIN_CADENCE", # accepts MAINTAIN_CADENCE, RESET_CADENCE
      segmentation_time: 1.0,
      timed_metadata_pid: 1,
      transport_stream_id: 1,
      video_pid: 1,
    }

@!attribute [rw] audio_buffer_model

Selects between the DVB and ATSC buffer models for Dolby Digital
audio.
@return [String]

@!attribute [rw] audio_duration

Specify this setting only when your output will be consumed by a
downstream repackaging workflow that is sensitive to very small
duration differences between video and audio. For this situation,
choose Match video duration (MATCH\_VIDEO\_DURATION). In all other
cases, keep the default value, Default codec duration
(DEFAULT\_CODEC\_DURATION). When you choose Match video duration,
MediaConvert pads the output audio streams with silence or trims
them to ensure that the total duration of each audio stream is at
least as long as the total duration of the video stream. After
padding or trimming, the audio stream duration is no more than one
frame longer than the video stream. MediaConvert applies audio
padding or trimming only to the end of the last segment of the
output. For unsegmented outputs, MediaConvert adds padding only to
the end of the file. When you keep the default value, any minor
discrepancies between audio and video duration will depend on your
output audio codec.
@return [String]

@!attribute [rw] audio_frames_per_pes

The number of audio frames to insert for each PES packet.
@return [Integer]

@!attribute [rw] audio_pids

Specify the packet identifiers (PIDs) for any elementary audio
streams you include in this output. Specify multiple PIDs as a JSON
array. Default is the range 482-492.
@return [Array<Integer>]

@!attribute [rw] bitrate

Specify the output bitrate of the transport stream in bits per
second. Setting to 0 lets the muxer automatically determine the
appropriate bitrate. Other common values are 3750000, 7500000, and
15000000.
@return [Integer]

@!attribute [rw] buffer_model

Controls what buffer model to use for accurate interleaving. If set
to MULTIPLEX, use multiplex buffer model. If set to NONE, this can
lead to lower latency, but low-memory devices may not be able to
play back the stream without interruptions.
@return [String]

@!attribute [rw] data_pts_control

If you select ALIGN\_TO\_VIDEO, MediaConvert writes captions and
data packets with Presentation Timestamp (PTS) values greater than
or equal to the first video packet PTS (MediaConvert drops captions
and data packets with lesser PTS values). Keep the default value
(AUTO) to allow all PTS values.
@return [String]

@!attribute [rw] dvb_nit_settings

Use these settings to insert a DVB Network Information Table (NIT)
in the transport stream of this output. When you work directly in
your JSON job specification, include this object only when your job
has a transport stream output and the container settings contain the
object M2tsSettings.
@return [Types::DvbNitSettings]

@!attribute [rw] dvb_sdt_settings

Use these settings to insert a DVB Service Description Table (SDT)
in the transport stream of this output. When you work directly in
your JSON job specification, include this object only when your job
has a transport stream output and the container settings contain the
object M2tsSettings.
@return [Types::DvbSdtSettings]

@!attribute [rw] dvb_sub_pids

Specify the packet identifiers (PIDs) for DVB subtitle data included
in this output. Specify multiple PIDs as a JSON array. Default is
the range 460-479.
@return [Array<Integer>]

@!attribute [rw] dvb_tdt_settings

Use these settings to insert a DVB Time and Date Table (TDT) in the
transport stream of this output. When you work directly in your JSON
job specification, include this object only when your job has a
transport stream output and the container settings contain the
object M2tsSettings.
@return [Types::DvbTdtSettings]

@!attribute [rw] dvb_teletext_pid

Specify the packet identifier (PID) for DVB teletext data you
include in this output. Default is 499.
@return [Integer]

@!attribute [rw] ebp_audio_interval

When set to VIDEO\_AND\_FIXED\_INTERVALS, 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. When set to VIDEO\_INTERVAL, these additional
markers will not be inserted. Only applicable when EBP segmentation
markers are is selected (segmentationMarkers is EBP or EBP\_LEGACY).
@return [String]

@!attribute [rw] ebp_placement

Selects which PIDs to place EBP markers on. They can either be
placed only on the video PID, or on both the video PID and all audio
PIDs. Only applicable when EBP segmentation markers are is selected
(segmentationMarkers is EBP or EBP\_LEGACY).
@return [String]

@!attribute [rw] es_rate_in_pes

Controls whether to include the ES Rate field in the PES header.
@return [String]

@!attribute [rw] force_ts_video_ebp_order

Keep the default value (DEFAULT) unless you know that your audio EBP
markers are incorrectly appearing before your video EBP markers. To
correct this problem, set this value to Force (FORCE).
@return [String]

@!attribute [rw] fragment_time

The length, in seconds, of each fragment. Only used with EBP
markers.
@return [Float]

@!attribute [rw] max_pcr_interval

Specify the maximum time, in milliseconds, between Program Clock
References (PCRs) inserted into the transport stream.
@return [Integer]

@!attribute [rw] min_ebp_interval

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.
@return [Integer]

@!attribute [rw] nielsen_id_3

If INSERT, Nielsen inaudible tones for media tracking will be
detected in the input audio and an equivalent ID3 tag will be
inserted in the output.
@return [String]

@!attribute [rw] null_packet_bitrate

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.
@return [Float]

@!attribute [rw] pat_interval

The number of milliseconds between instances of this table in the
output transport stream.
@return [Integer]

@!attribute [rw] pcr_control

When set to PCR\_EVERY\_PES\_PACKET, a Program Clock Reference value
is inserted for every Packetized Elementary Stream (PES) header.
This is effective only when the PCR PID is the same as the video or
audio elementary stream.
@return [String]

@!attribute [rw] pcr_pid

Specify the packet identifier (PID) for the program clock reference
(PCR) in this output. If you do not specify a value, the service
will use the value for Video PID (VideoPid).
@return [Integer]

@!attribute [rw] pmt_interval

Specify the number of milliseconds between instances of the program
map table (PMT) in the output transport stream.
@return [Integer]

@!attribute [rw] pmt_pid

Specify the packet identifier (PID) for the program map table (PMT)
itself. Default is 480.
@return [Integer]

@!attribute [rw] private_metadata_pid

Specify the packet identifier (PID) of the private metadata stream.
Default is 503.
@return [Integer]

@!attribute [rw] program_number

Use Program number (programNumber) to specify the program number
used in the program map table (PMT) for this output. Default is 1.
Program numbers and program map tables are parts of MPEG-2 transport
stream containers, used for organizing data.
@return [Integer]

@!attribute [rw] rate_mode

When set to CBR, inserts null packets into transport stream to fill
specified bitrate. When set to VBR, the bitrate setting acts as the
maximum bitrate, but the output will not be padded up to that
bitrate.
@return [String]

@!attribute [rw] scte_35_esam

Include this in your job settings to put SCTE-35 markers in your HLS
and transport stream outputs at the insertion points that you
specify in an ESAM XML document. Provide the document in the setting
SCC XML (sccXml).
@return [Types::M2tsScte35Esam]

@!attribute [rw] scte_35_pid

Specify the packet identifier (PID) of the SCTE-35 stream in the
transport stream.
@return [Integer]

@!attribute [rw] scte_35_source

For SCTE-35 markers from your input-- Choose Passthrough
(PASSTHROUGH) if you want SCTE-35 markers that appear in your input
to also appear in this output. Choose None (NONE) if you don't want
SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML
document-- Choose None (NONE). Also provide the ESAM XML as a string
in the setting Signal processing notification XML (sccXml). Also
enable ESAM SCTE-35 (include the property scte35Esam).
@return [String]

@!attribute [rw] segmentation_markers

Inserts segmentation markers at each segmentation\_time period.
rai\_segstart sets the Random Access Indicator bit in the adaptation
field. rai\_adapt sets the RAI bit and adds the current timecode in
the private data bytes. psi\_segstart 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. ebp\_legacy adds Encoder Boundary Point
information to the adaptation field using a legacy proprietary
format.
@return [String]

@!attribute [rw] segmentation_style

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
"reset\_cadence" 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 of $segmentation\_time
seconds. When a segmentation style of "maintain\_cadence" 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 $segmentation\_time seconds. Note that EBP
lookahead is a slight exception to this rule.
@return [String]

@!attribute [rw] segmentation_time

Specify the length, in seconds, of each segment. Required unless
markers is set to \_none\_.
@return [Float]

@!attribute [rw] timed_metadata_pid

Specify the packet identifier (PID) for timed metadata in this
output. Default is 502.
@return [Integer]

@!attribute [rw] transport_stream_id

Specify the ID for the transport stream itself in the program map
table for this output. Transport stream IDs and program map tables
are parts of MPEG-2 transport stream containers, used for organizing
data.
@return [Integer]

@!attribute [rw] video_pid

Specify the packet identifier (PID) of the elementary video stream
in the transport stream.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/M2tsSettings AWS API Documentation

Constants

SENSITIVE