Звук вне синхронизации с видео в визуализированной avmutablecomposion
-
10-10-2019 - |
Вопрос
у меня есть AVMutableComposition
со следующими сегментами трека:
video:
empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
empty: N, {{48/100 = 0.480}, {600/600 = 1.000}}
empty: Y, {{888/600 = 1.480}, {900/600 = 1.500}}
empty: N, {{894/300 = 2.980}, {1040/600 = 1.733}}
audio:
empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
empty: N, {{48/100 = 0.480}, {45056/44100 = 1.022}}
empty: Y, {{66224/44100 = 1.502}, {65194/44100 = 1.478}}
empty: N, {{894/300 = 2.980}, {77824/44100 = 1.765}}
Время выражается как CMTimeRange
, первый CMTime
это время начала, второй - продолжительность. Другими словами, есть две куски аудио+видео с пустым пространством для прокладки до и между ними.
Проблема в том, что когда я экспортирую эту композицию и воспроизводит экспортируемое видео, второй аудио сегмент играет слишком рано, как будто второй пустой аудио -сегмент прокладок игнорировался во время экспорта. Я получаю первый сегмент видео с правильным аудио, затем сразу же второй аудио сегмент, а затем второй сегмент видео без аудио.
Что может быть не так?
Решение
Проблема была в экспорте. Я использовал режим прохождения экспорта, который просто копирует сегменты треков в полученный файл. Я полагаю, что марки времени просто скопируются, что вызывает беспорядок на временной шкале экспортируемого фильма. Установка режима экспорта на что-то другое, кроме сквозного, решает проблему.