Options

The muxer options are:

'mpegts_transport_stream_id integer'

Set the 'transport_stream_id'. This identifies a transponder in DVB. Default is 0x0001.

'mpegts_original_network_id integer'

Set the 'original_network_id'. This is unique identifier of a network in DVB. Its main use is in the unique identification of a service through the path 'Original_Network_ID, Transport_Stream_ID'. Default is 0x0001.

'mpegts_service_id integer'

Set the 'service_id', also known as program in DVB. Default is 0x0001.

'mpegts_service_type integer'

Set the program 'service_type'. Default is digital_tv. Accepts the following options:

'hex_value'

Any hexadecimal value between 0x01 and 0xff as defined in ETSI 300 468.

'digital_tv'

Digital TV service.

'digital_radio'

Digital Radio service.

'teletext'

Teletext service.

'advanced_codec_digital_radio'

Advanced Codec Digital Radio service.

'mpeg2_digital_hdtv'

MPEG2 Digital HDTV service.

'advanced_codec_digital_sdtv'

Advanced Codec Digital SDTV service.

'advanced_codec_digital_hdtv'

Advanced Codec Digital HDTV service.

'mpegts_pmt_start_pid integer'

Set the first PID for PMT. Default is 0x1000. Max is 0x1f00.

'mpegts_start_pid integer'

Set the first PID for data packets. Default is 0x0100. Max is 0x0f00.

'mpegts_m2ts_mode boolean'

Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode.

'muxrate integer'

Set a constant muxrate. Default is VBR.

'pes_payload_size integer'

Set minimum PES packet payload in bytes. Default is 2930.

'mpegts_flags flags'

Set mpegts flags. Accepts the following options:

'resend_headers'

Reemit PAT/PMT before writing the next packet.

'latm'

Use LATM packetization for AAC.

'pat_pmt_at_frames'

Reemit PAT and PMT at each video frame.

'system_b'

Conform to System B (DVB) instead of System A (ATSC).

'initial_discontinuity'

Mark the initial packet of each stream as discontinuity.

'resend_headers integer'

Reemit PAT/PMT before writing the next packet. This option is deprecated: use 'mpegts_flags' instead.

'mpegts_copyts boolean'

Preserve original timestamps, if value is set to 1. Default value is -1, which results in shifting timestamps so that they start from 0.

'omit_video_pes_length boolean'

Omit the PES packet length for video packets. Default is 1 (true).

'pcr_period integer'

Override the default PCR retransmission time in milliseconds. Ignored if variable muxrate is selected. Default is 20.

'pat_period double'

Maximum time in seconds between PAT/PMT tables.

'sdt_period double'

Maximum time in seconds between SDT tables.

'tables_version integer'

Set PAT, PMT and SDT version (default 0, valid values are from 0 to 31, inclusively). This option allows updating stream structure so that standard consumer may detect the change. To do so, reopen output AVFormatContext (in case of API usage) or restart ffmpeg instance, cyclically changing 'tables_version' value:

ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...