diff --git a/docs/source/options/hls_options.rst b/docs/source/options/hls_options.rst index 39293558b45..6a82b8d355c 100644 --- a/docs/source/options/hls_options.rst +++ b/docs/source/options/hls_options.rst @@ -13,8 +13,9 @@ HLS options --hls_key_uri - The key uri for 'identity' and 'com.apple.streamingkeydelivery' key formats. - Ignored if the playlist is not encrypted or not using the above key formats. + The key uri for 'identity' and 'com.apple.streamingkeydelivery' (FairPlay) + key formats. Ignored if the playlist is not encrypted or not using the above + key formats. --hls_playlist_type diff --git a/docs/source/options/playready_encryption_options.rst b/docs/source/options/playready_encryption_options.rst index 5917d84de04..f28f8b6087b 100644 --- a/docs/source/options/playready_encryption_options.rst +++ b/docs/source/options/playready_encryption_options.rst @@ -18,16 +18,18 @@ PlayReady encryption options --ca_file Absolute path to the certificate authority file for the server cert. - PEM format. + PEM format. Optional, depends on server configuration. --client_cert_file - Absolute path to client certificate file. + Absolute path to client certificate file. Optional, depends on server + configuration. --client_cert_private_key_file - Absolute path to the private key file. + Absolute path to the private key file. Optional, depends on server + configuration. --client_cert_private_key_password - Password to the private key file. + Password to the private key file. Optional, depends on server configuration. diff --git a/docs/source/tutorials/drm.rst b/docs/source/tutorials/drm.rst index c3b2d971b40..479da117eda 100644 --- a/docs/source/tutorials/drm.rst +++ b/docs/source/tutorials/drm.rst @@ -1,9 +1,22 @@ DRM === +Shaka Packager supports fetching encryption keys from Widevine Key Server and +PlayReady Key Server. In addition, Shaka Packager also supports Raw Keys, for +which keys and key_ids are provided to Shaka Packager directly. + .. toctree:: :maxdepth: 2 /tutorials/raw_key.rst /tutorials/widevine.rst /tutorials/playready.rst + +Regardless of which key server you are using, you can instruct Shaka Packager to +generate other protection systems in additional to the native protection system +from the key server. This allows generating multi-DRM contents easily. + +.. include:: /options/drm_stream_descriptors.rst +.. include:: /options/general_encryption_options.rst +.. include:: /options/widevine_encryption_options.rst +.. include:: /options/raw_key_encryption_options.rst diff --git a/docs/source/tutorials/playready.rst b/docs/source/tutorials/playready.rst index ad545db1cd1..815071a31ee 100644 --- a/docs/source/tutorials/playready.rst +++ b/docs/source/tutorials/playready.rst @@ -1,4 +1,29 @@ -PlayReady -========= +Using PlayReady Key Server +========================== -To be completed. +Shaka Packager can talk to PlayReady Key Server that implements +`AcquirePackagingData Web Method specification `_ to +fetch encryption keys. + +Refer to :doc:`/tutorials/drm` if you are interested in generating multi-DRM +contents. + +Synopsis +-------- + + $ packager ... \ + --enable_playready_encryption \ + --playready_server_url \ + --program_identifier \ + --client_cert_file \ + --client_cert_private_key_file \ + --client_cert_private_key_password \ + --ca_file \ + [Other options, e.g. DASH options, HLS options] + +The --client_cert_xx and --ca_file parameters can be omitted if not required by +the key server. + +.. include:: /options/drm_stream_descriptors.rst +.. include:: /options/general_encryption_options.rst +.. include:: /options/playready_encryption_options.rst diff --git a/docs/source/tutorials/raw_key.rst b/docs/source/tutorials/raw_key.rst index 0ec8489ed83..f78ec425921 100644 --- a/docs/source/tutorials/raw_key.rst +++ b/docs/source/tutorials/raw_key.rst @@ -1,7 +1,11 @@ -Raw key -======= +Using Raw Key +============= -*Packager* allows encrypting contents with raw key. +Shaka Packager supports raw keys, for which keys and key_ids are provided to +Shaka Packager directly. + +This is often used if you are managing the encryption keys yourself. It also +allows you to support multi-DRM by providing custom PSSHs. Synopsis -------- @@ -18,28 +22,30 @@ Synopsis label=