【问题标题】:Cannot Publish Encoded Asset in Azure Media Services无法在 Azure 媒体服务中发布编码资产
【发布时间】:2016-08-17 10:57:50
【问题描述】:

我在 Azure 媒体服务中发布编码资产时遇到问题。

我可以看到我的资产正在创建和编码,因为它显示在我的媒体服务帐户中,但“发布”功能失败。通过点击门户中的发布按钮,我可以成功发布由我的应用程序创建和编码的任何资产。但是,我需要能够以编程方式进行。这是我的方法。我没有收到任何错误...

   `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;

    }`

谁能看出我做错了什么?

【问题讨论】:

    标签: c# asp.net-mvc azure azure-media-services


    【解决方案1】:

    粘贴的代码不会发布资产,只是将 .ism 文件标记为资产中的主文件。

    要发布资产,您应该创建一个访问定位器,如下所述:https://azure.microsoft.com/en-us/documentation/articles/media-services-dotnet-get-started/#publish-the-asset-and-get-urls-for-streaming-and-progressive-download

    【讨论】:

    • 谢谢。我已经尝试过了,但我会再试一次。我对 Azure 完全陌生,所以我认为目前大多数问题都是由于我的理解上的差距造成的。
    • 澄清一下,这是发布已编码媒体文件的方式吗?我的编码工作正常。我只是在媒体服务中获得了一个未发布的资产。如果我点击门户中的“发布”按钮,它会创建一个 url。比如whatever.blob.core.windows.net/…我就可以嵌入成功了。
    • 好的。我想到了。感谢您为我指明正确的方向。我已经设置了访问定位器。问题是我正在寻找一个带有文件扩展名的资产文件 before 它被编码。 var streamingAssetFile = assetFiles.Where(f => f.Name.ToLower().EndsWith(".wmv")).FirstOrDefault(); 显然它找不到具有该扩展名的资产,所以它只是没有发布。我将其更改为查找 .mp4,现在它可以正常工作了。
    • 我将您的答案标记为正确,因为它确实导致了我的新手错误。 :-D
    • 好的,太好了!乐于助人。
    猜你喜欢
    • 2018-01-30
    • 2013-10-24
    • 1970-01-01
    • 2023-01-26
    • 2016-12-30
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 2017-08-04
    相关资源
    最近更新 更多