Move command line options to Sphinxdoc
Change-Id: Ia043612012ff3d101afcf3366d95f9001f0dc8f4
This commit is contained in:
parent
a9d957e7f0
commit
0adf0492ab
|
@ -0,0 +1,23 @@
|
||||||
|
Chunking options
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--segment_duration <seconds>
|
||||||
|
|
||||||
|
Segment duration in seconds. If single_segment is specified, this parameter
|
||||||
|
sets the duration of a subsegment; otherwise, this parameter sets the
|
||||||
|
duration of a segment. Actual segment durations may not be exactly as
|
||||||
|
requested.
|
||||||
|
|
||||||
|
--fragment_duration <seconds>
|
||||||
|
|
||||||
|
Fragment duration in seconds. Should not be larger than the segment
|
||||||
|
duration. Actual fragment durations may not be exactly as requested.
|
||||||
|
|
||||||
|
--segment_sap_aligned
|
||||||
|
|
||||||
|
Force segments to begin with stream access points. Default enabled.
|
||||||
|
|
||||||
|
--fragment_sap_aligned
|
||||||
|
|
||||||
|
Force fragments to begin with stream access points. This flag implies
|
||||||
|
*segment_sap_aligned*. Default enabled.
|
|
@ -0,0 +1,45 @@
|
||||||
|
DASH options
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--generate_static_mpd
|
||||||
|
|
||||||
|
If enabled, generates static mpd. If segment_template is specified in
|
||||||
|
stream descriptors, shaka-packager generates dynamic mpd by default; if
|
||||||
|
this flag is enabled, shaka-packager generates static mpd instead. Note
|
||||||
|
that if segment_template is not specified, shaka-packager always generates
|
||||||
|
static mpd regardless of the value of this flag.
|
||||||
|
|
||||||
|
--mpd_output <file_path>
|
||||||
|
|
||||||
|
MPD output file name.
|
||||||
|
|
||||||
|
--base_urls <comma separated url>
|
||||||
|
|
||||||
|
Comma separated BaseURLs for the MPD. The values will be added as <BaseURL>
|
||||||
|
element(s) immediately under the <MPD> element.
|
||||||
|
|
||||||
|
--min_buffer_time <seconds>
|
||||||
|
|
||||||
|
Specifies, in seconds, a common duration used in the definition of the MPD
|
||||||
|
Representation data rate.
|
||||||
|
|
||||||
|
--minimum_update_period <seconds>
|
||||||
|
|
||||||
|
Indicates to the player how often to refresh the media presentation
|
||||||
|
description in seconds. This value is used for dynamic MPD only.
|
||||||
|
|
||||||
|
--time_shift_buffer_depth <seconds>
|
||||||
|
|
||||||
|
Guaranteed duration of the time shifting buffer for dynamic media
|
||||||
|
presentations, in seconds.
|
||||||
|
|
||||||
|
--suggested_presentation_delay <seconds>
|
||||||
|
|
||||||
|
Specifies a delay, in seconds, to be added to the media presentation time.
|
||||||
|
This value is used for dynamic MPD only.
|
||||||
|
|
||||||
|
--default_language <language>
|
||||||
|
|
||||||
|
Any tracks tagged with this language will have <Role ... value=\"main\" />
|
||||||
|
in the manifest. This allows the player to choose the correct default
|
||||||
|
language for the content.
|
|
@ -0,0 +1,15 @@
|
||||||
|
General encryption options
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--protection_scheme <scheme>
|
||||||
|
|
||||||
|
Specify a protection scheme, 'cenc' or 'cbc1' or pattern-based protection
|
||||||
|
schemes 'cens' or 'cbcs'.
|
||||||
|
|
||||||
|
--vp9_subsample_encryption, --novp9_subsample_encryption
|
||||||
|
|
||||||
|
Enable / disable VP9 subsample encryption. Enabled by default.
|
||||||
|
|
||||||
|
--clear_lead <seconds>
|
||||||
|
|
||||||
|
Clear lead in seconds if encryption is enabled.
|
|
@ -0,0 +1,18 @@
|
||||||
|
HLS options
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
--hls_master_playlist_output <file_path>
|
||||||
|
|
||||||
|
Output path for the master playlist for HLS. This flag must be used to
|
||||||
|
output HLS.
|
||||||
|
|
||||||
|
--hls_base_url <url>
|
||||||
|
|
||||||
|
The base URL for the Media Playlists and media files listed in the
|
||||||
|
playlists. This is the prefix for the files.
|
||||||
|
|
||||||
|
--hls_playlist_type <type>
|
||||||
|
|
||||||
|
VOD, EVENT, or LIVE. This defines the EXT-X-PLAYLIST-TYPE in the HLS
|
||||||
|
specification. For hls_playlist_type of LIVE, EXT-X-PLAYLIST-TYPE tag is
|
||||||
|
omitted.
|
|
@ -0,0 +1,18 @@
|
||||||
|
HLS specific stream descriptor fields
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
:hls_name:
|
||||||
|
|
||||||
|
Required for audio when outputting HLS. name of the output stream. This is
|
||||||
|
not (necessarily) the same as output. This is used as the NAME attribute for
|
||||||
|
EXT-X-MEDIA.
|
||||||
|
|
||||||
|
:hls_group_id:
|
||||||
|
|
||||||
|
Required for audio when outputting HLS. The group ID for the output stream.
|
||||||
|
This is used as the GROUP-ID attribute for EXT-X-MEDIA.
|
||||||
|
|
||||||
|
:playlist_name:
|
||||||
|
|
||||||
|
Required for HLS output. Name of the playlist for the stream. Usually ends
|
||||||
|
with '.m3u8'.
|
|
@ -0,0 +1,20 @@
|
||||||
|
MP4 output options
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--mp4_include_pssh_in_stream
|
||||||
|
|
||||||
|
MP4 only: include pssh in the encrypted stream. Default enabled.
|
||||||
|
|
||||||
|
--mp4_use_decoding_timestamp_in_timeline
|
||||||
|
|
||||||
|
If set, decoding timestamp instead of presentation timestamp will be used
|
||||||
|
when generating media timeline, e.g. timestamps in sidx and mpd. This is
|
||||||
|
to workaround a Chromium bug that decoding timestamp is used in buffered
|
||||||
|
range, https://crbug.com/398130. Default false.
|
||||||
|
|
||||||
|
--num_subsegments_per_sidx <number>
|
||||||
|
|
||||||
|
Set the number of subsegments in each SIDX box. If 0, a single SIDX box is
|
||||||
|
used per segment; if -1, no SIDX box is used; Otherwise, the muxer packs N
|
||||||
|
subsegments in the root SIDX of the segment, with
|
||||||
|
segment_duration/N/fragment_duration fragments per subsegment.
|
|
@ -0,0 +1,39 @@
|
||||||
|
Playready encryption options
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--enable_playready_encryption
|
||||||
|
|
||||||
|
Enable encryption with playready key.
|
||||||
|
|
||||||
|
--playready_server_url <url>
|
||||||
|
|
||||||
|
Playready packaging server url.
|
||||||
|
|
||||||
|
--program_identifier <program_identifier>
|
||||||
|
|
||||||
|
Program identifier for packaging request.
|
||||||
|
|
||||||
|
--playready_key_id <hex>
|
||||||
|
|
||||||
|
Playready key id in hex.
|
||||||
|
|
||||||
|
--playready_key <hex>
|
||||||
|
|
||||||
|
Playready key in hex.
|
||||||
|
|
||||||
|
--ca_file <file path>
|
||||||
|
|
||||||
|
Absolute path to the certificate authority file for the server cert.
|
||||||
|
PEM format.
|
||||||
|
|
||||||
|
--client_cert_file <file path>
|
||||||
|
|
||||||
|
Absolute path to client certificate file.
|
||||||
|
|
||||||
|
--client_cert_private_key_file <file path>
|
||||||
|
|
||||||
|
Absolute path to the private key file.
|
||||||
|
|
||||||
|
--client_cert_private_key_password <string>
|
||||||
|
|
||||||
|
Password to the private key file.
|
|
@ -0,0 +1,30 @@
|
||||||
|
Raw key encryption options
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--enable_fixed_key_encryption
|
||||||
|
|
||||||
|
Enable encryption with fixed key.
|
||||||
|
|
||||||
|
--enable_fixed_key_decryption
|
||||||
|
|
||||||
|
Enable decryption with fixed key.
|
||||||
|
|
||||||
|
--key_id <32-digit hex string>
|
||||||
|
|
||||||
|
The key id in hex string format.
|
||||||
|
HEX.
|
||||||
|
|
||||||
|
--key <32-digit hex string>
|
||||||
|
|
||||||
|
The key in hex string format.
|
||||||
|
|
||||||
|
--iv <16-digit or 32-digit hex string>
|
||||||
|
|
||||||
|
IV in hex string format. If not specified, a random IV will be generated.
|
||||||
|
This flag should only be used for testing. IV must be either 8 bytes
|
||||||
|
(16 digits HEX) or 16 bytes (32 digits in HEX).
|
||||||
|
|
||||||
|
--pssh <hex string>
|
||||||
|
|
||||||
|
One or more concatenated PSSH boxes in hex string format. If not specified,
|
||||||
|
a `v1 common PSSH box <https://goo.gl/s8RIhr>`_ will be generated.
|
|
@ -0,0 +1,51 @@
|
||||||
|
Segment template formatting
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The implementation is based on *Template-based Segment URL construction*
|
||||||
|
described in ISO/IEC 23009-1:2014.
|
||||||
|
|
||||||
|
.. table:: Supported identifiers
|
||||||
|
|
||||||
|
============== ============================== ==============================
|
||||||
|
$<Identifier>$ Substitution parameter Format
|
||||||
|
============== ============================== ==============================
|
||||||
|
$$ is an escape sequence, i.e. Not applicable.
|
||||||
|
"$$" is replaced with a single
|
||||||
|
"$".
|
||||||
|
$Number$ This identifier is substitued The format tag may be present.
|
||||||
|
with the *number* of the
|
||||||
|
corresponding Segment. If no format tag is present, a
|
||||||
|
default format tag with
|
||||||
|
*width*\=1 shall be used.
|
||||||
|
$Time$ This identifier is substituted The format tag may be present.
|
||||||
|
with the value of the
|
||||||
|
**SegmentTimeline@t** If no format tag is present, a
|
||||||
|
attribute for the Segment default format tag with
|
||||||
|
being accessed. Either *width*\=1 shall be used.
|
||||||
|
$Number$ or $Time$ may be used
|
||||||
|
but not both at the same time.
|
||||||
|
============== ============================== ==============================
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Identifiers $RepresentationID$ and $Bandwidth$ are not supported in this
|
||||||
|
version. Please file an `issue
|
||||||
|
<https://github.com/google/shaka-packager/issues>`_ if you want it to be
|
||||||
|
supported.
|
||||||
|
|
||||||
|
In each URL, the identifiers shall be replaced by the substitution parameter
|
||||||
|
per the definition in the above table. Identifier matching is case-sensitive.
|
||||||
|
|
||||||
|
Each identifier may be suffixed, within the enclosing '$' characters, with an
|
||||||
|
additional format tag aligned with the *printf* format tag as defined in IEEE
|
||||||
|
1003.1-2008 following this prototype::
|
||||||
|
|
||||||
|
%0[width]d
|
||||||
|
|
||||||
|
The *width* parameter is an unsigned integer that provides the minimum number
|
||||||
|
of characters to be printed. If the value to be printed is shorter than this
|
||||||
|
number, the result shall be padded with zeros. The value is not truncated even
|
||||||
|
if the result is larger.
|
||||||
|
|
||||||
|
Strings outside identifiers shall only contain characters that are permitted
|
||||||
|
within URLs according to RFC 3986.
|
|
@ -0,0 +1,71 @@
|
||||||
|
Stream descriptors
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
There can be multiple *stream_descriptor* with input from the same "file" or
|
||||||
|
multiple different "files".
|
||||||
|
|
||||||
|
Stream is of the form::
|
||||||
|
|
||||||
|
{field}={value}[,{field}={value}]...
|
||||||
|
|
||||||
|
These are the available fields:
|
||||||
|
|
||||||
|
:input (in):
|
||||||
|
|
||||||
|
input/source media "file" path, which can be regular files, pipes, udp
|
||||||
|
streams. See :doc:`/options/udp_file_options` on additional options for UDP
|
||||||
|
files.
|
||||||
|
|
||||||
|
:stream_selector (stream):
|
||||||
|
|
||||||
|
Required field with value 'audio', 'video', 'text' or stream number (zero
|
||||||
|
based).
|
||||||
|
|
||||||
|
:output (out):
|
||||||
|
|
||||||
|
Required output file path (single file).
|
||||||
|
|
||||||
|
:init_segment:
|
||||||
|
|
||||||
|
initialization segment path (multiple file).
|
||||||
|
|
||||||
|
:segment_template (segment):
|
||||||
|
|
||||||
|
Optional value which specifies the naming pattern for the segment files,
|
||||||
|
and that the stream should be split into multiple files. Its presence should
|
||||||
|
be consistent across streams. See
|
||||||
|
:doc:`/options/segment_template_formatting`.
|
||||||
|
|
||||||
|
:bandwidth (bw):
|
||||||
|
|
||||||
|
Optional value which contains a user-specified content bit rate for the
|
||||||
|
stream, in bits/sec. If specified, this value is propagated to (HLS)
|
||||||
|
EXT-X-STREAM-INF:BANDWIDTH or (DASH) Representation@bandwidth and the
|
||||||
|
$Bandwidth$ template parameter for segment names. If not specified, the
|
||||||
|
bandwidth value is estimated from content bitrate. Note that it only affects
|
||||||
|
the generated manifests/playlists; it has no effect on the media content
|
||||||
|
itself.
|
||||||
|
|
||||||
|
:language (lang):
|
||||||
|
|
||||||
|
Optional value which contains a user-specified language tag. If specified,
|
||||||
|
this value overrides any language metadata in the input stream.
|
||||||
|
|
||||||
|
:output_format (format):
|
||||||
|
|
||||||
|
Optional value which specifies the format of the output files (MP4 or WebM).
|
||||||
|
If not specified, it will be derived from the file extension of the output
|
||||||
|
file.
|
||||||
|
|
||||||
|
:skip_encryption=0|1:
|
||||||
|
|
||||||
|
Optional. Defaults to 0 if not specified. If it is set to 1, no encryption
|
||||||
|
of the stream will be made.
|
||||||
|
|
||||||
|
:trick_play_factor (tpf):
|
||||||
|
|
||||||
|
Optional value which specifies the trick play, a.k.a. trick mode, stream
|
||||||
|
sampling rate among key frames. If specified, the output is a trick play
|
||||||
|
stream.
|
||||||
|
|
||||||
|
.. include:: /options/hls_stream_descriptors.rst
|
|
@ -0,0 +1,18 @@
|
||||||
|
UDP file options
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
UDP file is of the form udp://ip:port[?options]. Here is the list of supported
|
||||||
|
options:
|
||||||
|
|
||||||
|
:reuse=0|1:
|
||||||
|
|
||||||
|
Allow or disallow reusing UDP sockets.
|
||||||
|
|
||||||
|
:interface=<addr>, source=<addr>:
|
||||||
|
|
||||||
|
Multicast group interface address. Only the packets sent to this address is
|
||||||
|
received.
|
||||||
|
|
||||||
|
:timeout=<microseconds>:
|
||||||
|
|
||||||
|
UDP timeout in microseconds.
|
|
@ -0,0 +1,75 @@
|
||||||
|
Widevine encryption options
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
--enable_widevine_encryption
|
||||||
|
|
||||||
|
Enable encryption with Widevine key server. User should provide either
|
||||||
|
AES signing key (--aes_signing_key, --aes_signing_iv) or RSA signing key
|
||||||
|
(--rsa_signing_key_path).
|
||||||
|
|
||||||
|
--enable_widevine_decryption
|
||||||
|
|
||||||
|
Enable decryption with Widevine key server. User should provide either
|
||||||
|
AES signing key (--aes_signing_key, --aes_signing_iv) or RSA signing key
|
||||||
|
(--rsa_signing_key_path).
|
||||||
|
|
||||||
|
--include_common_pssh
|
||||||
|
|
||||||
|
When using Widevine encryption, include an additional v1 PSSH box for the
|
||||||
|
common system ID that includes the key IDs. See https://goo.gl/s8RIhr.
|
||||||
|
|
||||||
|
--key_server_url <url>
|
||||||
|
|
||||||
|
Key server url. Required for Widevine encryption and decryption.
|
||||||
|
|
||||||
|
--content_id <hex>
|
||||||
|
|
||||||
|
Content identifier that uniquely identifies the content.
|
||||||
|
|
||||||
|
--policy <policy>
|
||||||
|
|
||||||
|
The name of a stored policy, which specifies DRM content rights.
|
||||||
|
|
||||||
|
--max_sd_pixels <pixels>
|
||||||
|
|
||||||
|
The video track is considered SD if its max pixels per frame is no higher
|
||||||
|
than *max_sd_pixels*. Default: 442368 (768 x 576).
|
||||||
|
|
||||||
|
--max_hd_pixels <pixels>
|
||||||
|
|
||||||
|
The video track is considered HD if its max pixels per frame is higher than
|
||||||
|
*max_sd_pixels*, but no higher than *max_hd_pixels*. Default: 2073600
|
||||||
|
(1920 x 1080).
|
||||||
|
|
||||||
|
--max_uhd1_pixels <pixels>
|
||||||
|
|
||||||
|
The video track is considered UHD1 if its max pixels per frame is higher
|
||||||
|
than *max_hd_pixels*, but no higher than *max_uhd1_pixels*. Otherwise it is
|
||||||
|
UHD2. Default: 8847360 (4096 x 2160).
|
||||||
|
|
||||||
|
--signer <signer>
|
||||||
|
|
||||||
|
The name of the signer.
|
||||||
|
|
||||||
|
--aes_signing_key <hex>
|
||||||
|
|
||||||
|
AES signing key in hex string. *aes_signing_iv* is required if
|
||||||
|
*aes_signing_key* is specified. This option is exclusive with
|
||||||
|
*rsa_signing_key_path*.
|
||||||
|
|
||||||
|
--aes_signing_iv <hex>
|
||||||
|
|
||||||
|
AES signing iv in hex string.
|
||||||
|
|
||||||
|
--rsa_signing_key_path <file path>
|
||||||
|
|
||||||
|
Path to the file containing PKCS#1 RSA private key for request signing.
|
||||||
|
This option is exclusive with *aes_signing_key*.
|
||||||
|
|
||||||
|
--crypto_period_duration <seconds>
|
||||||
|
|
||||||
|
Defines how often key rotates. If it is non-zero, key rotation is enabled.
|
||||||
|
|
||||||
|
--group_id <hex>
|
||||||
|
|
||||||
|
Identifier for a group of licenses.
|
Loading…
Reference in New Issue