0

在对视频进行编码后创建缩略图时出现错误。我的脚本中没有任何错误,但是当我尝试在 asp:image 中加载 url 时,出现以下错误

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
ResourceNotFound
<Message>
The specified resource does not exist. RequestId:2224a828-0001-0011-4b57-900926000000 Time:2014-12-28T21:38:07.2803364Z
</Message>
</Error>

//Thumbnail Creation
IJob job1 = context.Jobs.Create("Thumbnail job");
IMediaProcessor processor1 = (from p in context.MediaProcessors where p.Name == "Windows Azure Media Encoder" select p).ToList().OrderBy(wame => new Version(wame.Version)).LastOrDefault();
ITask thumbnailTask = job1.Tasks.AddNew("Thumbnail Task", processor, "Thumbnails", TaskOptions.ProtectedConfiguration);
thumbnailTask.InputAssets.Add(inputAsset);
thumbnailTask.OutputAssets.AddNew(string.Format("{0} Thumbnails", CreateAsset), AssetCreationOptions.None);
job1.Submit();
job1.GetExecutionProgressTask(CancellationToken.None).Wait();
IAsset thumbnailAsset = job1.OutputMediaAssets[0];
var jpgAssetFile = thumbnailAsset.AssetFiles.ToList().Where(f => f.Name.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)).First();
IAccessPolicy thumbpolicy = context.AccessPolicies.Create("Streaming policy", TimeSpan.FromDays(365), AccessPermissions.Read);
ILocator thumboriginLocator = context.Locators.CreateLocator(LocatorType.OnDemandOrigin, thumbnailAsset, thumbpolicy, DateTime.UtcNow.AddMinutes(-5));

编辑 IJob thumbjob = context.Jobs.Create("My Thumbnail job"); IMediaProcessor processor = (from p in context.MediaProcessors where p.Name == "Windows Azure Media Encoder" select p).ToList().OrderBy(wame => new Version(wame.Version)).LastOrDefault(); ITask task = thumbjob.Tasks.AddNew("My thumbnail task", processor, "Thumbnails", TaskOptions.ProtectedConfiguration); task.InputAssets.Add(inputAsset); task.OutputAssets.AddNew("Output asset", AssetCreationOptions.None); thumbjob.Submit();

        IAsset thumbnailAsset = context.Assets.Create(trainingfolder + "_" + Path.GetFileNameWithoutExtension(fileName) + "_thumb", AssetCreationOptions.None);
        IAccessPolicy accessPolicy = context.AccessPolicies.Create("Thumb Policy", TimeSpan.FromDays(30), AccessPermissions.Read | AccessPermissions.Write);
        ILocator locator = context.Locators.CreateLocator(LocatorType.Sas, thumbnailAsset, accessPolicy);

4

1 回答 1

0

您是否阅读过文档

从创建定位器到可用时,可能会有 30-40 秒的延迟。此问题适用于 SAS URL 和 OnDemandOrigin 定位器。

当您使用 Azure 媒体服务时,事情不是即时的。难怪您看不到带有您提供的代码的缩略图。我从未见过可以立即使用的定位器。我真的鼓励您查看这个示例 MVC Web 应用程序中的代码,该应用程序旨在展示媒体服务的基本概念。代码中有一部分还在创建新的定位器/访问策略之前检查现有定位器/访问策略。您确实需要更好地管理您的资产。并考虑到创建和可用性之间的这些延迟

于 2014-12-29T06:51:26.493 回答