2017-09-06 21:00:18 +00:00
|
|
|
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
|
|
|
|
--------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
2018-05-02 17:55:51 +00:00
|
|
|
$ packager <stream_descriptor> ... \
|
2017-09-06 21:00:18 +00:00
|
|
|
[--dump_stream_info] \
|
|
|
|
[Chunking Options] \
|
|
|
|
[MP4 Output Options] \
|
|
|
|
[encryption / decryption options] \
|
|
|
|
[DASH options] \
|
2018-08-10 23:43:56 +00:00
|
|
|
[HLS options] \
|
|
|
|
[Ads options]
|
2017-09-06 21:00:18 +00:00
|
|
|
|
|
|
|
.. include:: /options/stream_descriptors.rst
|
|
|
|
|
|
|
|
.. include:: /options/chunking_options.rst
|
|
|
|
|
|
|
|
.. include:: /options/mp4_output_options.rst
|
|
|
|
|
2018-07-03 23:52:05 +00:00
|
|
|
.. include:: /options/transport_stream_output_options.rst
|
|
|
|
|
2017-09-06 21:00:18 +00:00
|
|
|
.. include:: /options/dash_options.rst
|
|
|
|
|
|
|
|
.. include:: /options/hls_options.rst
|
|
|
|
|
2018-08-10 23:43:56 +00:00
|
|
|
.. include:: /options/ads_options.rst
|
|
|
|
|
2017-09-06 21:00:18 +00:00
|
|
|
Encryption / decryption options
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
Shaka Packager supports three different types of key providers:
|
|
|
|
|
2017-10-17 23:03:08 +00:00
|
|
|
- Raw key: keys are provided in command line
|
2017-09-06 21:00:18 +00:00
|
|
|
- Widevine: fetches keys from Widevine key server
|
2018-04-20 18:06:36 +00:00
|
|
|
- PlayReady: fetches keys from PlayReady key server
|
2017-09-06 21:00:18 +00:00
|
|
|
|
|
|
|
Different key providers cannot be specified at the same time.
|
|
|
|
|
|
|
|
::
|
|
|
|
|
2018-05-02 17:55:51 +00:00
|
|
|
[--enable_widevine_encryption <Widevine Encryption Options>] \
|
|
|
|
[--enable_widevine_decryption <Widevine Decryption Options>] \
|
|
|
|
[--enable_raw_key_encryption <Raw Key Encryption Options>] \
|
|
|
|
[--enable_raw_key_decryption <Raw Key Decryption Options>] \
|
|
|
|
[--enable_playready_encryption <PlayReady Encryption Options>]
|
2017-09-06 21:00:18 +00:00
|
|
|
|
|
|
|
.. 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
|