У меня есть AVMutableComposition
, сделанный из видео Slo-Mo. В AVPlayer он играет на правильной скорости, потому что я запросил его из фотографий с помощью PHVideoRequestOptions.Original
, который не включает в себя часть Slo-Mo для видео. Однако экспорт изменчивой композиции будет экспортировать ее с полным FPS, что заставляет Slo-Mo вернуться, если FPS слишком высока.Сохранение видео Slo-Mo в обычном FPS
Как экспортировать видео с частотой кадров 30? Есть ли определенный тип файла, который не включает замедленное движение или какой-либо другой способ сделать это?
Два (плохие) решения, которые я нашел:
- Установка
AVAssetExportSession
вAVAssetExportPresetMediumQuality
или менее заставит частоту кадров падение, но качество также будет хуже. Нехорошо. - Настройка
AVAssetExportSession.videoComposition
на композицию видео с frameDuration, которая равнаCMTimeMake(1, 30)
, но для экспорта видео требуется очень много времени, что тоже плохо. Я не знаю, почему это так долго.
Это сработало для меня. В коде есть только небольшая ошибка: 'videoComposition = CMTimeMake (1, 30) // Изменения FPS до 30' должны быть' videoComposition.frameDuration = CMTimeMake (1, 30) ' –
@RuudVisser благодарит за это! Возможно, это избавит кого-то от разочарования. :) – alkku