Commit 396be0da authored by Lou Logan's avatar Lou Logan

doc/muxers: cleanup mpegts section

Add missing options.
List correct variable types.
Re-order options and markup flag options properly.
Add more texinfo markup.
Signed-off-by: 's avatarLou Logan <lou@lrcd.com>
parent b573e3f4
...@@ -1091,69 +1091,35 @@ This muxer implements ISO 13818-1 and part of ETSI EN 300 468. ...@@ -1091,69 +1091,35 @@ This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
The recognized metadata settings in mpegts muxer are @code{service_provider} The recognized metadata settings in mpegts muxer are @code{service_provider}
and @code{service_name}. If they are not set the default for and @code{service_name}. If they are not set the default for
@code{service_provider} is "FFmpeg" and the default for @code{service_provider} is @samp{FFmpeg} and the default for
@code{service_name} is "Service01". @code{service_name} is @samp{Service01}.
@subsection Options @subsection Options
The muxer options are: The muxer options are:
@table @option @table @option
@item mpegts_original_network_id @var{number} @item mpegts_transport_stream_id @var{integer}
Set the original_network_id (default 0x0001). This is unique identifier Set the @samp{transport_stream_id}. This identifies a transponder in DVB.
of a network in DVB. Its main use is in the unique identification of a Default is @code{0x0001}.
service through the path Original_Network_ID, Transport_Stream_ID.
@item mpegts_transport_stream_id @var{number} @item mpegts_original_network_id @var{integer}
Set the transport_stream_id (default 0x0001). This identifies a Set the @samp{original_network_id}. This is unique identifier of a
transponder in DVB. network in DVB. Its main use is in the unique identification of a service
@item mpegts_service_id @var{number} through the path @samp{Original_Network_ID, Transport_Stream_ID}. Default
Set the service_id (default 0x0001) also known as program in DVB. is @code{0x0001}.
@item mpegts_service_type @var{number}
Set the program service_type (default @var{digital_tv}), see below @item mpegts_service_id @var{integer}
a list of pre defined values. Set the @samp{service_id}, also known as program in DVB. Default is
@item mpegts_pmt_start_pid @var{number} @code{0x0001}.
Set the first PID for PMT (default 0x1000, max 0x1f00).
@item mpegts_start_pid @var{number} @item mpegts_service_type @var{integer}
Set the first PID for data packets (default 0x0100, max 0x0f00). Set the program @samp{service_type}. Default is @code{digital_tv}.
@item mpegts_m2ts_mode @var{number} Accepts the following options:
Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode. @table @samp
@item muxrate @var{number}
Set a constant muxrate (default VBR).
@item pcr_period @var{numer}
Override the default PCR retransmission time (default 20ms), ignored
if variable muxrate is selected.
@item pat_period @var{number}
Maximal time in seconds between PAT/PMT tables.
@item sdt_period @var{number}
Maximal time in seconds between SDT tables.
@item pes_payload_size @var{number}
Set minimum PES packet payload in bytes.
@item mpegts_flags @var{flags}
Set flags (see below).
@item mpegts_copyts @var{number}
Preserve original timestamps, if value is set to 1. Default value is -1, which
results in shifting timestamps so that they start from 0.
@item tables_version @var{number}
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:
@example
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
...
@end example
@end table
Option @option{mpegts_service_type} accepts the following values:
@table @option
@item hex_value @item hex_value
Any hexdecimal value between 0x01 to 0xff as defined in ETSI 300 468. Any hexdecimal value between @code{0x01} to @code{0xff} as defined in
ETSI 300 468.
@item digital_tv @item digital_tv
Digital TV service. Digital TV service.
@item digital_radio @item digital_radio
...@@ -1170,9 +1136,26 @@ Advanced Codec Digital SDTV service. ...@@ -1170,9 +1136,26 @@ Advanced Codec Digital SDTV service.
Advanced Codec Digital HDTV service. Advanced Codec Digital HDTV service.
@end table @end table
Option @option{mpegts_flags} may take a set of such flags: @item mpegts_pmt_start_pid @var{integer}
Set the first PID for PMT. Default is @code{0x1000}. Max is @code{0x1f00}.
@table @option @item mpegts_start_pid @var{integer}
Set the first PID for data packets. Default is @code{0x0100}. Max is
@code{0x0f00}.
@item mpegts_m2ts_mode @var{boolean}
Enable m2ts mode if set to @code{1}. Default value is @code{-1} which
disables m2ts mode.
@item muxrate @var{integer}
Set a constant muxrate. Default is VBR.
@item pes_payload_size @var{integer}
Set minimum PES packet payload in bytes. Default is @code{2930}.
@item mpegts_flags @var{flags}
Set mpegts flags. Accepts the following options:
@table @samp
@item resend_headers @item resend_headers
Reemit PAT/PMT before writing the next packet. Reemit PAT/PMT before writing the next packet.
@item latm @item latm
...@@ -1185,6 +1168,45 @@ Conform to System B (DVB) instead of System A (ATSC). ...@@ -1185,6 +1168,45 @@ Conform to System B (DVB) instead of System A (ATSC).
Mark the initial packet of each stream as discontinuity. Mark the initial packet of each stream as discontinuity.
@end table @end table
@item resend_headers @var{integer}
Reemit PAT/PMT before writing the next packet. This option is deprecated:
use @option{mpegts_flags} instead.
@item mpegts_copyts @var{boolean}
Preserve original timestamps, if value is set to @code{1}. Default value
is @code{-1}, which results in shifting timestamps so that they start from 0.
@item omit_video_pes_length @var{boolean}
Omit the PES packet length for video packets. Default is @code{1} (true).
@item pcr_period @var{integer}
Override the default PCR retransmission time in milliseconds. Ignored if
variable muxrate is selected. Default is @code{20}.
@item pat_period @var{double}
Maximum time in seconds between PAT/PMT tables.
@item sdt_period @var{double}
Maximum time in seconds between SDT tables.
@item tables_version @var{integer}
Set PAT, PMT and SDT version (default @code{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 @code{AVFormatContext} (in case of API
usage) or restart @command{ffmpeg} instance, cyclically changing
@option{tables_version} value:
@example
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
...
@end example
@end table
@subsection Example @subsection Example
@example @example
...@@ -1196,7 +1218,7 @@ ffmpeg -i file.mpg -c copy \ ...@@ -1196,7 +1218,7 @@ ffmpeg -i file.mpg -c copy \
-mpegts_start_pid 0x150 \ -mpegts_start_pid 0x150 \
-metadata service_provider="Some provider" \ -metadata service_provider="Some provider" \
-metadata service_name="Some Channel" \ -metadata service_name="Some Channel" \
-y out.ts out.ts
@end example @end example
@section mxf, mxf_d10 @section mxf, mxf_d10
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment