Nejčastější dotazy k Media Services V3Media Services v3 frequently asked questions

Tento článek obsahuje odpovědi na nejčastější dotazy týkající se Azure Media Services V3.This article gives answers to frequently asked questions about Azure Media Services v3.

ObecnéGeneral

Jaká jsou omezení Azure Portal Media Services V3?What are the Azure portal limitations for Media Services v3?

Azure Portal můžete použít ke správě událostí V3 Live, zobrazení zdrojů a úloh v3, získání informací o přístupu k rozhraním API a k šifrování obsahu.You can use the Azure portal to manage v3 live events, view v3 assets and jobs, get info about accessing APIs, encrypt content.
Pro všechny ostatní úlohy správy (například ke správě transformací a úloh nebo analýze obsahu V3) použijte REST API, CLInebo jednu z podporovaných sad SDK.For all other management tasks (for example, managing transforms and jobs or analyzing v3 content), use the REST API, CLI, or one of the supported SDKs.

Pokud se vaše video dřív nahrálo na účet Media Services pomocí rozhraní Media Services V3 API nebo se obsah vygeneroval na základě živého výstupu, neuvidíte v Azure Portal tlačítka kódování, Analýzaani šifrování .If your video was previously uploaded into the Media Services account using Media Services v3 API or the content was generated based on a live output, you will not see the Encode, Analyze, or Encrypt buttons in the Azure portal. K provedení těchto úloh použijte rozhraní API Media Services V3.Use the Media Services v3 APIs to perform these tasks.

Jaké role Azure můžou provádět akce s Azure Media Services prostředky?What Azure roles can perform actions on Azure Media Services resources?

Přečtěte si téma řízení přístupu na základě role (RBAC) pro účty Media Services.See Role-based access control (RBAC) for Media Services accounts.

Návody Stream do zařízení Apple iOS?How do I stream to Apple iOS devices?

Ujistěte se, že máte (Format = M3U8-AAPL) na konci vaší cesty (po /manifest části adresy URL), aby server zdroje dat pro streamování vrátil HTTP Live Streaming (HLS) pro spotřebu na nativních zařízeních Apple iOS.Make sure you have (format=m3u8-aapl) at the end of your path (after the /manifest portion of the URL) to tell the streaming origin server to return HTTP Live Streaming (HLS) content for consumption on Apple iOS native devices. Podrobnosti najdete v tématu doručování obsahu.For details, see Delivering content.

Návody nakonfigurovat rezervované jednotky médií?How do I configure Media Reserved Units?

Pro analýzy zvuku a úlohy analýzy videí, které se spouštějí Media Services V3 nebo Video Indexer, doporučujeme zřídit účet s 10 rezervovanými jednotkami médií (MRUs).For the Audio Analysis and Video Analysis jobs that are triggered by Media Services v3 or Video Indexer, we recommend that you provision your account with 10 S3 Media Reserved Units (MRUs). Pokud potřebujete více než 10 S3 MRUs, otevřete lístek podpory pomocí Azure Portal.If you need more than 10 S3 MRUs, open a support ticket by using the Azure portal.

Podrobnosti najdete v tématu škálování zpracování médií.For details, see Scale media processing.

Pomocí transformací můžete nakonfigurovat běžné úlohy pro kódování a analýzu videí.Use Transforms to configure common tasks for encoding or analyzing videos. Každá transformace popisuje recept nebo pracovní postup úloh pro zpracování vašich videosouborů nebo zvukových souborů.Each Transform describes a recipe, or a workflow of tasks for processing your video or audio files. Úloha je skutečný požadavek na Media Services, jak použít transformaci na vstupní video nebo zvukový obsah.A Job is the actual request to Media Services to apply the Transform to an input video or audio content. Po vytvoření transformace můžete odesílat úlohy pomocí rozhraní API Media Services nebo kterékoli z publikovaných sad SDK.After the Transform has been created, you can submit Jobs by using Media Services APIs or any of the published SDKs. Další informace najdete v tématu Transformace a úlohy.For more information, see Transforms and Jobs.

Video se nahrálo, zakódoval a publikovalo.I uploaded, encoded, and published a video. Proč se video při pokusu o streamování nebude přehrávat?Why won't the video play when I try to stream it?

Jedním z nejběžnějších důvodů je, že nemáte koncový bod streamování, ze kterého se snažíte přejít do běžícího stavu.One of the most common reasons is that you don't have the streaming endpoint from which you're trying to play back in the Running state.

Jak funguje stránkování?How does pagination work?

Při použití stránkování byste měli vždy použít další odkaz k zobrazení výčtu kolekce a nezáleží na konkrétní velikosti stránky.When you're using pagination, you should always use the next link to enumerate the collection and not depend on a particular page size. Podrobnosti a příklady najdete v tématu filtrování, řazení, stránkování.For details and examples, see Filtering, ordering, paging.

Jaké funkce ještě nejsou v Azure Media Services V3 k dispozici?What features are not yet available in Azure Media Services v3?

Podrobnosti najdete v tématu mezery funkcí v souvislosti s rozhraními API v2.For details, see Feature gaps with respect to v2 APIs.

Jaký je proces přesunutí účtu Media Services mezi předplatnými?What is the process of moving a Media Services account between subscriptions?

Podrobnosti najdete v tématu přesun Media Services účtu mezi předplatnými.For details, see Moving a Media Services account between subscriptions.

Živé streamováníLive streaming

Návody zastavit živý stream po dokončení vysílání?How do I stop the live stream after the broadcast is done?

K tomuto přístupu se můžete přizpůsobovat ze strany klienta nebo na straně serveru.You can approach it from the client side or the server side.

Strana klientaClient side

Vaše webová aplikace by měla uživatele vyzvat, pokud chce ukončit všesměrové vysílání, protože zavírá prohlížeč.Your web application should prompt the user if they want to end the broadcast as they're closing the browser. Toto je událost prohlížeče, kterou může webová aplikace zpracovat.This is a browser event that your web application can handle.

Strana serveruServer side

Můžete monitorovat živé události tím, že se přihlásíte k odběru Azure Event Gridch událostí.You can monitor live events by subscribing to Azure Event Grid events. Další informace najdete v tématu schéma událostí EventGrid.For more information, see the EventGrid event schema.

Máte tyto možnosti:You can either:

  • Přihlaste se k odběru událostí Microsoft. Media. LiveEventEncoderDisconnected na úrovni datového proudu a sledujte, že v průběhu chvilky nejsou žádné znovu navázány, aby se zastavila a odstranila živá událost.Subscribe to the stream-level Microsoft.Media.LiveEventEncoderDisconnected events and monitor that no reconnections come in for a while to stop and delete your live event.
  • Přihlaste se k odběru událostí prezenčního signálu na úrovni sledování.Subscribe to the track-level heartbeat events. Pokud se u všech stop přestanou příchozí přenosové rychlosti na 0 nebo když se poslední časové razítko nezvyšuje, můžete živou událost bezpečně vypnout.If all tracks have an incoming bitrate dropping to 0 or the last time stamp is no longer increasing, you can safely shut down the live event. Události prezenčního signálu přicházejí v každé 20 sekundách pro každou stopu, takže se může jednat o bitovou podrobnou bitovou kopii.The heartbeat events come in at every 20 seconds for every track, so it might be a bit verbose.

V živém streamu Návody vkládat rozlomení, videa a obrazové položky?How do I insert breaks/videos and image slates during a live stream?

Media Services V3 Live Encoding ještě nepodporuje vkládání videa nebo obrazových obrázků v živém streamu.Media Services v3 live encoding does not yet support inserting video or image slates during live stream.

Pro přepnutí zdrojového videa můžete použít živý místní kodér .You can use a live on-premises encoder to switch the source video. Řada aplikací nabízí možnost přepnout zdroje, včetně Wirecast streamování, přepínač studia (v iOS) a OBS studia (bezplatná aplikace).Many apps provide to ability to switch sources, including Telestream Wirecast, Switcher Studio (on iOS), and OBS Studio (free app).

Ochrana obsahuContent protection

Mám použít šifrované šifrování klíče AES-128 nebo systém DRM?Should I use AES-128 clear key encryption or a DRM system?

Zákazníci často chtějí, aby používali šifrování AES nebo systém DRM.Customers often wonder whether they should use AES encryption or a DRM system. Hlavním rozdílem mezi těmito dvěma systémy je to, že při šifrování AES se klíč obsahu přenáší klientovi přes protokol TLS, aby se klíč zašifroval při přenosu, ale bez dalšího šifrování ("v jasném stavu").The main difference between the two systems is that with AES encryption, the content key is transmitted to the client over TLS so that the key is encrypted in transit but without any additional encryption ("in the clear"). V důsledku toho je klíč, který se používá k dešifrování obsahu, přístupný klientskému přehrávači a může se zobrazit v síťovém trasování na klientovi v prostém textu.As a result, the key that's used to decrypt the content is accessible to the client player and can be viewed in a network trace on the client in plain text. Šifrování standardu AES-128 je vhodné pro případy použití, kde se jedná o důvěryhodnou osobu (například k šifrování firemních videí distribuovaných v rámci společnosti, které mají zaměstnanci prohlížet).AES-128 clear key encryption is suitable for use cases where the viewer is a trusted party (for example, encrypting corporate videos distributed within a company to be viewed by employees).

Systémy DRM, jako je PlayReady, Widevine a FairPlay, poskytují další úroveň šifrování na klíč, který se používá k dešifrování obsahu v porovnání s jasným klíčem AES-128.DRM systems like PlayReady, Widevine, and FairPlay all provide an additional level of encryption on the key that's used to decrypt the content, compared to an AES-128 clear key. Klíč obsahu je zašifrovaný na klíč chráněný modulem runtime DRM kromě jakéhokoli šifrování na úrovni přenosu poskytovaného protokolem TLS.The content key is encrypted to a key protected by the DRM runtime in addition to any transport-level encryption provided by TLS. Šifrování se navíc zpracovává v zabezpečeném prostředí na úrovni operačního systému, kde je obtížnější útok na uživatele se zlými úmysly.Additionally, decryption is handled in a secure environment at the operating system level, where it's more difficult for a malicious user to attack. Pro případy použití doporučujeme použít DRM, kdy prohlížeč nemusí být důvěryhodnou stranou a potřebujete nejvyšší úroveň zabezpečení.We recommend DRM for use cases where the viewer might not be a trusted party and you need the highest level of security.

Návody zobrazit video jenom uživatelům, kteří mají určité oprávnění, bez použití Azure AD?How do I show a video to only users who have a specific permission, without using Azure AD?

Nemusíte používat žádného konkrétního poskytovatele tokenu, jako je Azure Active Directory (Azure AD).You don't have to use any specific token provider such as Azure Active Directory (Azure AD). Pomocí asymetrického šifrování klíčů můžete vytvořit vlastního zprostředkovatele JWT (označovaný jako služba zabezpečeného tokenu nebo STS).You can create your own JWT provider (so-called Secure Token Service, or STS) by using asymmetric key encryption. Ve vlastní službě STS můžete přidat deklarace identity založené na obchodní logice.In your custom STS, you can add claims based on your business logic.

Ujistěte se, že Vystavitel, skupina a deklarace identity se přesně shodují mezi tím, co je v tokenu JWT, a ContentKeyPolicyRestriction hodnotou použitou v ContentKeyPolicy .Make sure that the issuer, audience, and claims all match up exactly between what's in JWT and the ContentKeyPolicyRestriction value used in ContentKeyPolicy.

Další informace najdete v tématu Ochrana obsahu pomocí Media Services dynamického šifrování.For more information, see Protect your content by using Media Services dynamic encryption.

Jak a kde získá token JWT před jeho použitím k vyžádání licence nebo klíče?How and where did I get a JWT token before using it to request a license or key?

V případě produkčního prostředí musíte mít službu zabezpečeného tokenu (tj. webovou službu), která vydává token JWT po požadavku HTTPS.For production, you need to have Secure Token Service (that is, a web service), which issues a JWT token upon an HTTPS request. Pro test můžete použít kód zobrazený v GetTokenAsync metodě definované v program.cs.For test, you can use the code shown in the GetTokenAsync method defined in Program.cs.

Hráč vytvoří požadavek, po ověření uživatele, na službu STS pro takový token a přiřadí ho jako hodnotu tokenu.The player makes a request, after a user is authenticated, to STS for such a token and assigns it as the value of the token. Můžete použít rozhraní Azure Media Player API.You can use the Azure Media Player API.

Příklad spuštění služby STS s symetrickým klíčem nebo asymetrickým klíčem naleznete v tématu Nástroj JWT.For an example of running STS with either a symmetric key or an asymmetric key, see the JWT tool. Příklad přehrávače, který je založený na Azure Media Player pomocí takového tokenu JWT, najdete v tématu Azure Media test Tool.For an example of a player based on Azure Media Player using such a JWT token, see the Azure media test tool. (Pokud chcete zobrazit vstup tokenu, rozbalte odkaz player_settings .)(Expand the player_settings link to see the token input.)

Návody autorizovat požadavky na streamování videí pomocí šifrování AES?How do I authorize requests to stream videos with AES encryption?

Správným přístupem je použití služby Secure token Service.The correct approach is to use Secure Token Service. V závislosti na profilu uživatele přidejte v rámci služby STS různé deklarace identity (například "Premium User", "Basic User", "User bezplatnou zkušební verzi").In STS, depending on the user profile, add different claims (such as "Premium User," "Basic User," "Free Trial User"). S různými deklaracemi v tokenu JWT může uživatel zobrazit různý obsah.With different claims in a JWT, the user can see different contents. Pro různé obsahy nebo prostředky ContentKeyPolicyRestriction bude mít odpovídající RequiredClaims hodnotu.For different contents or assets, ContentKeyPolicyRestriction will have the corresponding RequiredClaims value.

Použijte rozhraní API pro Azure Media Services ke konfiguraci poskytování licencí/klíčů a šifrování prostředků (jak je znázorněno v této ukázce).Use Azure Media Services APIs for configuring license/key delivery and encrypting your assets (as shown in this sample).

Další informace najdete tady:For more information, see:

Mám použít protokol HTTP nebo HTTPS?Should I use HTTP or HTTPS?

Aplikace aktéra ASP.NET MVC musí podporovat následující:The ASP.NET MVC player application must support the following:

  • Ověřování uživatelů prostřednictvím služby Azure AD, která je v rámci protokolu HTTPS.User authentication through Azure AD, which is under HTTPS.
  • Výměna JWT mezi klientem a službou Azure AD, která je v protokolu HTTPS.JWT exchange between the client and Azure AD, which is under HTTPS.
  • Získání licence DRM klientem, který musí být v rámci protokolu HTTPS, pokud je doručování licencí poskytované Media Services.DRM license acquisition by the client, which must be under HTTPS if license delivery is provided by Media Services. Sada produktů PlayReady nevyžaduje pro doručování licencí protokol HTTPS.The PlayReady product suite doesn't mandate HTTPS for license delivery. Pokud je váš licenční server PlayReady mimo Media Services, můžete použít buď protokol HTTP, nebo HTTPS.If your PlayReady license server is outside Media Services, you can use either HTTP or HTTPS.

Aplikace přehrávače ASP.NET používá jako osvědčený postup protokol HTTPS, takže Media Player se nachází na stránce s protokolem HTTPS.The ASP.NET player application uses HTTPS as a best practice, so Media Player is on a page under HTTPS. Protokol HTTP je ale upřednostňovaný pro streamování, takže je potřeba zvážit tyto problémy se smíšeným obsahem:However, HTTP is preferred for streaming, so you need to consider these issues with mixed content:

  • Prohlížeč nepovoluje smíšený obsah.The browser doesn't allow mixed content. Moduly plug-in, jako je Silverlight a modul plug-in OSMF pro zajištění hladkého a PŘERUŠOVANého připojení, to umožňují.But plug-ins like Silverlight and the OSMF plug-in for Smooth and DASH do allow it. Smíšený obsah je bezpečnostní riziko z důvodu hrozby, která umožňuje vložit škodlivý kód JavaScriptu, který může ohrozit zákaznická data.Mixed content is a security concern because of the threat of the ability to inject malicious JavaScript, which can put customer data at risk. V prohlížečích je tato funkce ve výchozím nastavení zablokovaná.Browsers block this capability by default. Jediným způsobem, jak se tento problém obejít, je na straně serveru (Origin) povolit všechny domény (bez ohledu na protokol HTTPS nebo HTTP).The only way to work around it is on the server (origin) side by allowing all domains (regardless of HTTPS or HTTP). Tato možnost není pravděpodobně dobrý nápad.This is probably not a good idea either.
  • Vyhněte se Smíšenému obsahu.Avoid mixed content. Aplikace přehrávače i Media Player by měly používat protokol HTTP nebo HTTPS.Both the player application and Media Player should use HTTP or HTTPS. Když hrajete smíšený obsah, technologie Silverlight tech vyžaduje vymazání upozornění na smíšený obsah.When you're playing mixed content, the SilverlightSS tech requires clearing a mixed-content warning. Technik Flash zpracovává smíšený obsah bez upozornění na smíšený obsah.The FlashSS tech handles mixed content without a mixed-content warning.
  • Pokud byl koncový bod streamování vytvořen před srpna 2014, nebude podporovat protokol HTTPS.If your streaming endpoint was created before August 2014, it won't support HTTPS. V takovém případě vytvořte a použijte nový koncový bod streamování pro protokol HTTPS.In this case, create and use a new streaming endpoint for HTTPS.

Co je živé streamování?What about live streaming?

Můžete použít naprosto stejný návrh a implementaci, abyste chránili živé streamování v Media Services tím, že provedete Asset přidružený k programu jako prostředek VOD.You can use exactly the same design and implementation to help protect live streaming in Media Services by treating the asset associated with a program as a VOD asset. Pokud chcete zajistit ochranu pomocí živého obsahu s více technologiemi DRM, použijte stejné nastavení nebo zpracování na Asset, jako by šlo o VOD Asset ještě předtím, než provedete přidružení assetu s živým výstupem.To provide a multi-DRM protection of the live content, apply the same setup/processing to the asset as if it were a VOD asset before you associate the asset with the live output.

Co jsou licenční servery mimo Media Services?What about license servers outside Media Services?

Zákazníci se často investovali do farmy licenčních serverů buď ve vlastním datovém centru, nebo v jednom hostovaném poskytovateli služeb DRM.Often, customers have invested in a license server farm either in their own datacenter or in one hosted by DRM service providers. Díky Media Services ochraně obsahu můžete pracovat v hybridním režimu.With Media Services content protection, you can operate in hybrid mode. Obsah je možné hostovat a dynamicky chránit v Media Services a při doručování licencí DRM servery mimo Media Services.Content can be hosted and dynamically protected in Media Services, while DRM licenses are delivered by servers outside Media Services. V takovém případě zvažte následující změny:In this case, consider the following changes:

  • Služba tokenů zabezpečení musí vydávat tokeny, které jsou přijatelné a můžou je ověřit farmou licenčního serveru.STS needs to issue tokens that are acceptable and can be verified by the license server farm. Například licenční servery Widevine, které poskytuje Axinom, vyžadují konkrétní token JWT, který obsahuje zprávu nároku.For example, the Widevine license servers provided by Axinom require a specific JWT that contains an entitlement message. K vystavení takového tokenu JWT potřebujete službu STS.You need to have an STS to issue such a JWT.
  • V Media Services už nemusíte konfigurovat službu doručování licencí.You no longer need to configure license delivery service in Media Services. Při konfiguraci nástroje musíte zadat adresy URL pro získání licence (pro PlayReady, Widevine a FairPlay) ContentKeyPolicy .You need to provide the license acquisition URLs (for PlayReady, Widevine, and FairPlay) when you configure ContentKeyPolicy.

Poznámka

Widevine je služba poskytovaná společností Google a podléhá podmínkám služby a zásad ochrany osobních údajů Google.Widevine is a service provided by Google and subject to the terms of service and privacy policy of Google.

Media Services V2 vs. v3Media Services v2 vs. v3

Můžu Azure Portal použít ke správě prostředků V3?Can I use the Azure portal to manage v3 resources?

V současné době můžete použít Azure Portal k těmto akcím:Currently, you can use the Azure portal to:

Pro všechny ostatní úlohy správy (například transformace a úlohy a Ochrana obsahu) použijte REST API, Azure CLInebo jednu z podporovaných sad SDK.For all other management tasks (for example, Transforms and Jobs and content protection), use the REST API, the Azure CLI, or one of the supported SDKs.

Je v v3 koncept AssetFile?Is there an AssetFile concept in v3?

AssetFileKoncept se odebral z rozhraní Media Services API a odděluje Media Services od závislosti sady SDK úložiště.The AssetFile concept was removed from the Media Services API to separate Media Services from Storage SDK dependency. Nyní Azure Storage, nikoli Media Services, uchovává informace, které patří do sady Storage SDK.Now Azure Storage, not Media Services, keeps the information that belongs in the Storage SDK.

Další informace najdete v tématu migrace na Media Services V3.For more information, see Migrate to Media Services v3.

Kde se nacházelo šifrování úložiště na straně klienta?Where did client-side storage encryption go?

Teď doporučujeme použít šifrování úložiště na straně serveru (což je ve výchozím nastavení zapnuté).We now recommend that you use server-side storage encryption (which is on by default). Další informace najdete v tématu šifrování služby Azure Storage proneaktivní neaktivní data.For more information, see Azure Storage Service Encryption for data at rest.

Offline streamováníOffline streaming

FairPlay streaming pro iOSFairPlay Streaming for iOS

Následující nejčastější dotazy poskytují pomoc s řešením potíží s offline FairPlay streamingem pro iOS.The following frequently asked questions provide assistance with troubleshooting offline FairPlay streaming for iOS.

Proč se v režimu offline jenom zvuk hraje, ale ne video?Why does only audio play but not video during offline mode?

Zdá se, že se jedná o návrh ukázkové aplikace.This behavior seems to be by design of the sample app. Když je v režimu offline k dispozici alternativní zvuková stopa (což je případ pro HLS), v režimu offline se jako výchozí použije alternativní zvuková stopa v systému iOS 10 i iOS 11. Pokud chcete toto chování pro offline režim přechodu na více snímků, odeberte alternativní zvukovou stopu z datového proudu.When an alternate audio track is present (which is the case for HLS) during offline mode, both iOS 10 and iOS 11 default to the alternate audio track. To compensate this behavior for FPS offline mode, remove the alternate audio track from the stream. Chcete-li to provést na Media Services, přidejte Dynamický manifest filtru pouze zvuk = false.To do this on Media Services, add the dynamic manifest filter audio-only=false. Jinými slovy, HLS adresa URL končí řetězcem . ISM/manifest (Format = M3U8-AAPL, audio-Only = false).In other words, an HLS URL ends with .ism/manifest(format=m3u8-aapl,audio-only=false).

Proč I po přidání zvuku = false zůstane zvuk pouze bez videa v režimu offline?Why does it still play audio only without video during offline mode after I add audio-only=false?

V závislosti na návrhu klíče mezipaměti pro Content Delivery Network se může obsah ukládat do mezipaměti.Depending on the cache key design for the content delivery network, the content might be cached. Vyprázdnit mezipaměť.Purge the cache.

Podporuje se kromě iOS 10 offline režim přechodu do režimu FPS v iOS 11?Is FPS offline mode supported on iOS 11 in addition to iOS 10?

Yes.Yes. Režim offline režimu FPS je podporován pro iOS 10 a iOS 11.FPS offline mode is supported for iOS 10 and iOS 11.

Proč v sadě SDK serveru pro FPS nejde najít dokument "offline přehrávání pomocí FairPlay streaming a HTTP Live Streaming"?Why can't I find the document "Offline Playback with FairPlay Streaming and HTTP Live Streaming" in the FPS Server SDK?

Vzhledem k tomu, že sada FPS Server SDK verze 4, tento dokument se sloučil do Průvodce programováním pro FairPlay streaming.Since FPS Server SDK version 4, this document was merged into the "FairPlay Streaming Programming Guide."

Jaká je struktura souborů ke stažení/offline na zařízeních s iOS?What is the downloaded/offline file structure on iOS devices?

Stažená struktura souborů na zařízení se systémem iOS vypadá jako na následujícím snímku obrazovky.The downloaded file structure on an iOS device looks like the following screenshot. _keysSložka uchovává stažené licence na FPS a jeden soubor úložiště pro každého hostitele licenční služby.The _keys folder stores downloaded FPS licenses, with one store file for each license service host. .movpkgSložka obsahuje zvuk a video obsah.The .movpkg folder stores audio and video content.

První složka s názvem, který končí spojovníkem následovaným číslem, obsahuje obsah videa.The first folder with a name that ends with a dash followed by a number contains video content. Číselná hodnota je šířka pásma ve špičce pro verze videa.The numeric value is the peak bandwidth of the video renditions. Druhá složka s názvem, který končí čárkou následovanou 0, obsahuje zvukový obsah.The second folder with a name that ends with a dash followed by 0 contains audio content. Třetí složka s názvem Data obsahuje hlavní seznam skladeb obsahu FPS.The third folder named Data contains the master playlist of the FPS content. Nakonec boot.xml poskytuje úplný popis .movpkg obsahu složky.Finally, boot.xml provides a complete description of the .movpkg folder content.

Struktura offline souborů pro ukázkovou aplikaci FairPlay iOS

Zde je ukázkový soubor boot.xml:Here's a sample boot.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<HLSMoviePackage xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://apple.com/IMG/Schemas/HLSMoviePackage" xsi:schemaLocation="http://apple.com/IMG/Schemas/HLSMoviePackage /System/Library/Schemas/HLSMoviePackage.xsd">
  <Version>1.0</Version>
  <HLSMoviePackageType>PersistedStore</HLSMoviePackageType>
  <Streams>
    <Stream ID="1-4DTFY3A3VDRCNZ53YZ3RJ2NPG2AJHNBD-0" Path="1-4DTFY3A3VDRCNZ53YZ3RJ2NPG2AJHNBD-0" NetworkURL="https://willzhanmswest.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/QualityLevels(127000)/Manifest(aac_eng_2_127,format=m3u8-aapl)">
      <Complete>YES</Complete>
    </Stream>
    <Stream ID="0-HC6H5GWC5IU62P4VHE7NWNGO2SZGPKUJ-310656" Path="0-HC6H5GWC5IU62P4VHE7NWNGO2SZGPKUJ-310656" NetworkURL="https://willzhanmswest.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/QualityLevels(161000)/Manifest(video,format=m3u8-aapl)">
      <Complete>YES</Complete>
    </Stream>
  </Streams>
  <MasterPlaylist>
    <NetworkURL>https://willzhanmswest.streaming.mediaservices.windows.net/e7c76dbb-8e38-44b3-be8c-5c78890c4bb4/MicrosoftElite01.ism/manifest(format=m3u8-aapl,audio-only=false)</NetworkURL>
  </MasterPlaylist>
  <DataItems Directory="Data">
    <DataItem>
      <ID>CB50F631-8227-477A-BCEC-365BBF12BCC0</ID>
      <Category>Playlist</Category>
      <Name>master.m3u8</Name>
      <DataPath>Playlist-master.m3u8-CB50F631-8227-477A-BCEC-365BBF12BCC0.data</DataPath>
      <Role>Master</Role>
    </DataItem>
  </DataItems>
</HLSMoviePackage>

Streamování Widevine pro AndroidWidevine streaming for Android

Jak mohu doručovat trvalé licence (offline) pro některé klienty/uživatele a netrvalé licence (offline zakázáno) pro ostatní?How can I deliver persistent licenses (offline enabled) for some clients/users and non-persistent licenses (offline disabled) for others? Musím duplikovat obsah a používat samostatné klíče obsahu?Do I have to duplicate the content and use separate content keys?

Vzhledem k tomu, že Media Services V3 umožňuje assetu mít více StreamingLocator instancí, můžete mít:Because Media Services v3 allows an asset to have multiple StreamingLocator instances, you can have:

  • Jedna ContentKeyPolicy instance s license_type = "persistent" ContentKeyPolicyRestriction deklarací identity na "persistent" a StreamingLocator .One ContentKeyPolicy instance with license_type = "persistent", ContentKeyPolicyRestriction with claim on "persistent", and its StreamingLocator.
  • Další ContentKeyPolicy instance s license_type="nonpersistent" ContentKeyPolicyRestriction deklarací identity on "nonpersistent a StreamingLocator .Another ContentKeyPolicy instance with license_type="nonpersistent", ContentKeyPolicyRestriction with claim on "nonpersistent", and its StreamingLocator.
  • Dvě StreamingLocator instance, které mají různé ContentKey hodnoty.Two StreamingLocator instances that have different ContentKey values.

V závislosti na obchodní logice vlastní služby STS se v tokenu JWT vydávají různé deklarace identity.Depending on business logic of custom STS, different claims are issued in the JWT token. U tokenu lze získat pouze odpovídající licenci a přehrát lze pouze odpovídající adresu URL.With the token, only the corresponding license can be obtained and only the corresponding URL can be played.

Jaké je mapování mezi Widevine a Media Services úrovní zabezpečení DRM?What is the mapping between the Widevine and Media Services DRM security levels?

Přehled architektury DRM společnosti Google "Widevine" definuje tři úrovně zabezpečení.Google's "Widevine DRM Architecture Overview" defines three security levels. Dokumentace Azure Media Services v šabloně licence Widevine ale popisuje pět úrovní zabezpečení (požadavky na odolnost klienta pro přehrávání).However, the Azure Media Services documentation on the Widevine license template outlines five security levels (client robustness requirements for playback). V této části se dozvíte, jak se mapují úrovně zabezpečení.This section explains how the security levels map.

Obě sady úrovní zabezpečení jsou definované Google Widevine.Both sets of security levels are defined by Google Widevine. Rozdíl je v úrovni využití: architektura nebo rozhraní API.The difference is in usage level: architecture or API. V rozhraní API Widevine se používá pět úrovní zabezpečení.The five security levels are used in the Widevine API. content_key_specsObjekt, který obsahuje security_level , je rekonstruován a předán službě Widevine Global Delivery Service pomocí licenční služby Azure Media Services Widevine.The content_key_specs object, which contains security_level, is deserialized and passed to the Widevine global delivery service by the Azure Media Services Widevine license service. Následující tabulka ukazuje mapování mezi dvěma sadami úrovní zabezpečení.The following table shows the mapping between the two sets of security levels.

Úrovně zabezpečení definované v architektuře WidevineSecurity levels defined in Widevine architecture Úrovně zabezpečení používané v rozhraní Widevine APISecurity levels used in Widevine API
Úroveň zabezpečení 1: zpracování, kryptografie a řízení obsahu se provádí v prostředí pro důvěryhodné spouštění (TEE).Security Level 1: All content processing, cryptography, and control are performed within the Trusted Execution Environment (TEE). V některých implementačních modelech se může zpracování zabezpečení provádět v různých čipy.In some implementation models, security processing might be performed in different chips. security_level = 5: šifrování, dekódování a veškerá manipulace s médii (komprimovaná a nekomprimovaná) musí být zpracovávány v Tee s hardwarovým zálohováním.security_level=5: The crypto, decoding, and all handling of the media (compressed and uncompressed) must be handled within a hardware-backed TEE.

security_level = 4: šifrování a dekódování obsahu je třeba provést v rámci Tee se zálohovaným hardwarem.security_level=4: The crypto and decoding of content must be performed within a hardware-backed TEE.
Úroveň zabezpečení 2: kryptografie (ale ne zpracování videa) se provádí v rámci Tee.Security Level 2: Cryptography (but not video processing) is performed within the TEE. Dešifrované vyrovnávací paměti jsou vráceny do aplikační domény a zpracovávány prostřednictvím samostatného grafického hardwaru nebo softwaru.Decrypted buffers are returned to the application domain and processed through separate video hardware or software. Na úrovni 2 se však kryptografické informace stále zpracovávají pouze v rámci TEE.At Level 2, however, cryptographic information is still processed only within the TEE. security_level = 3: klíčový materiál a kryptografické operace je nutné provést v rámci Tee s hardwarovým zálohováním.security_level=3: The key material and crypto operations must be performed within a hardware-backed TEE.
Úroveň zabezpečení 3: na zařízení není žádné Tee.Security Level 3: There's no TEE on the device. K ochraně kryptografických informací a dešifrovaného obsahu v hostitelském operačním systému je možné učinit vhodná opatření.Appropriate measures can be taken to protect the cryptographic information and decrypted content on host operating system. Implementace úrovně 3 může zahrnovat také hardwarový kryptografický modul, který zvyšuje jenom výkon, ne zabezpečení.A Level 3 implementation might also include a hardware cryptographic engine, but that enhances only performance, not security. security_level = 2: je vyžadováno šifrování softwaru a vypsaný dekodér.security_level=2: Software crypto and an obfuscated decoder are required.

security_level = 1: je vyžadováno šifrování na základě softwarového bílého boxu.security_level=1: Software-based white-box crypto is required.

Proč stahování obsahu trvá tak dlouho?Why does content download take so long?

Existují dva způsoby, jak zvýšit rychlost stahování:There are two ways to improve download speed:

  • Povolte síť pro doručování obsahu, aby se uživatelé lépe vypnuli a místo počátečního/streamového koncového bodu pro stažení obsahu.Enable a content delivery network so that users are more likely to hit that instead of the origin/streaming endpoint for content download. Pokud uživatel narazí na koncový bod streamování, každý segment HLS nebo fragment SPOJOVNÍKu se dynamicky zabalí a zašifruje.If a user hits a streaming endpoint, each HLS segment or DASH fragment is dynamically packaged and encrypted. I když je tato latence v milisekundách pro každý segment nebo fragment, pokud máte video s hodinovým videem, kumulovaná latence může být velká a způsobit delší stahování.Even though this latency is in millisecond scale for each segment or fragment, when you have an hour-long video, the accumulated latency can be large and cause a longer download.

  • Poskytněte uživatelům možnost selektivně stahovat vrstvy kvality videa a zvukové stopy místo veškerého obsahu.Give users the option to selectively download video quality layers and audio tracks instead of all contents. V offline režimu neexistuje žádný bod ke stažení všech vrstev kvality.For offline mode, there's no point in downloading all of the quality layers. Toho můžete dosáhnout dvěma způsoby:There are two ways to achieve this:

    • Řízená klientem: aplikace přehrávače se automaticky vybere nebo vybere uživatel, vrstvu kvality videa a zvukové stopy, které se mají stáhnout.Client controlled: The player app automatically selects, or the user selects, the video quality layer and the audio tracks to download.
    • Řízená služba: pomocí funkce dynamického manifestu v Azure Media Services vytvoříte filtr (globální), který omezuje HLS seznam skladeb nebo POMLČKy na jednu vrstvu kvality videa a vybrané zvukové stopy.Service controlled: You can use the Dynamic Manifest feature in Azure Media Services to create a (global) filter, which limits HLS playlist or DASH MPD to a single video quality layer and selected audio tracks. Pak se adresa URL pro stažení prezentovaná uživatelům zahrne do tohoto filtru.Then the download URL presented to users will include this filter.

Další krokyNext steps

Přehled Media Services V3Media Services v3 overview