Přehled šablon licencí Media Services v3 s widevine
Azure Media Services umožňuje šifrovat obsah pomocí Google Widevine. Služba Media Services také poskytuje službu pro doručování licencí Widevine. Ke konfiguraci licencí Widevine můžete použít rozhraní API služby Azure Media Services. Když se hráč pokusí přehrát obsah chráněný technologií Widevine, odešle se službě doručování licencí žádost o získání licence. Pokud licenční služba žádost schválí, vydá licenci. Odesílá se klientovi a používá se k dešifrování a přehrání zadaného obsahu.
Poznámka
Widevine není v oblasti GovCloud k dispozici.
Žádost o licenci Widevine je naformátovaná jako zpráva JSON.
{
"payload":"<license challenge>",
"content_id": "<content id>"
"provider": "<provider>"
"allowed_track_types":"<types>",
"content_key_specs":[
{
"track_type":"<track type 1>"
},
{
"track_type":"<track type 2>"
},
…
],
"policy_overrides":{
"can_play":<can play>,
"can persist":<can persist>,
"can_renew":<can renew>,
"rental_duration_seconds":<rental duration>,
"playback_duration_seconds":<playback duration>,
"license_duration_seconds":<license duration>,
"renewal_recovery_duration_seconds":<renewal recovery duration>,
"renewal_server_url":"<renewal server url>",
"renewal_delay_seconds":<renewal delay>,
"renewal_retry_interval_seconds":<renewal retry interval>,
"renew_with_usage":<renew with usage>
}
}
Poznámka
Můžete vytvořit prázdnou zprávu bez hodnot, pouze "{}." Potom se vytvoří šablona licence s výchozími nastaveními. Výchozí nastavení funguje ve většině případů. Scénáře doručování licencí microsoftem by měly vždy používat výchozí hodnoty. Pokud potřebujete nastavit hodnoty "provider" a "content_id", musí poskytovatel odpovídat přihlašovacím údajům Widevine.
Zpráva JSON
Name | Hodnota | Popis |
---|---|---|
payload | Řetězec kódovaný jako Base64 | Žádost o licenci odeslaná klientem. |
content_id | Řetězec kódovaný jako Base64 | Identifikátor použitý k odvození ID klíče a klíče obsahu pro každý content_key_specs.track_type. |
Zprostředkovatel | řetězec | Používá se k vyhledání klíčů obsahu a zásad. Pokud se pro doručování licencí Widevine používá doručování klíčů Microsoft, tento parametr se ignoruje. |
policy_name | řetězec | Název dříve zaregistrované zásady. Nepovinný parametr. |
allowed_track_types | enum | SD_ONLY nebo SD_HD. Určuje, které klíče obsahu jsou součástí licence. |
content_key_specs | Pole struktur JSON, viz část Specifikace klíče obsahu. | Jemně odstupňovaná kontrola, které klíče obsahu se mají vrátit. Další informace najdete v části Specifikace klíče obsahu. Lze zadat pouze jednu z hodnot allowed_track_types a content_key_specs. |
use_policy_overrides_exclusively | Logická hodnota, pravda nebo nepravda | Použijte atributy zásad určené policy_overrides a vyněžte všechny dříve uložené zásady. |
policy_overrides | Struktura JSON, viz část Přepsání zásad. | Nastavení zásad pro tuto licenci. Pokud má tento prostředek předdefinované zásady, použijí se tyto zadané hodnoty. |
session_init | Struktura JSON, viz část Inicializace relace. | Do licence se předají volitelná data. |
parse_only | Logická hodnota, pravda nebo nepravda | Žádost o licenci se analyzuje, ale nevystaví se žádná licence. V odpovědi se ale vrátí hodnoty z žádosti o licenci. |
Specifikace klíče obsahu
Pokud existují existující zásady, není potřeba zadávat žádné hodnoty ve specifikaci klíče obsahu. Dříve existující zásady přidružené k tomuto obsahu slouží k určení ochrany výstupu, například HDCP (High-Bandwidth Digital Content Protection) a CGMS (Copy General Management System). Pokud na licenčním serveru Widevine nejsou zaregistrované existující zásady, poskytovatel obsahu může hodnoty vložit do žádosti o licenci.
Každá content_key_specs hodnota musí být zadána pro všechny stopy bez ohledu na možnost use_policy_overrides_exclusively.
Name | Hodnota | Popis |
---|---|---|
content_key_specs. track_type | řetězec | Název typu stopy. Pokud je v žádosti o licenci zadána content_key_specs, nezapomeňte explicitně zadat všechny typy tras. Pokud to neuděláte, nepodaří se přehrát po 10 sekundách. |
content_key_specs security_level |
Uint32 | Definuje požadavky na odolnost klienta pro přehrávání. – Vyžaduje se softwarová kryptografie pomocí white-boxu. – Vyžaduje se softwarová kryptografie a obfuskovaný dekodér. – Operace s materiálem klíče a kryptografií se musí provádět v hardwarovém důvěryhodném spouštěcím prostředí. – Kryptografie a dekódování obsahu se musí provádět v hardwarovém důvěryhodném spouštěcím prostředí. – Kryptografie, dekódování a veškeré zpracování média (komprimované a nekomprimované) musí být zpracovávány v rámci hardwarového důvěryhodného spouštěcího prostředí. |
content_key_specs required_output_protection.hdc |
řetězec, jeden z HDCP_NONE, HDCP_V1, HDCP_V2 | Určuje, jestli se vyžaduje HDCP. |
content_key_specs key |
Základní 64- Kódovaný řetězec |
Klíč obsahu, který se má použít pro tuto stopu. Je-li zadán, track_type nebo key_id je povinný. Poskytovatel obsahu může tuto možnost použít k vložení klíče obsahu pro tuto stopu místo toho, aby licenční server Widevine nechal vygenerovat nebo vyhledat klíč. |
id_content_key_specs.key | Binární řetězec s kódováním Base64, 16 bajtů | Jedinečný identifikátor klíče. |
Přepsání zásad
Name | Hodnota | Popis |
---|---|---|
policy_overrides.can_play | Logická hodnota, pravda nebo nepravda | Označuje, že přehrávání obsahu je povolené. Výchozí hodnota je false. |
policy_overrides.can_persist | Logická hodnota, pravda nebo nepravda | Označuje, že licence může být trvale zachována v nevolatilovém úložišti pro offline použití. Výchozí hodnota je false. |
policy_overrides.can_renew | Logická hodnota, pravda nebo nepravda | Označuje, že je povoleno prodloužení platnosti této licence. Pokud je hodnota true, může být doba trvání licence prodloužena prezentním signálem. Výchozí hodnota je false. |
policy_overrides.license_duration_seconds | int64 | Označuje časové období pro tuto konkrétní licenci. Hodnota 0 znamená, že doba trvání není nijak omezena. Výchozí hodnota je 0. |
policy_overrides.rental_duration_seconds | int64 | Označuje časové období, kdy je povolené přehrávání. Hodnota 0 znamená, že doba trvání není nijak omezena. Výchozí hodnota je 0. |
policy_overrides.playback_duration_seconds | int64 | Časové okno zobrazení po spuštění přehrávání v době trvání licence. Hodnota 0 znamená, že doba trvání není nijak omezena. Výchozí hodnota je 0. |
policy_overrides.renewal_server_url | řetězec | Všechny žádosti o prezentační signál (prodloužení) pro tuto licenci jsou směrovány na zadanou adresu URL. Toto pole se použije pouze v případě, že can_renew má hodnotu true. |
policy_overrides.renewal_delay_seconds | int64 | Kolik sekund po license_start_time před prvním pokusem o obnovení Toto pole se použije pouze v případě, že can_renew má hodnotu true. Výchozí hodnota je 0. |
policy_overrides.renewal_retry_interval_seconds | int64 | Určuje prodlevu v sekundách mezi následnými žádostmi o prodloužení platnosti licence v případě selhání. Toto pole se použije pouze v případě, že can_renew má hodnotu true. |
policy_overrides.renewal_recovery_duration_seconds | int64 | Časové okno, ve kterém může přehrávání pokračovat při pokusu o obnovení, ale neúspěšné kvůli problémům s back-endem s licenčním serverem Hodnota 0 znamená, že doba trvání není nijak omezena. Toto pole se použije pouze v případě, že can_renew má hodnotu true. |
policy_overrides.renew_with_usage | Logická hodnota, pravda nebo nepravda | Označuje, že licence je odeslána k prodloužení při zahájení používání. Toto pole se použije pouze v případě, že can_renew má hodnotu true. |
Inicializace relace
Name | Hodnota | Popis |
---|---|---|
provider_session_token | Řetězec s kódováním Base64 | Tento token relace se předá zpět v licenci a existuje v následných prodlouženích. Token relace se neuchovává mimo relace. |
provider_client_token | Řetězec s kódováním Base64 | Token klienta, který se má odeslat zpět v odpovědi na licenci. Pokud žádost o licenci obsahuje token klienta, bude tato hodnota ignorována. Token klienta se zachová i nad rámec licenčních relací. |
override_provider_client_token | Logická hodnota, pravda nebo nepravda | Pokud je false a žádost o licenci obsahuje token klienta, použijte token z požadavku i v případě, že byl v této struktuře zadán token klienta. Pokud je hodnota true, vždy použijte token zadaný v této struktuře. |
Další poznámky
- Widevine je služba poskytovaná společností Google Inc. a podléhá podmínkám služby a zásadám ochrany osobních údajů společnosti Google, Inc.
Získání nápovědy a podpory
Media Services můžete kontaktovat s dotazy nebo sledovat naše aktualizace jedním z následujících způsobů:
- Q & A
-
Stack Overflow Označit otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo použijte @AzureSupport a požádejte o podporu.
- Otevřete lístek podpory prostřednictvím Azure Portal.