M2tsSettings class
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.
Constructors
-
M2tsSettings({M2tsAudioBufferModel? audioBufferModel, M2tsAudioDuration? audioDuration, int? audioFramesPerPes, List<
int> ? audioPids, int? bitrate, M2tsBufferModel? bufferModel, DvbNitSettings? dvbNitSettings, DvbSdtSettings? dvbSdtSettings, List<int> ? dvbSubPids, DvbTdtSettings? dvbTdtSettings, int? dvbTeletextPid, M2tsEbpAudioInterval? ebpAudioInterval, M2tsEbpPlacement? ebpPlacement, M2tsEsRateInPes? esRateInPes, M2tsForceTsVideoEbpOrder? forceTsVideoEbpOrder, double? fragmentTime, int? maxPcrInterval, int? minEbpInterval, M2tsNielsenId3? nielsenId3, double? nullPacketBitrate, int? patInterval, M2tsPcrControl? pcrControl, int? pcrPid, int? pmtInterval, int? pmtPid, int? privateMetadataPid, int? programNumber, M2tsRateMode? rateMode, M2tsScte35Esam? scte35Esam, int? scte35Pid, M2tsScte35Source? scte35Source, M2tsSegmentationMarkers? segmentationMarkers, M2tsSegmentationStyle? segmentationStyle, double? segmentationTime, int? timedMetadataPid, int? transportStreamId, int? videoPid}) -
M2tsSettings.fromJson(Map<
String, dynamic> json) -
factory
Properties
- audioBufferModel → M2tsAudioBufferModel?
-
Selects between the DVB and ATSC buffer models for Dolby Digital audio.
final
- audioDuration → M2tsAudioDuration?
-
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.
final
- audioFramesPerPes → int?
-
The number of audio frames to insert for each PES packet.
final
-
audioPids
→ List<
int> ? -
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.
final
- bitrate → int?
-
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.
final
- bufferModel → M2tsBufferModel?
-
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.
final
- dvbNitSettings → DvbNitSettings?
-
Inserts DVB Network Information Table (NIT) at the specified table
repetition interval.
final
- dvbSdtSettings → DvbSdtSettings?
-
Inserts DVB Service Description Table (NIT) at the specified table
repetition interval.
final
-
dvbSubPids
→ List<
int> ? -
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.
final
- dvbTdtSettings → DvbTdtSettings?
-
Inserts DVB Time and Date Table (TDT) at the specified table repetition
interval.
final
- dvbTeletextPid → int?
-
Specify the packet identifier (PID) for DVB teletext data you include in
this output. Default is 499.
final
- ebpAudioInterval → M2tsEbpAudioInterval?
-
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).
final
- ebpPlacement → M2tsEbpPlacement?
-
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).
final
- esRateInPes → M2tsEsRateInPes?
-
Controls whether to include the ES Rate field in the PES header.
final
- forceTsVideoEbpOrder → M2tsForceTsVideoEbpOrder?
-
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).
final
- fragmentTime → double?
-
The length, in seconds, of each fragment. Only used with EBP markers.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maxPcrInterval → int?
-
Specify the maximum time, in milliseconds, between Program Clock References
(PCRs) inserted into the transport stream.
final
- minEbpInterval → int?
-
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.
final
- nielsenId3 → M2tsNielsenId3?
-
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.
final
- nullPacketBitrate → double?
-
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.
final
- patInterval → int?
-
The number of milliseconds between instances of this table in the output
transport stream.
final
- pcrControl → M2tsPcrControl?
-
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.
final
- pcrPid → int?
-
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).
final
- pmtInterval → int?
-
Specify the number of milliseconds between instances of the program map
table (PMT) in the output transport stream.
final
- pmtPid → int?
-
Specify the packet identifier (PID) for the program map table (PMT) itself.
Default is 480.
final
- privateMetadataPid → int?
-
Specify the packet identifier (PID) of the private metadata stream. Default
is 503.
final
- programNumber → int?
-
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.
final
- rateMode → M2tsRateMode?
-
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.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scte35Esam → M2tsScte35Esam?
-
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).
final
- scte35Pid → int?
-
Specify the packet identifier (PID) of the SCTE-35 stream in the transport
stream.
final
- scte35Source → M2tsScte35Source?
-
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).
final
- segmentationMarkers → M2tsSegmentationMarkers?
-
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.
final
- segmentationStyle → M2tsSegmentationStyle?
-
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.
final
- segmentationTime → double?
-
Specify the length, in seconds, of each segment. Required unless markers is
set to none.
final
- timedMetadataPid → int?
-
Specify the packet identifier (PID) for timed metadata in this output.
Default is 502.
final
- transportStreamId → int?
-
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.
final
- videoPid → int?
-
Specify the packet identifier (PID) of the elementary video stream in the
transport stream.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited