Я работаю над универсальным приложением Windows. Мне нужно добавить аудио (.aac или .mp3) к фону видео (.mp4).
Я использовал MediaComposition
, что при рендеринге упало разрешение и размер файла.Пример Мое видео MP4 составляет 22,5 МБ, а аудио - 2,5 МБ после рендеринга MediaComposition
с пониженным разрешением, а новый файл - всего 8,5 МБ. Я попытался MediaEncodingProfile
HD720p
, но файл рендеринга 178,5 МБ.Мне нужно просто добавить аудио к фону видео.
Я использую это
StorageFile fileTarget = await folder.CreateFileAsync(name, CreationCollisionOption.ReplaceExisting);
try
{
MediaComposition composition = new MediaComposition();
composition.Clips.Add(await MediaClip.CreateFromFileAsync(videoFile));
BackgroundAudioTrack backgroundTrack = await BackgroundAudioTrack.CreateFromFileAsync(audioFile);
composition.BackgroundAudioTracks.Add(backgroundTrack);
var progress = new Progress<double>(percent =>
{
vPercent.Text = $"{(int)percent}%{Environment.NewLine}";
});
//await composition.RenderToFileAsync(fileTarget,MediaTrimmingPreference.Precise,MediaEncodingProfile.CreateMp4(VideoEncodingQuality.HD720p)).AsTask(progress);
//await composition.RenderToFileAsync(fileTarget,MediaTrimmingPreference.Precise).AsTask(progress);
await composition.RenderToFileAsync(fileTarget).AsTask(progress);
}
catch (Exception ex)
{
Log($"An error had been throwed, {ex.Message}");
await fileTarget.DeleteAsync(StorageDeleteOption.PermanentDelete);
}