Как связать / синхронизировать анимацию с видеозаписью в реальном времени

Описание приложения : Спидометр. Имеет циферблат иглы и анимированную стрелку в качестве наложения на видео. Я выводил анимацию иглы на видео с помощью постобработки. Я использую AVAssetExportSession и создаю AVComposition, содержащий мои анимированные слои вместе с видео- и аудиодорожками из видео. Это прекрасно работает. Видео показывает, игла оживляет.

В настоящее время, чтобы воспроизвести анимацию во время постобработки, я сохранил любые изменения скорости с момента начала "записи" видео. Во время постобработки я затем запускаю таймер (ы) на основе сохраненных данных о времени / скорости, чтобы затем оживить стрелку до следующей скорости.

Проблема : Полученная пара видео / анимация не совсем точна и часто бывает - это несоответствие скорости, отображаемой во время съемки видео, и во время его воспроизведения и компоновки. (обычно игла находится перед видео) из-за того, что компоновка / сжатие во время экспорта не обязательно в реальном времени.

Вопрос : Есть ли способ встроить информацию о скорости в записываемый видеопоток и затем получить к нему доступ при экспорте, чтобы видео и спидометр были согласованы по времени?

Было бы неплохо получить обратный вызов в определенное время во время экспорта, который содержит мои данные о скорости.

Как всегда ... спасибо !

5
задан slugster 17 September 2014 в 13:28
поделиться