2017-05-11 2 views
0

Seit einiger Zeit versuchen wir, Videos auf den Azure Media-Dienst hochzuladen und sie auf einem Mobiltelefon anzusehen. Das funktioniert in einem PC und die Situation ist sehr verrückt.Wie können Sie ein Video auf Azure Media Services hochladen und es auf einem Handy ansehen?

Wir laden ein Video zu Azure Media Service mit .NET API. Wir können diese Videos in unserem Azure Media Player ansehen. Aber NICHT seit Azure Administration (Es gibt eine Option, um Videos zu sehen). Weder im Azure Media Player Sample Viewer

Dann wissen wir nicht, ob das Problem in Azure Administration, Azure Media Player oder whe wir Video hochladen (Erstellen Sie Asset, Codierung, Locator und Richtlinie erstellen ...) .

Dies ist ein eines meiner Videos: http://media6franquiciasworldw.streaming.mediaservices.windows.net/e70ca01a-0be8-4f54-911c-6f4b85c0d396/12_mixtaSaltamontes.ism/manifest

Dies ist mein Code:

 //Creamos el ASSET a apartir de un archivo 
     IAsset inputAsset = _context.Assets.CreateFromFile(video.PathFile, AssetCreationOptions.StorageEncrypted); 

     //Encode/Codificación del vídeo. Transformamos el primer asset en otro que será el realmente difundido. Se usa un patrón (JSON/XML) definido en video.Enconder 
     IAsset encodedAsset = EncodeToAdaptiveBitrate(inputAsset, AssetCreationOptions.None, video.Enconder, video.GetAssetName(), video); 

     //If I use "AssetDeliveryProtocol.All", throw error: "Account is not enabled for HDS streaming" 
     IAssetDeliveryPolicy policy = _context.AssetDeliveryPolicies.Create("Clear Policy", AssetDeliveryPolicyType.NoDynamicEncryption, AssetDeliveryProtocol.SmoothStreaming, null); 
     encodedAsset.DeliveryPolicies.Add(policy); 

     // Publish the output asset by creating an Origin locator for adaptive streaming 
     _context.Locators.Create(
      LocatorType.OnDemandOrigin, 
      encodedAsset, 
      AccessPermissions.Read, 
      TimeSpan.FromDays(3650)); 

Und hier ist mein "Encoder": https://pastebin.com/zQ8rS73c

Antwort

0

ich ein paar Probleme beachten Sie, dass kann hier falsch sein.

  1. Haben Sie einen Streaming-Endpunkt in Ihrem Konto gestartet und ausgeführt? Stellen Sie sicher, dass es zuerst da ist.
  2. Verwenden Sie nicht AssetDeliveryProtocol.All. Es gibt ein Problem im SDK, in dem versucht wird, Adobe HDS hinzuzufügen, für das wir die Unterstützung löschen. Sie möchten nur die spezifischen Protokolle verwenden, die Sie für das Streaming auf dem Übermittlungsprotokoll benötigen. So verwenden Sie die folgenden Muster: AssetDeliveryProtocol.SmoothStreaming | AssetDeliveryProtocol.Dash | AssetDeliveryProtocol.HLS | AssetDeliveryProtocol.ProgressiveDownload

Sie wurden wahrscheinlich keine Wiedergabe immer auf iOS- oder Android-Kunden aufgrund der Tatsache, dass Sie nur das Protokoll gesetzt SmoothStreaming zu ermöglichen, die nur auf dem Desktop oder benutzerdefinierte unterstützt werden würden mobile Kunden. Das Hinzufügen von DASH für Android und Apple HLS für iOS sollte hier helfen.

+0

Danke !! Verwenden: AssetDeliveryProtocol.SmoothStreaming | AssetDeliveryProtocol.Dash | AssetDeliveryProtocol.HLS Das funktioniert !! – user3809539

Verwandte Themen