«Яндекс» в 8 раз ускорил кодирование видео
Разработчики «Яндекса» смогли увеличить скорость обработки видео. Теперь преобразование видео из формата, в котором его загрузил пользователь, в доступный для стриминга формат происходит в 8 раз быстрее. Обновления уже работают в тех сервисах Яндекса, где присутствует видео-контент: это «Яндекс.Эфир», «Кинопоиск», «Дзен» и «Новости».
Чтобы пользователи смогли посмотреть видео, его нужно подготовить (сконвертировать в необходимый формат, подготовить несколько версий в разных разрешениях, создать превью) — именно этот процесс и улучшали разработчики.
В обычном режиме видеофайл обрабатывается единым «блоком», но такой способ подходит в той ситуации, когда нет жестких требований к скорости выкладки видео. Теперь система при предобработке видео дробит его фрагменты около 10 секунд, и кодирует их параллельно — такое сегментирование позволяет работать над одной задачей сразу нескольким серверам и тем самым быстрее получать результат.
Такая параллельная обработка видео сократила задержку между загрузкой видео на сервисы Яндекса и его доступностью для пользователей. Если раньше на создание нескольких полноценных версий разного качества для FullHD-фильма длительностью 1,5 часа могло уйти 2 часа реального времени, то теперь процесс занимает около 15 минут. Причем видео в высоком качестве теперь появляется быстрее, чем видео в низком при использовании старого подхода.