我正在尝试使用Azure Media Encoder Standard运行一些视频编码。但是,进程运行然后错误输出来自状态更改事件中的Task对象的这个模糊错误:
Error code: Unknown
Error message: The given key was not present in the dictionary.
对编码进行排队的代码大致如下:
IMediaProcessor mediaProcessor = GetLatestMediaProcessorByName(context, "Media Encoder Standard");
var jobName = this._inputAsset.Name + "_EncodingJob";
var job = context.Jobs.Create(jobName);
ITask encodingTask = job.Tasks.AddNew(
this._inputAsset.Name + "_EncodingTask",
mediaProcessor,
"H264 Adaptive Bitrate MP4 Set 720p",
TaskOptions.ProtectedConfiguration);
encodingTask.InputAssets.Add(this._inputAsset);
encodingTask.OutputAssets.AddNew(this._inputAsset.Name + "_EncodingOutput", AssetCreationOptions.None);
job.StateChanged += job_StateChanged;
我正在尝试编码的视频已经是MP4,在上述代码执行之前,资源是在其容器中使用视频blob创建的。
答案 0 :(得分:1)
我认为您正在尝试使用Media Encoder Standard预设的Azure Media Encoder。两个编码器之间支持的预设列表不相同。
您可以在此页面找到Media Encoder Standard的预设:https://msdn.microsoft.com/en-us/library/azure/mt269960.aspx
此页面上的Azure Media Encoder预设:https://msdn.microsoft.com/en-us/library/azure/dn619392.aspx
希望这有帮助,
于连