81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
|
Packager Documentation
|
||
|
======================
|
||
|
|
||
|
Shaka Packager is a tool and a media packaging SDK for DASH and HLS packaging
|
||
|
and encryption. It can transmux input media files from one container to another
|
||
|
container.
|
||
|
|
||
|
.. note::
|
||
|
|
||
|
Shaka Packager does not do transcoding. Content must be pre-encoded before
|
||
|
passing to packager.
|
||
|
|
||
|
Packager operates in *streams*, described by *stream_descriptor*. The streams
|
||
|
can be read from the same "file" or different "files", which can be regular
|
||
|
files, pipes, udp streams, etc.
|
||
|
|
||
|
This page is the documentation on using the *packager* tool. If you are
|
||
|
interested in integrating *packager* library into your own tool, please see
|
||
|
:doc:`library`.
|
||
|
|
||
|
Getting Shaka Packager
|
||
|
----------------------
|
||
|
|
||
|
There are several ways you can get Shaka Packager.
|
||
|
|
||
|
- Using `Docker <https://www.docker.com/whatisdocker>`_.
|
||
|
Instructions are available at :doc:`docker_instructions`.
|
||
|
- Get prebuilt binaries from
|
||
|
`release <https://github.com/google/shaka-packager/releases>`_.
|
||
|
- Built from source, see :doc:`build_instructions` for details.
|
||
|
|
||
|
Synopsis
|
||
|
--------
|
||
|
|
||
|
::
|
||
|
|
||
|
$ packager {stream_descriptor} [{stream_descriptor}] ... \
|
||
|
[--dump_stream_info] \
|
||
|
[Chunking Options] \
|
||
|
[MP4 Output Options] \
|
||
|
[encryption / decryption options] \
|
||
|
[DASH options] \
|
||
|
[HLS options]
|
||
|
|
||
|
.. include:: /options/stream_descriptors.rst
|
||
|
|
||
|
.. include:: /options/chunking_options.rst
|
||
|
|
||
|
.. include:: /options/mp4_output_options.rst
|
||
|
|
||
|
.. include:: /options/dash_options.rst
|
||
|
|
||
|
.. include:: /options/hls_options.rst
|
||
|
|
||
|
Encryption / decryption options
|
||
|
-------------------------------
|
||
|
|
||
|
Shaka Packager supports three different types of key providers:
|
||
|
|
||
|
- Raw key (fixed key): keys are provided in command line
|
||
|
- Widevine: fetches keys from Widevine key server
|
||
|
- Playready: fetches keys from Playready key server
|
||
|
|
||
|
Different key providers cannot be specified at the same time.
|
||
|
|
||
|
::
|
||
|
|
||
|
[--enable_widevine_encryption {Widevine Encryption Options}] \
|
||
|
[--enable_widevine_decryption {Widevine Decryption Options}] \
|
||
|
[--enable_fixed_key_encryption {Fixed Key Encryption Options}] \
|
||
|
[--enable_fixed_key_decryption {Fixed Key Decryption Options}] \
|
||
|
[--enable_playready_encryption {Playready Encryption Options}]
|
||
|
|
||
|
.. include:: /options/general_encryption_options.rst
|
||
|
|
||
|
.. include:: /options/raw_key_encryption_options.rst
|
||
|
|
||
|
.. include:: /options/widevine_encryption_options.rst
|
||
|
|
||
|
.. include:: /options/playready_encryption_options.rst
|