Tutorial: Mengodekan file jarak jauh didasarkan pada URL dan streaming video - Azure CLI
Peringatan
Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.
Tutorial ini menunjukkan cara mudah mengodekan dan melakukan streaming video di berbagai browser dan perangkat dengan menggunakan Azure Media Services dan Azure CLI. Anda dapat menentukan konten input dengan menggunakan URL HTTPS atau SAS atau jalur ke file di penyimpanan Azure Blob.
Sampel dalam artikel ini mengodekan konten yang dapat diakses melalui URL HTTPS. Azure Media Services v3 saat ini tidak mendukung pengodean transfer yang dipotong melalui URL HTTPS.
Pada akhir tutorial ini, Anda akan dapat melakukan streaming video.
Buat Akun Azure Media Services
Sebelum dapat mengenkripsi, mengodekan, menganalisis, mengelola, dan melakukan streaming konten media di Azure, Anda perlu membuat akun Azure Media Services. Akun tersebut harus dikaitkan dengan satu atau beberapa akun penyimpanan.
Akun Azure Media Services dan semua akun penyimpanan terkait harus berada dalam langganan Azure yang sama. Sebaiknya Anda menggunakan akun penyimpanan yang berada di tempat yang sama dengan akun Azure Media Services untuk membatasi biaya latensi dan keluarnya data.
Membuat grup sumber daya
az group create -n amsResourceGroup -l westus2
Membuat akun penyimpanan Azure
Dalam contoh ini, kami membuat akun General-Purpose v2 Standard LRS.
Jika Anda ingin bereksperimen dengan akun penyimpanan, gunakan --sku Standard_LRS
. Saat Anda memilih SKU untuk produksi, pertimbangkan untuk menggunakan --sku Standard_RAGRS
, yang menyediakan replikasi geografis untuk kelangsungan bisnis. Untuk informasi selengkapnya, lihat akun penyimpanan.
az storage account create -n amsstorageaccount --kind StorageV2 --sku Standard_LRS -l westus2 -g amsResourceGroup
Membuat akun Azure Media Services
az ams account create --n amsaccount -g amsResourceGroup --storage-account amsstorageaccount -l westus2
Anda mendapatkan respons seperti ini:
{
"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"
}
Memulai titik akhir streaming
Perintah Azure CLI berikut memulai Titik Akhir Streaming default.
az ams streaming-endpoint start -n default -a amsaccount -g amsResourceGroup
Anda mendapatkan respons seperti ini:
{
"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"
}
Jika titik akhir streaming sudah berjalan, Anda mendapatkan pesan ini:
(InvalidOperation) The server cannot execute the operation in its current state.
Membuat transformasi untuk pengodean laju bit adaptif
Buat Transformasi agar mengonfigurasi tugas umum untuk pengodean atau menganalisis video. Dalam contoh ini, kami melakukan pengodean laju bit adaptif. Lalu, kami mengirimkan pekerjaan berdasarkan transformasi yang dibuat. Pekerjaan ini adalah permintaan ke Azure Media Services untuk menerapkan transformasi ke input konten video atau audio yang diberikan.
az ams transform create --name testEncodingTransform --preset AdaptiveStreaming --description 'a simple Transform for Adaptive Bitrate Encoding' -g amsResourceGroup -a amsaccount
Anda mendapatkan respons seperti ini:
{
"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"
}
Membuat aset output
Buat Aset output untuk digunakan sebagai output pekerjaan pengodean.
az ams asset create -n testOutputAssetName -a amsaccount -g amsResourceGroup
Anda mendapatkan respons seperti ini:
{
"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"
}
Memulai pekerjaan dengan menggunakan input HTTPS
Ketika mengirimkan pekerjaan untuk memproses video, Anda harus memberi tahu Azure Media Services di mana menemukan video input. Salah satu opsinya adalah menentukan URL HTTPS sebagai input pekerjaan, seperti ditunjukkan dalam contoh ini.
Saat menjalankan az ams job start
, Anda dapat mengatur label pada output pekerjaan. Lalu, Anda dapat menggunakan label untuk mengidentifikasi kegunaan aset output tersebut.
Jika Anda menetapkan nilai ke label, atur '--output-assets' ke "assetname=label".
Jika Anda tidak menetapkan nilai ke label, atur '--output-assets' ke "assetname=".
Perhatikan bahwa kami menambah "=" ke
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
Anda mendapatkan respons seperti ini:
{
"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"
}
Memeriksa status
Dalam lima menit, periksa status pekerjaan. Status tersebut harus menunjukkan "Selesai." Jika bukan selesai, periksa lagi dalam beberapa menit. Setelah selesai, lanjutkan ke langkah berikutnya dan buat Pencari Lokasi Streaming.
az ams job show -a amsaccount -g amsResourceGroup -t testEncodingTransform -n testJob001
Membuat pencari lokasi streaming dan mendapatkan jalur
Setelah pengodean selesai, langkah selanjutnya adalah membuat video dalam aset output tersedia untuk diputar klien. Untuk melakukan ini, pertama, buat Pencari Lokasi Streaming. Lalu, buat URL streaming yang dapat digunakan klien.
Membuat pencari lokasi streaming
az ams streaming-locator create -n testStreamingLocator --asset-name testOutputAssetName --streaming-policy-name Predefined_ClearStreamingOnly -g amsResourceGroup -a amsaccount
Anda mendapatkan respons seperti ini:
{
"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"
}
Dapatkan jalur pencari lokasi streaming
az ams streaming-locator get-paths -a amsaccount -g amsResourceGroup -n testStreamingLocator
Anda mendapatkan respons seperti ini:
{
"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"
}
]
}
Salin jalur streaming langsung (HLS) HTTP. Dalam hal ini, itu adalah /e01b2be1-5ea4-42ca-ae5d-7fe704a5962f/ignite.ism/manifest(format=m3u8-aapl)
.
Membuat URL
Dapatkan nama host titik akhir streaming
az ams streaming-endpoint list -a amsaccount -g amsResourceGroup -n default
Salin nilai hostName
. Dalam hal ini, itu adalah amsaccount-usw22.streaming.media.azure.net
.
Merakit URL
"https:// " + <nilai hostName> + <nilai jalur Hls>
Berikut contohnya:
https://amsaccount-usw22.streaming.media.azure.net/7f19e783-927b-4e0a-a1c0-8a140c49856c/ignite.ism/manifest(format=m3u8-aapl)
Menguji pemutaran dengan menggunakan Azure Media Player
Catatan
Jika pemutar dihosting di situs HTTPS, pastikan untuk memulai URL dengan “https”.
- Buka browser web dan buka https://aka.ms/azuremediaplayer/.
- Dalam kotak URL, tempelkan URL yang Anda buat di bagian sebelumnya. Anda dapat menempel URL dalam format HLS, Dash, atau Smooth. Azure Media Player akan secara otomatis menggunakan protokol streaming yang sesuai untuk pemutaran di perangkat Anda.
- Pilih Perbarui Pemutar.
Catatan
Azure Media Player dapat digunakan untuk pengujian tetapi tidak boleh digunakan di lingkungan produksi.
Bersihkan sumber daya
Jika Anda tidak lagi perlu sumber daya di grup sumber daya, termasuk Azure Media Services dan akun penyimpanan yang dibuat untuk tutorial ini, hapus grup sumber daya.
Jalankan perintah Azure CLI ini:
az group delete --name amsResourceGroup
Dapatkan bantuan dan dukungan
Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut:
- T & A
- Stack Overflow. Beri tag pertanyaan dengan
azure-media-services
. - @MSFTAzureMedia atau gunakan @AzureSupport untuk meminta dukungan.
- Buka tiket dukungan melalui portal Azure.