Ich benutze Azure Media-Service mit asp.net C# -Anwendung, um Medienclips aus Assets zu konkatuieren und einen neuen Job dafür zu erstellen.Anfrage RequestEntityTooLarge Ausnahme
Wenn ich 10 oder weniger verketten, dann Clips in einzelne Clip zusammenfügen (Ich erstelle Highlights aus einem Feed auf azurblauen mit verschiedenen Punkten von 1 Minute Dauer.) Es funktioniert gut und ich bekomme einen perfekten Clips nach dem Zusammenführen von ihnen.
Wenn ich die Nr. Erhöhen. von Clips zu mehr als 10, bekomme ich die Ausnahme (RequestEntityTooLarge) auf die job.submit() -Methode. Unten ist mein Code.
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;
}
Gibt es eine Grenze zu verketten nur 10 Clips oder es gibt eine Einstellung, um die Nr. Zu erhöhen. von Clips in Azure Media Service?