Все статьиВсе новостиВсе мнения
Стиль жизни
Спецтемы
Красивая странаРейтинги фокуса

Facebook ввел новую единицу времени

Facebook ввел новую единицу времени

Флик позволяет идеально синхронизировать видео и аудио

000

Американский проект Facebook Open Source разработал библиотеку для языка программирования C++, с помощью которой в код можно добавить новую единицу измерения времени – флик. Об этом сообщает N+1.

Библиотека и описание новой единицы доступны на странице проекта на GitHub. Разработчики утверждают, что новая единица времени позволяет идеально синхронизировать видео и аудио, кроме неудачного стандарта NTSC.

В большинстве существующих сегодня языков программирования отсчет времени ведется в миллисекундах (одна тысячная секунды). При этом в C++ для работы с видео и аудио и их синхронизации программистам приходится оперировать с десятичными долями секунды, высчитывая такие интервалы, которые бы привязывали определенное место аудиозаписи к определенному кадру.

Из-за того, что видео и аудио используют разные скорости смены данных, иначе называемые частотами обновления, добиться идеальной синхронизации звука и картинки удается не всегда. Именно по этой причине Facebook Open Source и предложил использовать в C++ новую единицу времени, которую еще в октябре 2016 года придумал сотрудник проекта Кристофер Хорват.

Новая единица измерения времени в C++ получила название флик, которое образовано от двух слов – frame (кадр) и tick (счет, пометка). С разговорного английского слово flick можно перевести как фильм. Один флик равен 1/705600000 секунды, или 1,417 наносекунды. Именно такая единица времени, уверяют в Facebook, позволяет идеально синхронизировать любые существующие частоты видео и аудио.

Например, распространенные для распространенных частот 24 и 25 кадров в секунду длительность каждого кадра можно измерить в понятных и целых 29400000 и 28224000 фликов. Для рапида с частотой 192000 кадров в секунду временная продолжительность одного кадра составит 3675 фликов. Эти флики можно точно синхронизировать с фликами, рассчитанными для "кадров" аудио популярных частот от 8 до 192 килогерц.

При использовании стандартных подходов к делению времени при синхронизации аудио и видео в C++ длительность показа одного кадра при частоте 24 кадра в секунду составила бы 41,666666 миллисекунды. Производить математические вычисления с такими числами неудобно, а попытки их округлить при большой продолжительности видео будут давать нарастающую рассинхронизацию с аудио.

0
Делятся
Google+
Загрузка...
Подписка на фокус

ФОКУС, 2008 – 2017.
Все права на материалы, опубликованные на данном ресурсе, принадлежат ООО "ФОКУС МЕДИА". Какое-либо использование материалов без письменного разрешения ООО "ФОКУС МЕДИА" - запрещено. При использовании материалов с данного ресурса гиперссылка www.focus.ua обязательна.

Данный ресурс — для пользователей возрастом от 18 лет и старше.

Перепечатка, копирование или воспроизведение информации, содержащей ссылку на агентство ИнА "Українські Новини", в каком-либо виде строго запрещены.

Все материалы, которые размещены на этом сайте со ссылкой на агентство "Интерфакс-Украина", не подлежат дальнейшему воспроизведению и/или распространению в любой форме, кроме как с письменного разрешения агентства.

Материалы с плашками "Р", "Новости партнеров", "Новости компаний", "Новости партий", "Инновации", "Позиция", "Спецпроект при поддержке" публикуются на коммерческой основе.