我正在使用Windows Azure Media Services在上载后进行视频处理。我的基本工作流程包括将文件上传到WAMS资源,创建作业,创建两个任务-第一个任务从视频创建缩略图,第二个任务将其编码为HTML5。目前,一切都很好,但是我不得不为每个任务创建两个不同的输出资产容器。作业完成后,我将文件(缩略图)复制到视频资源中,并删除缩略图资源,以便所有生成的文件都在同一资源中。
这是有效的,但感觉很麻烦,并且会带来一些开销,即复制文件,然后删除不必要的资产。有没有一种方法可以告诉编码任务使用缩略图任务的输出资源?
发布于 2014-03-11 13:27:03
如果我没理解错的话,你想链接两个任务,其中第二个任务的输入是第一个任务的输出。如果是,则从github存储库复制/粘贴相应的测试:https://github.com/WindowsAzure/azure-sdk-for-media-services/blob/dev/test/net/Scenario/JobTests.cs
[TestMethod]
[DeploymentItem(@"Media\Thumbnail.xml", "Media")]
[DeploymentItem(@"Media\SmallWmv.wmv", "Media")]
[Priority(0)]
[TestCategory("DailyBvtRun")]
public void ShouldSubmitAndFinishChainedTasks()
{
IAsset asset = AssetTests.CreateAsset(_mediaContext, _smallWmv, AssetCreationOptions.StorageEncrypted);
IJob job = _mediaContext.Jobs.Create("Test");
IMediaProcessor mediaProcessor = GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MpEncoderName);
ITask task = job.Tasks.AddNew("Task1", mediaProcessor, GetWamePreset(mediaProcessor), TaskOptions.None);
task.InputAssets.Add(asset);
IAsset asset2 = task.OutputAssets.AddNew("Another asset");
string xmlPreset = File.ReadAllText(WindowsAzureMediaServicesTestConfiguration.ThumbnailXml);
ITask task2 = job.Tasks.AddNew("Task2", mediaProcessor, xmlPreset, TaskOptions.None);
task2.InputAssets.Add(asset2);
task2.OutputAssets.AddNew("JobOutput", options: AssetCreationOptions.None);
job.Submit();
WaitForJob(job.Id, JobState.Finished, VerifyAllTasksFinished);
}https://stackoverflow.com/questions/22314267
复制相似问题