如何使用 Azure 媒体 SDK v3.5.2 提交索引作业



根据Microsoft文档,我应该能够使用以下代码通过 SDK 向 Azure 媒体服务提交新的索引作业:

// Get a reference to the Azure Media Indexer.
string MediaProcessorName = "Azure Media Indexer",
IMediaProcessor processor = GetLatestMediaProcessorByName(MediaProcessorName);

但是,从最新版本的SDK(3.5.2)开始,此方法不再可用,此外,还有一类MediaProcessorNames,但它们目前仅限于:

WindowsAzureMediaEncoderWindowsAzureMediaEncrypterWindowsAzureMediaPackager

我似乎在任何地方都找不到任何更新的文档。如何使用新库提交索引作业?

经过更多的挖掘,似乎资源已被移动,或者文档缺少参考。

现在,需要在项目中包括 Azure 媒体服务扩展库。

从那里您可以执行以下操作:

var mediaContext = new CloudMediaContext(accountName, accessKey);
var mediaProcessorName = "Azure Media Indexer";
var mediaProcessor = mediaContext.Processors.GetLatestMediaProcessorByName(mediaProcessorName);

扩展将完成一项工作,因为它们提供了一个包装器方法来快速执行查询。通常,系统具有一组媒体处理器。每个处理器可能有几个版本,您可以通过查询媒体处理器实体来检索此信息。

MSDN 文档 https://azure.microsoft.com/en-us/documentation/articles/media-services-get-media-processor/列出现有的处理器集以及如何查询它们的示例代码。

有问题的方法稍后将在您链接到的文档代码片段中定义:

static IMediaProcessor GetLatestMediaProcessorByName(string mediaProcessorName)
{
    var processor = _context.MediaProcessors
    .Where(p => p.Name == mediaProcessorName)
    .ToList()
    .OrderBy(p => new Version(p.Version))
    .LastOrDefault();
    if (processor == null)
        throw new ArgumentException(string.Format("Unknown media processor",
                                               mediaProcessorName));
    return processor;
}  

首先,我建议在这里查看我的介绍性博客文章,以便提交您的第一份索引工作。

来源:Azure 媒体索引器的项目经理

最新更新