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ů: