如何使用 Azure Media SDK v3.5.2 提交索引作业
How do I submit an indexing job with Azure Media SDK v3.5.2
根据 Microsoft documentation,我应该能够使用以下代码通过 SDK 向 Azure 媒体服务提交新的索引作业:
// Get a reference to the Azure Media Indexer.
string MediaProcessorName = "Azure Media Indexer",
IMediaProcessor processor = GetLatestMediaProcessorByName(MediaProcessorName);
但是,从最新版本的SDK(3.5.2)开始,这个方法就不再可用了,另外还有class个MediaProcessorNames,但是目前仅限于:
WindowsAzureMediaEncoder
WindowsAzureMediaEncrypter
WindowsAzureMediaPackager
我似乎无法在任何地方找到任何更新的文档。如何使用新库提交索引作业?
进一步挖掘后,资源似乎已被移动,或者文档缺少引用。
现在,您需要在项目中包含 Azure Media Services Extensions 库。
从那里你可以做类似的事情:
var mediaContext = new CloudMediaContext(accountName, accessKey);
var mediaProcessorName = "Azure Media Indexer";
var mediaProcessor = mediaContext.Processors.GetLatestMediaProcessorByName(mediaProcessorName);
扩展将发挥作用,因为它们提供了一种包装方法来快速进行查询。一般系统有一套媒体处理器。每个处理器可能有几个版本,您可以通过查询 MediaProcessor 实体来检索此信息。
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;
}
对于初学者,我建议您查看我的 introductory blog post here 以提交您的第一个索引工作。
资料来源:Azure 媒体索引器程序经理
根据 Microsoft documentation,我应该能够使用以下代码通过 SDK 向 Azure 媒体服务提交新的索引作业:
// Get a reference to the Azure Media Indexer.
string MediaProcessorName = "Azure Media Indexer",
IMediaProcessor processor = GetLatestMediaProcessorByName(MediaProcessorName);
但是,从最新版本的SDK(3.5.2)开始,这个方法就不再可用了,另外还有class个MediaProcessorNames,但是目前仅限于:
WindowsAzureMediaEncoder WindowsAzureMediaEncrypter WindowsAzureMediaPackager
我似乎无法在任何地方找到任何更新的文档。如何使用新库提交索引作业?
进一步挖掘后,资源似乎已被移动,或者文档缺少引用。
现在,您需要在项目中包含 Azure Media Services Extensions 库。
从那里你可以做类似的事情:
var mediaContext = new CloudMediaContext(accountName, accessKey);
var mediaProcessorName = "Azure Media Indexer";
var mediaProcessor = mediaContext.Processors.GetLatestMediaProcessorByName(mediaProcessorName);
扩展将发挥作用,因为它们提供了一种包装方法来快速进行查询。一般系统有一套媒体处理器。每个处理器可能有几个版本,您可以通过查询 MediaProcessor 实体来检索此信息。
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;
}
对于初学者,我建议您查看我的 introductory blog post here 以提交您的第一个索引工作。
资料来源:Azure 媒体索引器程序经理