Experimental MPEG-TS Muxer. Supports 1 program with AAC and H264 in it only for now.
Inputs must be attached before the element enters the playing state. Audio&Video are going to be interleaved by their timing.
Each buffer is going to end in its own PES packet, hence NALu units must be grouped accordingly, as well as ADTS AAC frames.
Use profile: for well-known stream_type+descriptor combinations (e.g. :opus_mpeg_ts).
Custom payloads can be muxed by supplying stream_type: and descriptors:.
Pads
:input
Accepted formats:
_any| Direction: | :input |
| Availability: | :on_request |
| Flow control: | :auto |
Pad options:
stream_typeatom() | nilDefault value:
nil
Each input is going to become a stream in the PMT with this assigned type. See MPEG.TS.PMT.profileatom() | nilDefault value:
nil
Well-known stream profile (e.g. :opus_mpeg_ts, :scte35).pidpos_integer() | nilDefault value:
nil
Allows to specify the PID in which this stream should be muxed.wait_on_buffers?boolean()Default value:
true
Block muxer until a buffer on this pad arrives.descriptorslist()Default value:
[]
List of ES descriptors to add to the PMT for this stream.pcr?boolean()Default value:
false
Mark this stream as the PCR (Program Clock Reference) stream. This sets the stream's PID as pcr_pid in the PMT and embeds PCR values in the adaptation field of packets. Typically used for video streams.
:output
Accepted formats:
Membrane.RemoteStream| Direction: | :output |
| Availability: | :always |
| Flow control: | :auto |
Summary
Types
Options for pad :input