Deployed 1d2cb3a with MkDocs version: 1.6.1

This commit is contained in:
2026-10-05 22:44:52 +00:00
parent 3762e45ae4
commit afdd7b8b30
5 changed files with 17 additions and 11 deletions
+1 -1
View File
@@ -3371,7 +3371,7 @@ and keeps the service's numbering unchanged. Pick an order that covers the whole
</tr>
<tr>
<td><code>--all-drm</code></td>
<td>License each track with both Widevine and PlayReady. Needs a CDM for each DRM system. Not for use with <code>--vaults-only</code> or <code>--cdm</code>.</td>
<td>License each track with both Widevine and PlayReady. Needs a CDM for each DRM system. Key Vaults are read first; <code>--cdm-only</code> sends a challenge for each system. Not for use with <code>--cdm</code>.</td>
</tr>
<tr>
<td><code>--export</code></td>
+3 -2
View File
@@ -3996,8 +3996,9 @@ each track only the content keys for its KIDs. The importer also reads the
older unshackle <code>version: 2</code> files and unidl's own export files.</p>
<div class="language-shell highlight"><span class="filename">Export track info and keys</span><pre><span></span><code><span id="__span-44-1"><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a>unshackle<span class="w"> </span>dl<span class="w"> </span>--skip-dl<span class="w"> </span>--export<span class="w"> </span>EXAMPLE<span class="w"> </span><span class="m">81234567</span>
</span></code></pre></div>
<p>Add <code>--all-drm</code> to send a challenge for each DRM system the title offers. The export then
holds the DRM init data of both.</p>
<p>Add <code>--all-drm</code> to get the content keys of each DRM system the title offers. The export then
holds the DRM init data of both. A Key Vault that has a content key stops the challenge for
its KID; add <code>--cdm-only</code> to send a challenge for each DRM system.</p>
<div class="language-shell highlight"><span class="filename">License with Widevine and PlayReady, no download</span><pre><span></span><code><span id="__span-45-1"><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a>unshackle<span class="w"> </span>dl<span class="w"> </span>--skip-dl<span class="w"> </span>--all-drm<span class="w"> </span>--export<span class="w"> </span>EXAMPLE<span class="w"> </span><span class="m">81234567</span>
</span></code></pre></div>
<p>The file name tells what the file holds, in the form
+11 -6
View File
@@ -3036,17 +3036,21 @@ mapping. If it cannot find a matching device, it fails with a clear message such
to configure a device for each system. unshackle selects the right one per track
automatically.</p>
<h3 id="license-both-systems-with-all-drm">License both systems with <code>--all-drm</code><a class="headerlink" href="#license-both-systems-with-all-drm" title="Permanent link">&para;</a></h3>
<p>By default a track licenses with one DRM system. <code>--all-drm</code> sends a challenge for
<p>By default a track licenses with one DRM system. <code>--all-drm</code> gets the content keys for
Widevine and for PlayReady on each track that offers both. Use it with <code>--skip-dl</code> and
<code>--export</code> to keep the content keys and the DRM init data of both systems. The two
systems can return different sets of KIDs, and unshackle keeps the content keys of both.</p>
systems can list different sets of KIDs, and unshackle keeps the content keys of both.</p>
<div class="language-shell highlight"><pre><span></span><code><span id="__span-22-1"><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>unshackle<span class="w"> </span>dl<span class="w"> </span>--skip-dl<span class="w"> </span>--all-drm<span class="w"> </span>--export<span class="w"> </span>EXAMPLE<span class="w"> </span><span class="m">81234567</span>
</span></code></pre></div>
<ul>
<li>The <code>cdm</code> mapping must name a device for each system. A single device name, or <code>--cdm</code>,
stops the run with an error that names the missing system.</li>
<li>Each DRM system sends one challenge for a set of KIDs in a run. A content key in a
Key Vault does not stop the challenge, so <code>--vaults-only</code> is refused.</li>
<li>A Key Vault is read first, as in a run without the flag. A DRM system sends a challenge
only for a KID that no Key Vault and no earlier track of the run gave a content key
for. When the first system returns all the KIDs of the second, the second sends no
challenge.</li>
<li>With <code>--cdm-only</code>, unshackle does not read the Key Vaults, and each DRM system sends one
challenge for a set of KIDs in a run.</li>
<li>A service with a Widevine licence function only gets the PlayReady challenge through that
function. If its licence server refuses the challenge, that DRM system does not license.</li>
<li>If one DRM system does not license, the title fails. With <code>--best-available</code> unshackle
@@ -3054,8 +3058,9 @@ systems can return different sets of KIDs, and unshackle keeps the content keys
unshackle does not send the challenge again for the same KIDs in that run.</li>
<li>A track gets its DRM systems from the manifest. For a DASH track or a direct URL,
unshackle also reads the init segment for a system that the manifest does not carry.</li>
<li>The service gets a challenge from each DRM system for each set of KIDs. A licence server
that limits the request rate can answer <code>429</code>, and unshackle then tries again.</li>
<li>With <code>--cdm-only</code>, the service gets a challenge from each DRM system for each set of
KIDs. A licence server that limits the request rate can answer <code>429</code>, and unshackle then
tries again.</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Where <code>--all-drm</code> licenses one system only</p>