Kurz: Kódování vzdáleného souboru na základě adresy URL a streamování videa – REST
hledáte dokumentaci k Media Services v2?
Azure Media Services umožňuje kódování mediálních souborů ve formátech, které se dají přehrávat na nejrůznějších prohlížečích a zařízeních. Například můžete chtít svůj obsah streamovat ve formátu Apple HLS nebo MPEG DASH. Před streamováním je vhodné soubor digitálního média ve vysoké kvalitě zakódovat. Pokyny ke kódování najdete v tématu Principy kódování.
v tomto kurzu se dozvíte, jak zakódovat soubor na základě adresy URL a streamu videa s Azure Media Services pomocí REST.
Upozornění
nedoporučuje se zabalit REST API pro Media Services přímo do vlastního kódu knihovny, jak to tak bude mít za následek to, že by to pro produkční účely vyžadovalo implementaci úplné logiky opakování správy prostředků azure a pochopte, jak spravovat dlouhodobě běžící operace v rozhraních api pro správu prostředků azure. To zpracovává klientské sady SDK pro různé jazyky – .NET, Java, TypeScript, Python, Ruby atd. – pro vás automaticky a omezení pravděpodobnosti potíží s rety logikou nebo neúspěšnými voláními rozhraní API. Klientské sady SDK to zvládnou už za vás. Kolekce post je poskytována více jako učebnní nástroj a ukazuje, co se ve skutečnosti klientské sady SDK skutečně dělají při vývoji s různými klientskými SDK.

V tomto kurzu získáte informace o následujících postupech:
- Vytvoření účtu Media Services
- Přístup k rozhraní Media Services API
- Stažení souborů nástroje Postman
- Konfigurace nástroje Postman
- Odesílání požadavků pomocí nástroje Postman
- Testování adresy URL pro streamování
- Vyčištění prostředků
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Požadavky
-
nezapomeňte si pamatovat hodnoty, které jste použili pro název skupiny prostředků a název účtu Media Services
Nainstalujte klienta Postman rozhraní REST, ve kterém můžete spouštět rozhraní REST API používaná v některých kurzech ke službě AMS REST.
V příkladech používáme Postman, můžete ale zvolit jakýkoli nástroj REST. další alternativy: Visual Studio Code pomocí modulu plug-in REST nebo Telerik Fiddler.
Stažení souborů nástroje Postman
Naklonujte úložiště GitHub, který obsahuje soubory kolekce a prostředí nástroje Postman.
git clone https://github.com/Azure-Samples/media-services-v3-rest-postman.git
Přístup k rozhraní API
podrobné informace najdete v tématu získání přihlašovacích údajů pro přístup k rozhraní Media Services API .
Konfigurace nástroje Postman
Konfigurace prostředí
Otevřete aplikaci pro vyúčtování .
Na pravé straně obrazovky vyberte možnost Manage environment (Spravovat prostředí).

V dialogovém okně Manage environment (Spravovat prostředí) klikněte na Import.
Vyhledejte soubor
Azure Media Service v3 Environment.postman_environment.json, který se stáhl při klonování úložištěhttps://github.com/Azure-Samples/media-services-v3-rest-postman.git.Přidá se prostředí služby Azure Media Service v3 Environment.
Poznámka
Aktualizujte přístupové proměnné pomocí hodnot, které jste získali výše v části Přístup k rozhraní API služby Media Services.
Poklikejte na vybraný soubor a zadejte hodnoty, které jste získali v postupu pro přístup k rozhraní API.
Zavřete dialogové okno.
Z rozevíracího seznamu vyberte prostředí Azure Media Service v3 Environment.

Konfigurace kolekce
Kliknutím na Import importujte soubor kolekce.
Vyhledejte soubor
Media Services v3.postman_collection.json, který se stáhl při klonování úložištěhttps://github.com/Azure-Samples/media-services-v3-rest-postman.git.Vyberte soubor Media Services v3.postman_collection.json.

Odesílání požadavků pomocí nástroje Postman
V této části odešleme požadavky relevantní pro kódování a vytvoření adres URL, abyste mohli soubor streamovat. Konkrétně se odesílají následující požadavky:
- Získání tokenu služby Azure AD pro ověření instančního objektu
- Spuštění koncového bodu streamování
- Vytvoření výstupního prostředku
- Vytvořit transformaci
- Vytvoření úlohy
- Vytvoření lokátoru streamování
- Seznam cest lokátoru streamování
Poznámka
V tomto kurzu předpokládáme, že všechny prostředky vytváříte s jedinečnými názvy.
Získání tokenu služby Azure AD
V levém okně aplikace po výběru vyberte "krok 1: získání ověřovacího tokenu AAD".
Potom vyberte „Get Azure AD Token for Service Principal Authentication“ (Získat token služby Azure AD pro ověření instančního objektu).
Stiskněte Odeslat.
Odešle se následující operace POST.
https://login.microsoftonline.com/:aadTenantDomain/oauth2/tokenVrátí se odpověď s tokenem, která nastaví proměnnou prostředí „AccessToken“ na hodnotu tokenu. Kód, který nastavuje proměnnou „AccessToken“, zobrazíte na kartě Tests (Testy).

Spuštění koncového bodu streamování
Pokud chcete streamování povolit, musíte nejdřív spustit koncový bod streamování , ze kterého chcete streamovat video.
Poznámka
Fakturuje se vám jenom v případě, že je koncový bod streamování ve stavu spuštěno.
V levém okně aplikace po výběru vyberte streamování a živé.
Pak vyberte "spustit StreamingEndpoint".
Stiskněte Odeslat.
Odesílá se následující operace post :
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaservices/:accountName/streamingEndpoints/:streamingEndpointName/start?api-version={{api-version}}Pokud je žádost úspěšná,
Status: 202 Acceptedvrátí se.Tento stav znamená, že žádost byla přijata ke zpracování; zpracování však nebylo dokončeno. Můžete zadat dotaz na stav operace na základě hodnoty v
Azure-AsyncOperationhlavičce Response.Například následující operace GET vrátí stav vaší operace:
https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/<resourceGroupName>/providers/Microsoft.Media/mediaservices/<accountName>/streamingendpointoperations/1be71957-4edc-4f3c-a29d-5c2777136a2e?api-version=2018-07-01Článek sledování asynchronních operací Azure podrobněji vysvětluje, jak sledovat stav asynchronních operací Azure prostřednictvím hodnot vrácených v odpovědi.
Vytvoření výstupního prostředku
Výstupní Asset ukládá výsledek vaší úlohy kódování.
V levém okně aplikace po výběru vyberte prostředky.
Pak vyberte „Create or update an Asset“ (Vytvořit nebo aktualizovat prostředek).
Stiskněte Odeslat.
Odešle se následující operace PUT:
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaServices/:accountName/assets/:assetName?api-version={{api-version}}Operace obsahuje následující text:
{ "properties": { "description": "My Asset", "alternateId" : "some GUID", "storageAccountName": "<replace from environment file>", "container": "<supply any valid container name of your choosing>" } }
Poznámka
Nezapomeňte nahradit účet úložiště a názvy kontejnerů buď pomocí těch ze souboru prostředí, nebo zadejte vlastní.
Po dokončení kroků popsaných ve zbývající části tohoto článku se ujistěte, že v textu žádosti zadáte platné parametry.
Vytvoření transformace
Když kódujete nebo zpracováváte obsah v Media Services, kódování se obvykle nastaví jako předpis. Potom stačí odeslat Úlohu, která tento předpis použije pro video. Odesláním nových úloh pro každé nové video použijete tento recept na všechna videa v knihovně. V Media Services se pro předpis používá označení transformace. Další informace najdete v tématu Transformace a úlohy. Ukázka popsaná v tomto kurzu definuje předpis, který zakóduje video tak, aby se dalo streamovat na nejrůznějších zařízeních s iOSem a Androidem.
Když vytváříte novou instanci Transformace, musíte určit, co má být jejím výstupem. Objekt TransformOutput je povinný parametr. Každý objekt TransformOutput obsahuje Předvolbu. Předvolba popisuje podrobné pokyny operací zpracování videa nebo zvuku, které se používají ke generování požadovaného objektu TransformOutput. Ukázka popsaná v tomto článku používá předdefinovanou předvolbu s názvem AdaptiveStreaming. Tato předvolba zakóduje vstupní video na základě vstupního rozlišení a přenosové rychlosti do automaticky generované dvojice přenosová rychlost / rozlišení (tzv. bitrate ladder) a vytvoří soubory ISO MP4 s videem H.264 a zvukem AAC odpovídající jednotlivým dvojicím přenosová rychlost / rozlišení. Informace o této předvolbě najdete v tématu o automatickém generování dvojic bitrate ladder.
Můžete použít předdefinovanou předvolbu EncoderNamedPreset, nebo si vytvořit vlastní.
Poznámka
Než začnete vytvářet transformaci, ověřte si nejdřív pomocí metody Get, jestli už neexistuje. V tomto kurzu předpokládáme, že vytváříte transformaci s jedinečným názvem.
V levém okně aplikace Postman vyberte Kódování a analýza.
Potom vyberte „Create Transform“ (Vytvořit transformaci).
Stiskněte Odeslat.
Je odeslána následující operace PUT.
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaServices/:accountName/transforms/:transformName?api-version={{api-version}}Operace obsahuje následující text:
{ "properties": { "description": "Standard Transform using an Adaptive Streaming encoding preset from the library of built-in Standard Encoder presets", "outputs": [ { "onError": "StopProcessingJob", "relativePriority": "Normal", "preset": { "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", "presetName": "AdaptiveStreaming" } } ] } }
Vytvoření úlohy
Úloha je vlastní požadavek na službu Media Services, aby vytvořenou transformaci použila na daný vstupní videoobsah nebo zvukový obsah. Úloha určuje informace, jako je umístění vstupního videa a umístění pro výstup.
V tomto příkladu je vstup úlohy založený na adrese URL protokolu HTTPS (https: / /nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/).
V levém okně aplikace Postman vyberte Kódování a analýza.
Pak vyberte „Create or Update Job“ (Vytvořit nebo aktualizovat úlohu).
Stiskněte Odeslat.
Je odeslána následující operace PUT.
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaServices/:accountName/transforms/:transformName/jobs/:jobName?api-version={{api-version}}Operace obsahuje následující text:
{ "properties": { "input": { "@odata.type": "#Microsoft.Media.JobInputHttp", "baseUri": "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/", "files": [ "Ignite-short.mp4" ] }, "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "assetName": "testAsset1" } ] } }
Úloze chvíli trvá, než se dokončí, a když k tomu dojde, budete na to pravděpodobně chtít upozornit. K zobrazení průběhu úlohy doporučujeme použít službu Event Grid. Ta je navržená s ohledem na vysokou dostupnost, stabilní výkon a dynamické škálování. Díky službě Event Grid můžou vaše aplikace naslouchat událostem a reagovat na ně, ať už pocházejí z kterékoli služby Azure. Události můžou pocházet i z vlastních zdrojů. Jednoduché, reaktivní zpracování událostí založené na protokolu HTTP pomáhá sestavovat efektivní řešení prostřednictvím inteligentního filtrování a směrování událostí. Další informace najdete v článku Směrování událostí na vlastní webový koncový bod.
Úloha obvykle prochází následujícími stavy: Naplánováno, Ve frontě, Zpracovávání a Dokončeno (konečný stav). Pokud během provádění úlohy dojde k chybě, přejde úloha do stavu Chyba. Když úlohu zrušíte, změní se její stav na Rušení a potom na Zrušeno.
Kódy chyb úlohy
Viz Kódy chyb.
Vytvoření lokátoru streamování
Po dokončení úlohy kódování je dalším krokem video ve výstupním assetu dostupné klientům pro přehrávání. Video můžete zpřístupnit ve dvou krocích: nejdřív vytvořte streamovací lokátor (StreamingLocator) a pak adresy URL pro streamování, které budou klienti používat.
Proces vytvoření lokátoru streamování se nazývá publikování. Ve výchozím nastavení je lokátor streamování platný ihned po volání rozhraní API a trvá až do jeho odstranění, pokud nenakonfigurujete volitelný počáteční a koncový čas.
Když vytváříte streamovací lokátor StreamingLocator, je potřeba zadat požadovaný název zásady streamování StreamingPolicyName. V tomto příkladu budete streamovat čistý (nebo šifrovat) obsah, takže se použije předdefinovaná zásada čistého streamování "Predefined_ClearStreamingOnly".
Důležité
Pokud chcete definovat vlastní zásady streamování, doporučujeme navrhnout pro účet služby Media Service omezený počet takovýchto zásad a používat je opakovaně pro streamovací lokátory, kdykoli potřebujete stejné protokoly a možnosti šifrování.
Váš účet Media Service má kvótu počtu položek zásad streamování. Neměli byste vytvářet nové zásady streamování pro každý lokátor streamování.
V levém okně aplikace Postman vyberte Zásady streamování a lokátory.
Pak vyberte "Create a Streaming Locator (clear)" (Vytvořit lokátor streamování (vymazat).
Stiskněte Odeslat.
Je odeslána následující operace PUT.
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaServices/:accountName/streamingLocators/:streamingLocatorName?api-version={{api-version}}Operace obsahuje následující text:
{ "properties": { "streamingPolicyName": "Predefined_ClearStreamingOnly", "assetName": "testAsset1", "contentKeys": [], "filters": [] } }
Seznam cest a vytvoření adres URL pro streamování
Seznam cest
Teď, když je lokátor streamování vytvořený, můžete získat adresy URL pro streamování.
V levém okně aplikace Postman vyberte Zásady streamování.
Potom vyberte „List Paths“ (Seznam cest).
Stiskněte Odeslat.
Odešle se následující operace POST.
https://management.azure.com/subscriptions/:subscriptionId/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaServices/:accountName/streamingLocators/:streamingLocatorName/listPaths?api-version={{api-version}}Operace neobsahuje žádný text.
Poznamenejte si jednu z cest, které chcete použít pro streamování, budete ji potřebovat v další části. V tomto případě se vrátily následující cesty:
"streamingPaths": [ { "streamingProtocol": "Hls", "encryptionScheme": "NoEncryption", "paths": [ "/cdb80234-1d94-42a9-b056-0eefa78e5c63/Ignite-short.ism/manifest(format=m3u8-aapl)" ] }, { "streamingProtocol": "Dash", "encryptionScheme": "NoEncryption", "paths": [ "/cdb80234-1d94-42a9-b056-0eefa78e5c63/Ignite-short.ism/manifest(format=mpd-time-csf)" ] }, { "streamingProtocol": "SmoothStreaming", "encryptionScheme": "NoEncryption", "paths": [ "/cdb80234-1d94-42a9-b056-0eefa78e5c63/Ignite-short.ism/manifest" ] } ]
Vytvoření adres URL pro streamování
V této části vytvoříme adresu URL pro streamování HLS. Adresy URL se skládají z následujících hodnot:
Protokol, přes který se data odesílají. V tomto případě je to protokol HTTPS.
Poznámka
Pokud se přehrávač hostuje na webu HTTPS, nezapomeňte adresu URL aktualizovat tak, aby obsahovala „https“.
Název hostitele koncového bodu streamování. V tomto případě je to „amsaccount-usw22.streaming.media.azure.net“.
K získání názvu hostitele můžete použít následující operaci GET:
https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/:resourceGroupName/providers/Microsoft.Media/mediaservices/:accountName/streamingEndpoints/default?api-version={{api-version}}a nezapomeňte nastavit parametry a
resourceGroupNameaccountNametak, aby odpovídaly souboru prostředí.Cesta, kterou jste získali v předchozí části (Seznam cest).
Výsledkem pak je následující adresa URL pro streamování HLS
https://amsaccount-usw22.streaming.media.azure.net/cdb80234-1d94-42a9-b056-0eefa78e5c63/Ignite-short.ism/manifest(format=m3u8-aapl)
Testování adresy URL pro streamování
Poznámka
Ujistěte se, že je spuštěný koncový bod streamování, ze kterého chcete streamovat.
Tento článek používá k otestování streamu přehrávač Azure Media Player.
- Otevřete webový prohlížeč a přejděte na https://aka.ms/azuremediaplayer/ .
- Do pole pro adresu URL vložte adresu URL, kterou jste vytvořili.
- Stiskněte Update Player (Aktualizovat přehrávač).
Azure Media Player můžete použít pro účely testování, nesmí se ale používat v produkčním prostředí.
Vyčištění prostředků v účtu služby Media Services
Obecně platí, že byste měli vyčistit všechno kromě objektů, které plánujete znovu použít (obvykle znovu použijete transformace a zachováte lokátory streamování atd.). Pokud chcete účet po experimentování vyčistit, měli byste odstranit prostředky, které nemáte v plánu znovu použít.
Provedete to tak, že u prostředku, který chcete odstranit, vyberete operaci „Odstranit…“.
Vyčištění prostředků
Pokud ze skupiny prostředků už žádné prostředky nepotřebujete, včetně účtu služby Media Services a účtu úložiště, které jste vytvořili v tomto kurzu, pak tuto dříve vytvořenou skupinu prostředků odstraňte.
Spusťte následující příkaz rozhraní příkazového řádku:
az group delete --name amsResourceGroup
Poklást otázky, poskytnout zpětnou vazbu a získat aktualizace
Podívejte se na článek Azure Media Services komunity, kde najdete různé způsoby, jak se ptát, poskytnout zpětnou vazbu a získat aktuální informace o Media Services.
Další kroky
Teď, když už víte, jak nahrávat, kódovat a streamovat videa, podívejte se na následující článek: