Kurz: Kódování vzdáleného souboru na základě adresy URL a streamování videa – Azure CLI
Upozornění
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.
V tomto kurzu se dozvíte, jak snadno kódovat a streamovat videa v různých prohlížečích a zařízeních pomocí služeb Azure Media Services a Azure CLI. Vstupní obsah můžete zadat pomocí adres URL https nebo SAS nebo cest k souborům ve službě Azure Blob Storage.
Příklad v tomto článku kóduje obsah, který zpřístupníte prostřednictvím adresy URL protokolu HTTPS. Služba Media Services v3 v současné době nepodporuje blokované kódování přenosu přes adresy URL HTTPS.
Na konci tohoto kurzu budete moct streamovat video.
Vytvoření účtu Media Services
Před šifrováním, kódováním, analýzou, správou a streamováním mediálního obsahu v Azure musíte vytvořit účet Media Services. Tento účet musí být přidružený k jednomu nebo několika účtům úložiště.
Váš účet Media Services a všechny přidružené účty úložiště musí být ve stejném předplatném Azure. K omezení latence a nákladů na výchozí přenos dat doporučujeme používat účty úložiště, které jsou na stejném místě jako účet Media Services.
Vytvoření skupiny prostředků
az group create -n amsResourceGroup -l westus2
Vytvoření účtu úložiště Azure
V tomto příkladu vytvoříme účet LRS General-Purpose v2 Standard.
Pokud chcete experimentovat s účty úložiště, použijte --sku Standard_LRS
. Když vybíráte skladovou položku pro produkční prostředí, zvažte použití --sku Standard_RAGRS
, které poskytuje geografickou replikaci pro provozní kontinuitu. Další informace najdete v tématu Účty úložiště.
az storage account create -n amsstorageaccount --kind StorageV2 --sku Standard_LRS -l westus2 -g amsResourceGroup
Vytvoření účtu Azure Media Services
az ams account create --n amsaccount -g amsResourceGroup --storage-account amsstorageaccount -l westus2
Zobrazí se odpověď podobná této:
{
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount",
"location": "West US 2",
"mediaServiceId": "8b569c2e-d648-4fcb-9035-c7fcc3aa7ddf",
"name": "amsaccount",
"resourceGroup": "amsResourceGroupTest",
"storageAccounts": [
{
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Storage/storageAccounts/amsstorageaccount",
"resourceGroup": "amsResourceGroupTest",
"type": "Primary"
}
],
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Spuštění koncového bodu streamování
Následující příkaz Azure CLI spustí výchozí koncový bod streamování.
az ams streaming-endpoint start -n default -a amsaccount -g amsResourceGroup
Zobrazí se odpověď podobná této:
{
"accessControl": null,
"availabilitySetName": null,
"cdnEnabled": true,
"cdnProfile": "AzureMediaStreamingPlatformCdnProfile-StandardVerizon",
"cdnProvider": "StandardVerizon",
"created": "2019-02-06T21:58:03.604954+00:00",
"crossSiteAccessPolicies": null,
"customHostNames": [],
"description": "",
"freeTrialEndTime": "2019-02-21T22:05:31.277936+00:00",
"hostName": "amsaccount-usw22.streaming.media.azure.net",
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount/streamingendpoints/default",
"lastModified": "2019-02-06T21:58:03.604954+00:00",
"location": "West US 2",
"maxCacheAge": null,
"name": "default",
"provisioningState": "Succeeded",
"resourceGroup": "amsResourceGroup",
"resourceState": "Running",
"scaleUnits": 0,
"tags": {},
"type": "Microsoft.Media/mediaservices/streamingEndpoints"
}
Pokud už je koncový bod streamování spuštěný, zobrazí se tato zpráva:
(InvalidOperation) The server cannot execute the operation in its current state.
Vytvoření transformace pro kódování s adaptivní přenosovou rychlostí
Vytvořte transformaci pro konfiguraci běžných úloh pro kódování nebo analýzu videí. V tomto příkladu provádíme kódování s adaptivní přenosovou rychlostí. Pak odešleme úlohu v rámci transformace, kterou jsme vytvořili. Úloha je požadavek služby Media Services, aby použila transformaci na daný vstup videa nebo zvukového obsahu.
az ams transform create --name testEncodingTransform --preset AdaptiveStreaming --description 'a simple Transform for Adaptive Bitrate Encoding' -g amsResourceGroup -a amsaccount
Zobrazí se odpověď podobná této:
{
"created": "2019-02-15T00:11:18.506019+00:00",
"description": "a simple Transform for Adaptive Bitrate Encoding",
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount/transforms/testEncodingTransform",
"lastModified": "2019-02-15T00:11:18.506019+00:00",
"name": "testEncodingTransform",
"outputs": [
{
"onError": "StopProcessingJob",
"preset": {
"odatatype": "#Microsoft.Media.BuiltInStandardEncoderPreset",
"presetName": "AdaptiveStreaming"
},
"relativePriority": "Normal"
}
],
"resourceGroup": "amsResourceGroup",
"type": "Microsoft.Media/mediaservices/transforms"
}
Vytvoření výstupního prostředku
Vytvořte výstupní prostředek , který se použije jako výstup úlohy kódování.
az ams asset create -n testOutputAssetName -a amsaccount -g amsResourceGroup
Zobrazí se odpověď podobná této:
{
"alternateId": null,
"assetId": "96427438-bbce-4a74-ba91-e38179b72f36",
"container": null,
"created": "2019-02-14T23:58:19.127000+00:00",
"description": null,
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount/assets/testOutputAssetName",
"lastModified": "2019-02-14T23:58:19.127000+00:00",
"name": "testOutputAssetName",
"resourceGroup": "amsResourceGroup",
"storageAccountName": "amsstorageaccount",
"storageEncryptionFormat": "None",
"type": "Microsoft.Media/mediaservices/assets"
}
Spuštění úlohy pomocí vstupu HTTPS
Když odesíláte úlohy ke zpracování videí, musíte službě Media Services sdělit, kde má vstupní video najít. Jednou z možností je zadat adresu URL protokolu HTTPS jako vstup úlohy, jak je znázorněno v tomto příkladu.
Při spuštění příkazu az ams job start
můžete nastavit popisek ve výstupu úlohy. Tento popisek pak můžete použít k určení, k čemu výstupní prostředek slouží.
Pokud popisku přiřadíte hodnotu, nastavte parametr --output-assets na assetname=label.
Pokud popisku nepřiřadíte hodnotu, nastavte '--output-assets' na "assetname=".
Všimněte si, že do přidáme =.
output-assets
az ams job start --name testJob001 --transform-name testEncodingTransform --base-uri 'https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/' --files 'Ignite-short.mp4' --output-assets testOutputAssetName= -a amsaccount -g amsResourceGroup
Zobrazí se odpověď podobná této:
{
"correlationData": {},
"created": "2019-02-15T05:08:26.266104+00:00",
"description": null,
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount/transforms/testEncodingTransform/jobs/testJob001",
"input": {
"baseUri": "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/",
"files": [
"Ignite-short.mp4"
],
"label": null,
"odatatype": "#Microsoft.Media.JobInputHttp"
},
"lastModified": "2019-02-15T05:08:26.266104+00:00",
"name": "testJob001",
"outputs": [
{
"assetName": "testOutputAssetName",
"error": null,
"label": "",
"odatatype": "#Microsoft.Media.JobOutputAsset",
"progress": 0,
"state": "Queued"
}
],
"priority": "Normal",
"resourceGroup": "amsResourceGroup",
"state": "Queued",
"type": "Microsoft.Media/mediaservices/transforms/jobs"
}
Zkontrolování stavu
Během pěti minut zkontrolujte stav úlohy. Mělo by být dokončeno. Ještě to není hotové, zkuste to znovu za pár minut. Po dokončení přejděte k dalšímu kroku a vytvořte lokátor streamování.
az ams job show -a amsaccount -g amsResourceGroup -t testEncodingTransform -n testJob001
Vytvoření lokátoru streamování a získání cesty
Po dokončení kódování je dalším krokem zpřístupnění videa ve výstupním prostředku klientům pro přehrávání. Uděláte to tak, že nejprve vytvoříte lokátor streamování. Pak vytvořte adresy URL pro streamování, které můžou klienti používat.
Vytvoření lokátoru streamování
az ams streaming-locator create -n testStreamingLocator --asset-name testOutputAssetName --streaming-policy-name Predefined_ClearStreamingOnly -g amsResourceGroup -a amsaccount
Zobrazí se odpověď podobná této:
{
"alternativeMediaId": null,
"assetName": "output-3b6d7b1dffe9419fa104b952f7f6ab76",
"contentKeys": [],
"created": "2019-02-15T04:35:46.270750+00:00",
"defaultContentKeyPolicyName": null,
"endTime": "9999-12-31T23:59:59.999999+00:00",
"id": "/subscriptions/<id>/resourceGroups/amsResourceGroup/providers/Microsoft.Media/mediaservices/amsaccount/streamingLocators/testStreamingLocator",
"name": "testStreamingLocator",
"resourceGroup": "amsResourceGroup",
"startTime": null,
"streamingLocatorId": "e01b2be1-5ea4-42ca-ae5d-7fe704a5962f",
"streamingPolicyName": "Predefined_ClearStreamingOnly",
"type": "Microsoft.Media/mediaservices/streamingLocators"
}
Získání cest lokátoru streamování
az ams streaming-locator get-paths -a amsaccount -g amsResourceGroup -n testStreamingLocator
Zobrazí se odpověď podobná této:
{
"downloadPaths": [],
"streamingPaths": [
{
"encryptionScheme": "NoEncryption",
"paths": [
"/e01b2be1-5ea4-42ca-ae5d-7fe704a5962f/ignite.ism/manifest(format=m3u8-aapl)"
],
"streamingProtocol": "Hls"
},
{
"encryptionScheme": "NoEncryption",
"paths": [
"/e01b2be1-5ea4-42ca-ae5d-7fe704a5962f/ignite.ism/manifest(format=mpd-time-csf)"
],
"streamingProtocol": "Dash"
},
{
"encryptionScheme": "NoEncryption",
"paths": [
"/e01b2be1-5ea4-42ca-ae5d-7fe704a5962f/ignite.ism/manifest"
],
"streamingProtocol": "SmoothStreaming"
}
]
}
Zkopírujte cestu k živému streamování HTTP (HLS). V tomto případě je /e01b2be1-5ea4-42ca-ae5d-7fe704a5962f/ignite.ism/manifest(format=m3u8-aapl)
to .
Vytvoření adresy URL
Získání názvu hostitele koncového bodu streamování
az ams streaming-endpoint list -a amsaccount -g amsResourceGroup -n default
Zkopírujte hostName
hodnotu. V tomto případě je amsaccount-usw22.streaming.media.azure.net
to .
Sestavení adresy URL
"https:// " + <hostName value> + <Hls path value>
Tady je příklad:
https://amsaccount-usw22.streaming.media.azure.net/7f19e783-927b-4e0a-a1c0-8a140c49856c/ignite.ism/manifest(format=m3u8-aapl)
Testování přehrávání pomocí Azure Media Playeru
Poznámka
Pokud je přehrávač hostovaný na webu HTTPS, nezapomeňte adresu URL začínat řetězcem https.
- Otevřete webový prohlížeč a přejděte na https://aka.ms/azuremediaplayer/.
- Do pole Adresa URL vložte adresu URL, kterou jste vytvořili v předchozí části. Adresu URL můžete vložit ve formátu HLS, Dash nebo Smooth. Azure Media Player automaticky použije vhodný protokol streamování pro přehrávání na vašem zařízení.
- Vyberte Aktualizovat přehrávač.
Poznámka
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ů
Pokud už ve skupině prostředků nepotřebujete žádné prostředky, včetně účtů Media Services a úložiště, které jste vytvořili pro účely tohoto kurzu, odstraňte skupinu prostředků.
Spusťte tento příkaz Azure CLI:
az group delete --name amsResourceGroup
Získání nápovědy a podpory
Službu Media Services můžete kontaktovat s dotazy nebo můžete 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.