Media Services .NET ile kodlarken bir videoyu alt kırpın
Bir işikullanarak kodlarken videoyu kırpabilir veya alt kırpabilirsiniz. Bu işlev, Builtınstandardencoderönayar ön ayarları veya Standardencoderönayar önayarları kullanılarak oluşturulan dönüşümlerle birlikte kullanılır.
Aşağıdaki C# örneği bir varlık içinde bir kodlama işi gönderdiği bir videoyu kırpan bir iş oluşturur.
Önkoşullar
Bu konuda açıklanan adımları tamamlayabilmeniz için şunları yapmanız gerekir:
- Azure Media Services hesabı oluşturma
- Bir dönüşüm ve giriş ve çıkış varlıkları oluşturun. .NET öğreticisini kullanarak karşıya yükleme, kodlama ve akış videoları Için nasıl dönüşüm ve giriş ve çıkış varlıkları oluşturulacağını görebilirsiniz.
- Kodlama kavramı konusunu gözden geçirin.
Örnek
/// <summary>
/// Submits a request to Media Services to apply the specified Transform to a given input video.
/// </summary>
/// <param name="client">The Media Services client.</param>
/// <param name="resourceGroupName">The name of the resource group within the Azure subscription.</param>
/// <param name="accountName"> The Media Services account name.</param>
/// <param name="transformName">The name of the transform.</param>
/// <param name="jobName">The (unique) name of the job.</param>
/// <param name="inputAssetName">The name of the input asset.</param>
/// <param name="outputAssetName">The (unique) name of the output asset that will store the result of the encoding job. </param>
// <SubmitJob>
private static async Task<Job> JobWithBuiltInStandardEncoderWithSingleClipAsync(
IAzureMediaServicesClient client,
string resourceGroupName,
string accountName,
string transformName,
string jobName,
string inputAssetName,
string outputAssetName)
{
var jobOutputs = new List<JobOutputAsset>
{
new JobOutputAsset(state: JobState.Queued, progress: 0, assetName: outputAssetName)
};
var clipStart = new AbsoluteClipTime()
{
Time = new TimeSpan(0, 0, 20)
};
var clipEnd = new AbsoluteClipTime()
{
Time = new TimeSpan(0, 0, 30)
};
var jobInput = new JobInputAsset(assetName: inputAssetName, start: clipStart, end: clipEnd);
Job job = await client.Jobs.CreateAsync(
resourceGroupName,
accountName,
transformName,
jobName,
new Job(input: jobInput, outputs: jobOutputs.ToArray(), name: jobName)
{
Description = $"A Job with transform {transformName} and single clip.",
Priority = Priority.Normal,
});
return job;
}