Американский проект Facebook Open Source создал библиотеку для языка программирования C++, которая позволяет добавлять в код новую единицу измерения времени под названием флик. По замыслу создателей, ее использование позволит идеально синхронизировать аудио и видео.
Как поясняет N+1, в большинстве существующих сегодня языков программирования отсчет времени ведется в миллисекундах. При этом в C++ для работы с видео и аудио и их синхронизации программистам приходится оперировать с десятичными долями секунды, высчитывая такие интервалы, которые бы привязывали определенное место аудиозаписи к определенному кадру. Из-за разных частот обновления в видео и аудио добиться их правильной синхронизации, используя такие единицы времени, бывает затруднительно.
Предложенная разработчиками единица времени флик была придумана еще в конце 2016 года сотрудником проекта Facebook Open Source по имени Кристофер Хорват. Название флик происходит от слов frame (кадр) и tick (счет) и может быть переведено как фильм. Продолжительность одного флика составляет 1/705600000 секунды или 1,417 наносекунды.
Использование флика превращает все важнейшие для производства видео и аудио дроби в целые числа. Например, 1/24 секунды равна 29400000 фликов, 1/120 секунды - 5880000 фликов. 1/44,1 секунды - 16000 фликов, пишет CNews. Таким образом, использование фликов позволяет точно синхронизировать видео и аудио.