首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对Azure Media Services中的2个作业任务使用相同的输出资产

对Azure Media Services中的2个作业任务使用相同的输出资产
EN

Stack Overflow用户
提问于 2014-03-11 08:42:59
回答 3查看 997关注 0票数 2

我正在使用Windows Azure Media Services在上载后进行视频处理。我的基本工作流程包括将文件上传到WAMS资源,创建作业,创建两个任务-第一个任务从视频创建缩略图,第二个任务将其编码为HTML5。目前,一切都很好,但是我不得不为每个任务创建两个不同的输出资产容器。作业完成后,我将文件(缩略图)复制到视频资源中,并删除缩略图资源,以便所有生成的文件都在同一资源中。

这是有效的,但感觉很麻烦,并且会带来一些开销,即复制文件,然后删除不必要的资产。有没有一种方法可以告诉编码任务使用缩略图任务的输出资源?

EN

回答 3

Stack Overflow用户

发布于 2014-03-12 23:44:38

简短的回答是否定的。这是设计出来的,我很想知道为什么你的用例需要.jpg和你的视频在同一个容器里。

票数 1
EN

Stack Overflow用户

发布于 2014-03-13 05:52:46

请使用以下代码。

上面的ThumbnailEmbed="False">

  • The“00:00:00”ThumbnailMode="BestFrame“ThumbnailJpegCompression="95”ThumbnailCodec=" JPEG“ThumbnailSize="100%,100%”指示编码器在视频时间轴上选择合适的帧(ThumbnailMode=“BestFrame”),并以与输入视频相同的分辨率创建JPEG图像。您可以进一步调整上述设置-请参见http://msdn.microsoft.com/en-us/library/dn554337.aspx以获取完整的列表XML将生成的预设

  • 保存到适当的文件,例如“EncodeWithImage.xml”

  • Use以下代码片段以提交编码任务:

Path.GetFileNameWithoutExtension(inputPresetFile);inputPresetFile = @“C:\TEMP\EncodeWithImage.xml”;string presetName = string IAsset Asset =?;//这是任务的输入资产IJob作业=_context.Jobs.Create(“为”+ asset.Name +“编码作业,使用”+presetName“编码);Console.WriteLine(”为“+ asset.Name +”编码作业,使用“+presetName”编码);//获取媒体处理器引用,并将用于特定任务的处理器的名称传递给它。IMediaProcessor processor = GetLatestMediaProcessorByName("Windows Azure Media Encoder");Console.WriteLine("Got“+ processor.Name + ",ID:”+ processor.Id + ",version:“+ processor.Version);//将配置数据读入字符串。string configuration = File.ReadAllText(inputPresetFile);//使用字符串预置创建包含编码明细的任务task = job.Tasks.AddNew("Encode Task for“+ asset.Name + ",Encode using”+ presetName,processor,configuration,Microsoft.WindowsAzure.MediaServices.Client.TaskOptions.None);//指定要编码的输入资产。task.InputAssets.Add( asset );//添加一个输出资产来包含作业的结果。Task.OutputAssets.AddNew(“用于编码的输出资源”+ asset.Name +“使用”+ presetName,AssetCreationOptions.None);//启动作业。job.Submit();

票数 1
EN

Stack Overflow用户

发布于 2014-03-11 13:27:03

如果我没理解错的话,你想链接两个任务,其中第二个任务的输入是第一个任务的输出。如果是,则从github存储库复制/粘贴相应的测试:https://github.com/WindowsAzure/azure-sdk-for-media-services/blob/dev/test/net/Scenario/JobTests.cs

代码语言:javascript
复制
[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);
            }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22314267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档