0
我正在使用Azure媒体服务与asp.net c#应用程序来连接资产中的媒体剪辑并为此创建新作业。获取RequestEntityTooLarge例外
当我连接10个或更少的剪辑合并成单个剪辑(我正在创建来自发布在Azure上的Feed的高光,持续时间为1分钟的不同点)。它工作正常,我得到一个完美的剪辑合并之后。
当我增加没有。的剪辑超过10,我得到了job.submit()方法的异常(RequestEntityTooLarge)。以下是我的代码。
public string LaunchJobs_OneJobPerInputAsset_OneTaskPerfConfig(CloudMediaContext _context, IMediaProcessor processor, List<IAsset> selectedassets, string jobname, int jobpriority, string taskname, string outputassetname, List<ClipConfig> configuration, AssetCreationOptions myAssetCreationOptions, TaskOptions myTaskOptions, string storageaccountname = "")
{
string assetJobId = "";
string tasknameloc = "";
int count = 0;
outputAssetsList = new List<IAsset>();
// a job per asset, one task per config
foreach (IAsset asset in selectedassets)
{
string jobnameloc = jobname.Replace(Constants.NameconvInputasset, asset.Name);
IJob myJob = _context.Jobs.Create(jobnameloc, jobpriority);
_contextGlobal = _context;
foreach (var config in configuration)
{
if (config.PublishUrl.Contains(asset.Locators.SingleOrDefault().Path))
{
tasknameloc = taskname.Replace(Constants.NameconvInputasset, asset.Name).Replace(Constants.NameconvAMEpreset, config.Configuration);
ITask myTask = myJob.Tasks.AddNew(
tasknameloc,
processor,
config.Configuration,
myTaskOptions);
myTask.InputAssets.Add(asset);
// Add an output asset to contain the results of the task
string outputassetnameloc = outputassetname.Replace(Constants.NameconvInputasset, asset.Name).Replace(Constants.NameconvAMEpreset, config.Configuration);
outputassetnameloc = outputassetnameloc + '_' + count;
if (storageaccountname == "")
{
myTask.OutputAssets.AddNew(outputassetnameloc, asset.StorageAccountName, myAssetCreationOptions); // let's use the same storage account than the input asset
}
else
{
myTask.OutputAssets.AddNew(outputassetnameloc, storageaccountname, myAssetCreationOptions);
}
outputAsssetDetailforConcatenate.Add(new ClipConfig { Name = outputassetnameloc, StartTime = config.StartTime, Duration = config.Duration });
count++;
}
else
{
continue;
}
}
// Submit the job and wait until it is completed.
bool Error = false;
try
{
myJob.StateChanged += new EventHandler<JobStateChangedEventArgs>(JobStateChanged);
myJob.Submit();// I am getting exception in this line if the no. of clips are greater then 10.
myJob.GetExecutionProgressTask(CancellationToken.None);
outputAssetsList.AddRange(myJob.OutputMediaAssets);
// Call function to update status in session
SetStatusValueInSession("Clip generation job has submitted.");
assetJobId = myJob.Id;
}
catch (Exception ex)
{
// Add useful information to the exception
Error = true;
}
if (Error)
{
assetJobId = "There is error in job process.";
}
}
return assetJobId;
}
是否有任何限制连接只有10个剪辑或有任何设置,以增加no。 Azure媒体服务中的素材片段?