mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-12 12:05:07 +00:00
Deployed 9a1abd2 with MkDocs version: 1.6.1
This commit is contained in:
@@ -1928,6 +1928,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#unshackle.core.config.cdm_entry_names_device" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
<code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> cdm_entry_names_device
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2159,6 +2170,17 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#unshackle.core.config.cdm_entry_names_device" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
<code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> cdm_entry_names_device
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2428,6 +2450,27 @@ between variables. Falls back to dot separator (scene-style) by default.</p>
|
||||
<div class="doc doc-object doc-function">
|
||||
|
||||
|
||||
<h2 id="unshackle.core.config.cdm_entry_names_device" class="doc doc-heading">
|
||||
<code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">cdm_entry_names_device</span>
|
||||
|
||||
|
||||
<a href="#unshackle.core.config.cdm_entry_names_device" class="headerlink" title="Permanent link">¶</a></h2>
|
||||
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">cdm_entry_names_device</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">profile</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||||
</span></code></pre></div>
|
||||
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
<p>Whether a per-service <code>cdm</code> entry names a device when no quality is known.</p>
|
||||
<p>An entry that selects only by quality, or by a different profile, names none.</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="doc doc-object doc-function">
|
||||
|
||||
|
||||
<h2 id="unshackle.core.config.get_config_path" class="doc doc-heading">
|
||||
<code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_config_path</span>
|
||||
|
||||
|
||||
+620
-620
File diff suppressed because it is too large
Load Diff
@@ -2138,6 +2138,13 @@ the <a href="../../../guide/drm-and-cdm/">DRM & CDM guide</a>. Device files
|
||||
Resolution is case-insensitive: an override (<code>dl --cdm <name></code>, or the <code>cdm</code> field of an API
|
||||
job) wins, then the per-service entry, then <code>default</code>. An override pins one device for the whole
|
||||
run and skips any quality or Widevine/PlayReady sub-entries.</p>
|
||||
<p>Over <code>--remote</code>, an override also makes your device license the remote session, not the server
|
||||
CDM. A per-service entry does the same when it names a device without a quality: a device name,
|
||||
a <code>widevine</code> or <code>playready</code> sub-entry, or a profile or <code>default</code> sub-entry. A per-service entry
|
||||
that selects only by quality, or only for a different profile, loads no device when the run
|
||||
starts. unshackle then shows a warning, and the server decides who licenses the remote session.
|
||||
With only the top-level <code>default</code> entry, the server CDM licenses when the API key has it. See
|
||||
<a href="../services/#remote_services"><code>remote_services</code></a>.</p>
|
||||
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">cdm</span><span class="p">:</span>
|
||||
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">default</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">chromecdm_l3</span>
|
||||
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">EXAMPLE2</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">android_l1</span>
|
||||
|
||||
@@ -2175,7 +2175,15 @@ optional <code>server_cdm</code> boolean, an optional <code>timeout</code> in se
|
||||
overrides such as <code>title_map</code>.</p>
|
||||
<p>Leave <code>server_cdm</code> unset and the client follows the server: it uses the server CDM for each
|
||||
service the API key has it on, and the local CDM for the others. <code>true</code> asks for the server CDM
|
||||
and falls back to the local CDM when the server refuses; <code>false</code> always uses the local CDM.</p>
|
||||
and falls back to the local CDM when the server refuses; <code>false</code> always uses the local CDM.
|
||||
<code>dl --cdm <name></code> on a remote run has the same effect as <code>false</code> for that run: the device you
|
||||
name licenses the remote session. A <a href="../drm/#cdm"><code>cdm</code></a> entry for the service has the same
|
||||
effect for that service when it names the device that unshackle loaded. Both take priority over
|
||||
<code>server_cdm: true</code>. Remove the entry to use the server CDM for that service. The <code>default</code>
|
||||
entry does not count.</p>
|
||||
<p>The server has the last word. When it keeps the server CDM for a remote session that your
|
||||
device was to license, unshackle shows a warning. This occurs with a server that does not read
|
||||
your choice, and with a service option that runs the remote session on the server's device.</p>
|
||||
<p><code>auth_headers</code> lists extra header names to send the API key in, tried before the defaults
|
||||
<code>X-Secret-Key</code> and <code>X-Api-Key</code>, which unshackle always appends as fallbacks. It sends the
|
||||
first name. If the server answers <code>401</code>, it retries the same request with the next name, and
|
||||
@@ -2333,6 +2341,11 @@ client configured with <code>server_cdm: true</code> to license with its own loc
|
||||
client that asks anyway gets a <code>FORBIDDEN</code> error. Because a download job always licenses with the server's CDM,
|
||||
an API key without <code>server_cdm</code> for that service also cannot submit or retry <code>/api/download</code>
|
||||
jobs. Keys that have no <code>users</code> entry, such as <code>api_secret</code>, keep server CDM access.</p>
|
||||
<p>A remote client that picks its own device licenses the remote session with that device. It picks
|
||||
with <code>dl --cdm</code>, with a <code>cdm</code> entry for the service, or with <code>server_cdm: false</code> in its
|
||||
<code>remote_services</code> entry. The server CDM makes no licence for that remote session, with or without
|
||||
a limit. A service option that runs the remote session on the server's device, such as a
|
||||
server-identity flag, keeps the server CDM.</p>
|
||||
<p><code>server_cdm_max_height</code> limits the live licences the server's device makes for that API key.
|
||||
Set it to a height in pixels for every service, or to a map of service tag to height with an
|
||||
optional <code>default</code> entry. A service the map does not name or sets to <code>null</code> gets the <code>default</code>, and
|
||||
|
||||
Reference in New Issue
Block a user