Facebook ввёл новую единицу измерения времени
В целях идеальной синхронизации звука и видеоряда разработчики из Facebook Open Source предложили использовать новую единицу измерения времени — флик. Такая единица будет использована в специальной библиотеке, созданной для языка программирования C++.
В настоящее время практически все языки программирования в качестве единицы времени используют миллисекунду — одну тысячную секунды. Во время привязки аудио и видио программисты оперируют десятичными долями секунды, определяя, таким образом, место идеальной стыковки звука и изображения. Однако разные частоты обновления видео и аудио вызывают трудности при синхронизации с использованием миллисекунд. Это и послужило основной причиной решения разработчиков из Facebook Open Source использовать флик, изобретенный в 2016 году Кристофером Хорватом, работающем в данном проекте.
Термин «флик» образован из двух слов frame (кадр) и tick (счет), что можно интерпретировать как «фильм». Размерность 1 флика — 1/705600000 секунды, что соответствует 1.417 наносекунды. Само число делится нацело на 8, 16, 22.05, 24, 25, 30, 32, 44.1, 48, 50, 60, 90, 100, 120. Эти числа — кадры или частоты, используемые в кодировании видео и аудио: 24 кадра в секунду, 120 герц, частота дискретизации 44,1 кГц и так далее.
Основной причиной, по которой при синхронизации аудио и видео удобно использовать флик, является возможность преобразовать используемые в видео и аудио дроби в целые числа. Так 1/24 секунды соответствует 29 400 000 фликам, 1/120 секунды — 5 880 000 фликам, а 1/44.1 секунды — 16 000 фликам. Такое свойство и позволит идеально подобрать звуковой ряд к видео.
Источник: techcrunch.com