2016-04-23 12 views
0

Ich habe ein Problem beim Veröffentlichen eines codierten Assets in Azure Media Services.Codiertes Asset kann nicht in Azure Media Services veröffentlicht werden

Ich kann sehen, dass mein Asset erstellt und codiert wird, weil es in meinem Media Services-Konto angezeigt wird, aber die "publish" -Funktionalität fehlschlägt. Ich kann jedes Asset, das von meiner Anwendung erstellt und codiert wird, erfolgreich veröffentlichen, indem ich auf die Schaltfläche "Veröffentlichen" im Portal klicke. Ich muss es jedoch programmatisch machen können. Das ist meine Methode. Ich bekomme keine Fehler ...

`private static IAsset PublishAsset(IJob job) 
    { 
     var preparedAsset = job.OutputMediaAssets.FirstOrDefault(); 
     var ismAssetFiles = preparedAsset.AssetFiles.ToList(). 
      Where(f => f.Name.EndsWith(".ism", StringComparison.OrdinalIgnoreCase)) 
      .ToArray(); 

     ismAssetFiles.First().IsPrimary = true; 
     ismAssetFiles.First().Update(); 
     return preparedAsset; 

    }` 

Kann jemand sehen, was ich falsch mache?

Antwort

1

Der eingefügte Code veröffentlicht das Asset nicht, sondern markiert nur die .ism-Datei als primäre Datei im Asset.

den Vermögenswert zu veröffentlichen, sollten Sie einen Zugangs-Locator erstellen, wie hier erklärt: https://azure.microsoft.com/en-us/documentation/articles/media-services-dotnet-get-started/#publish-the-asset-and-get-urls-for-streaming-and-progressive-download Dank

+0

. Ich habe das versucht, aber ich werde es noch einmal versuchen. Ich bin komplett neu bei Azure, daher denke ich, dass die meisten Probleme auf Lücken in meinem Verständnis zurückzuführen sind. – MountainBiker

+0

Nur um es zu verdeutlichen, ist es die Möglichkeit, eine bereits verschlüsselte Mediendatei zu veröffentlichen? Meine Kodierung Stück funktioniert gut. Ich habe gerade ein unveröffentlichtes Asset in Media Services. Wenn ich im Portal auf die Schaltfläche "Veröffentlichen" klicke, wird eine URL erstellt. Zum Beispiel https://whatever.blob.core.windows.net/asset-904e82a9-c277-45cd-aa88-071948c39fd8/Video1_H264_2200kbps_AAC_und_ch2_128kbps.mp4?sv=2012-02-12&sr=c&si=a6ae677a-f83f-4233 -af76-0ac3e438dccc & sig = d68NnWBHO8Vie8zBhKZfk4zMswmRZgzS3pe7eonn2ZE% 3D & st = 2016-04-25T03% 3A17% 3A22Z & se = 2116-04-01T03% 3A17% 3A22Z Ich kann das dann erfolgreich einbetten. – MountainBiker

+0

Ok. Ich habe es herausgefunden. Danke, dass Sie mich in die richtige Richtung weisen. Ich hatte bereits einen Zugangs-Locator eingerichtet. Das Problem war, dass ich nach einer Asset-Datei mit der Erweiterung der Datei gesucht habe * bevor * es codiert wurde. 'var streamingAssetFile = assetFiles.Where (f => f.Name.ToLower(). EndsWith (". Wmv ")). FirstOrDefault();' Offensichtlich konnte es kein Asset mit dieser Erweiterung mehr finden, also hat es einfach nicht veröffentlicht. Ich habe es geändert, um nach .mp4 zu suchen und jetzt funktioniert es gut. – MountainBiker