Esporta (0) Stampa
Espandi tutto
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Distribuzione di asset con l'API REST di Media Services

Aggiornamento: febbraio 2014

Servizi multimediali di Microsoft Azure offre diversi meccanismi per la distribuzione di contenuto ai client. È possibile consentire di scaricare il contenuto da un account di Archiviazione BLOB oppure trasmetterlo tramite flusso da Servizi multimediali.

Nelle seguenti sezioni viene descritto come distribuire contenuto ai client:

Per ulteriori informazioni e concetti e la terminologia correlata alla distribuzione di contenuto multimediale, vedere Distribuzione di contenuto.

ImportantImportante
Quando si usa l'API REST di Servizi multimediali, tenere conto delle seguenti considerazioni:

ImportantImportante
Quando si usano i localizzatori, tenere conto delle seguenti considerazioni:

  • Può verificarsi un ritardo di 30-40 secondi tra la creazione di un localizzatore e la relativa disponibilità per l'utilizzo. Questo problema si verifica sia per i localizzatori URL di firma di accesso condiviso che per i localizzatori di origine.

  • Non è possibile avere associati a un determinato asset più di cinque localizzatori univoci alla volta. Per ulteriori informazioni, vedere Locator.

  • Media Services utilizza il valore della proprietà IAssetFile.Name durante la compilazione di URL per la riproduzione in flusso di contenuti, ad esempio http://{AccountWAMS}.origin.mediaservices.windows.net/{GUID}/{IAssetFile.Name}/streamingParameters. Per tale motivo, la codifica percentuale non è consentita. Il valore della proprietà Name non può contenere alcuno dei seguenti caratteri riservati per la codifica percentuale: !*'();:@&=+$,/?%#[]". L'estensione del nome di file, inoltre, può essere preceduta da un solo '.' (punto).

Prima di scaricare o trasmettere contenuto multimediale tramite flusso, definire un'entità AccessPolicy con autorizzazioni di lettura e creare l'entità Locator appropriata che specifichi il tipo di meccanismo di distribuzione che si desidera abilitare per i client. Per ulteriori informazioni sulle proprietà disponibili, vedere Proprietà dell'entità AccessPolicy.

Nel seguente esempio viene illustrato come specificare l'entità AccessPolicy per le autorizzazioni di lettura per un asset specifico.

POST https://media.windows.net/API/AccessPolicies HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 74
Expect: 100-continue

{"Name": "DownloadPolicy", "DurationInMinutes" : "300", "Permissions" : 1}

Se l'esito è positivo, viene restituito un codice di riuscita 201 in cui viene descritta l'entità AccessPolicy creata. Verranno quindi utilizzati l'Id di AccessPolicy insieme all'Id dell'asset in cui è contenuto il file che si desidera distribuire (ad esempio un asset di output) per la creazione dell'entità Locator.

noteNota
Il flusso di lavoro di base è lo stesso previsto per il caricamento di un file durante l'inserimento di un asset. Per ulteriori informazioni sul caricamento di un file, vedere Caricare un file nel contenitore Archiviazione BLOB. Come per il caricamento dei file, se l'utente o i client desiderano accedere immediatamente ai file, impostare il valore StartTime su cinque minuti prima dell'ora corrente. Questa azione è necessaria perché vi può essere una leggera differenza di orario tra il client e Servizi multimediali. Il valore StartTime deve seguire il seguente formato di data e ora: YYYY-MM-DDTHH:mm:ssZ (ad esempio, "2014-05-23T17:53:50Z").

Nel codice riportato di seguito viene illustrato come scaricare un file multimediale creato e caricato precedentemente. L'entità AccessPolicy dispone di autorizzazioni di lettura impostate e il percorso localizzatore fa riferimento a un URL di download di firma di accesso condiviso.

POST https://media.windows.net/API/Locators HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53", "Type":1}

Se l'esito è positivo, viene restituita la seguente risposta:

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 1150
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')
Server: Microsoft-IIS/7.5
x-ms-request-id: 8cfd8556-3064-416a-97f2-67d9e35f0911
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:32 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/Asset"}},"Id":"nb:lid:UUID:8e5a821d-2194-4d00-8884-adf979856874","ExpirationDateTime":"\/Date(1337049393000)\/","Type":1,"Path":"https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031393000)\/"}}

La proprietà Path fa riferimento all'URL di firma di accesso condiviso per l'Id di asset specificato nella richiesta. Per scaricare il file, aggiungere il nome file del contenuto che si desidera scaricare nell'URL di firma di accesso condiviso prima del download.

Nel seguente esempio viene illustrato come scaricare il file dall'Archiviazione BLOB utilizzando un Web browser:

GET https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640/samplevid.wmv?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: yourstorageaccount.blob.core.windows.net
Connection: Keep-Alive

Se l'esito è positivo, viene restituita la seguente risposta:

HTTP/1.1 200 OK
Content-Length: 4045744
Content-Type: application/octet-stream
Last-Modified: Mon, 14 May 2012 21:41:26 GMT
ETag: 0x8CF00317343F6D8
Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: da01ef74-7bf6-4837-b36d-8a6c08a26c3f
Date: Mon, 14 May 2012 22:02:45 GMT

??v?3?????>1?p????m.?v9?/??s?a?(C?D?
wsh?1hfN??C?V??,?-?sd??:?j?dCfT?,?6????8?f?p??o??"?????6C??q?????KbP???w*????i
[Remaining data truncated for readability.]
ImportantImportante
Se si scarica contenuto a cui è stata applicata la crittografia di archiviazione, sarà necessario decrittografarlo manualmente prima di eseguirne il rendering oppure utilizzare il processore di contenuti multimediali Storage Decryption in un'attività di elaborazione per generare file elaborati non crittografati in un oggetto OutputAsset e quindi eseguire il download da tale asset. Per ulteriori informazioni sull'elaborazione, vedere Creazione di un processo di codifica con l'API REST di Media Services. I localizzatori URL di firma di accesso condiviso inoltre non possono essere aggiornati una volta creati. Non è possibile ad esempio riutilizzare lo stesso localizzatore con un valore StartTime aggiornato. Questo è dovuto al modo in cui vengono creati gli URL di firma di accesso condiviso. Se si desidera accedere a un asset per il download dopo la scadenza di un localizzatore, sarà necessario crearne uno nuovo con un nuovo valore StartTime.

Le uniche differenze tra la creazione di un localizzatore URL di origine e un localizzatore URL di firma di accesso condiviso consistono nel valore di "Type" e nella necessità di convertire il contenuto che si desidera trasmettere tramite flusso dal formato MP4 al formato Smooth Streaming (con estensione ism*). Quest'ultima operazione può essere eseguita utilizzando il processore di contenuti multimediali per la conversione dal formato MP4 al formato Smooth Streaming in un'attività di elaborazione. Per la trasmissione tramite flusso in dispositivi iOS, è inoltre necessario aggiungere un'attività di elaborazione che utilizzi il processore di contenuti multimediali per la conversione dal formato Smooth Streaming al formato HLS per creare un asset di output contenente i file necessari per la trasmissione tramite flusso in tali dispositivi. Per un esempio di concatenamenti di attività, vedere Creare un processo. Diversamente dai localizzatori URL di firma di accesso condiviso, i localizzatori di origine possono essere aggiornati con nuovi valori StartTime dopo la creazione. Per ulteriori informazioni sui localizzatori e su come aggiornarli, vedere Locator.

Nel seguente codice viene illustrato come creare un localizzatore URL di origine:

POST https://media.windows.net/API/Locators HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53",, "Type":2}

Se l'esito è positivo, viene restituita la seguente risposta:

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 981
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')
Server: Microsoft-IIS/7.5
x-ms-request-id: 2eac4158-fc78-4fa2-81ee-c9f582dc385f
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:39 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/Asset"}},"Id":"nb:lid:UUID:52034bf6-dfae-4d83-aad3-3bd87dcb1a5d","ExpirationDateTime":"\/Date(1337049395000)\/","Type":2,"Path":"http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031395000)\/"}}

Per fare riferimento a un URL di origine nel formato Smooth Streaming in un lettore multimediale di flusso, è necessario aggiungere la proprietà Path con il nome del file manifesto Smooth Streaming seguito da "/manifest". Utilizzando ad esempio l'URL di origine mostrato nell'esempio precedente, l'URL effettivo utilizzato dai client Smooth Streaming sarebbe http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.ism/manifest. Per i client HLS invece l'esempio sarebbe http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.isml/manifest(format=m3u8-aapl).

noteNota
In questa sezione l'URI http://media.windows.net nel valore Path viene utilizzato come esempio. Il valore effettivo dipende dalla distribuzione di Servizi multimediali a cui si è connessi.

Vedere anche

Mostra:
© 2014 Microsoft