- Главная
- →
- Узкотематические секции: видео, поиск, RTB, биллинги
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на миллион онлайнов Узкотематические секции: видео, поиск, RTB, биллинги
Технический директор ВКонтакте, VK Видео, VK Клипов и VK Звонков, вице-президент по технологиям и разработке VK. Более 15 лет в коммерческой разработке, 10 из них в роли руководителя — от небольшой команды до компании в несколько тысяч человек.
Тезисы
Пишем свой протокол стриминга с гарантированной задержкой поверх UDP. Архитектура отказоустойчивого стриминг-сервиса, способного выдержать потерю дата-центра и миллион онлайнов. Проблемы мобильного стриминга и TCP-протокола, QUIC как замена TCP, UDP и fast retransmit, forward error correction (FEC), задержка или потеря пакетов, приоритезация потоков, шифрование и многое другое.
Сервис Видео в Одноклассниках – вторая площадка в Рунете по просмотрам видео, ежедневно мы фиксируем свыше 400 миллионов просмотров видео.
Технический прогресс позволил пользователям вести трансляции со своих смартфонов и интерактивно общаться с пользователями в прямом эфире – появились такие мобильные приложения, как Periscope, Insta Live и стриминговое приложение Одноклассников OK Live.
Новый способ генерации контента предложил нам новые технологические вызовы:
* гарантировать задержку между стримером и зрителями на динамично меняющемся мобильном Интернет-канале;
* обеспечить непрерывный стриминг даже при потере части оборудования;
* сбалансировать нагрузку на раздающие сервера во время популярных, например, спортивных трансляций.
Мы поделимся опытом построения масштабируемого отказоустойчивого сервиса видеостриминга, расскажем про его архитектуру, которая выдерживает тысячи стримов online и миллионы зрителей.
В ходе доклада:
* отвечу на вопрос, как оптимизировать задержку трансляции до времени, сравнимого с p2p-видеоконференцией;
* расскажу про протоколы hls, dash, rtmp, webrtc;
* настройка кодеков на клиенте и транскодере для минимизации задержки;
* расскажу о проблемах гарантии задержки на TCP и тем, как мы пришли к собственному протоколу стриминга поверх UDP с гарантированной задержкой доставки видео зрителям;
* свой UDP-протокол: измерение MTU, pacer, шифрование с потерей пакетов, fast retransmite;
* простые способы FEC не работают и google в QUIC его отключили.
Результатом нашей работы стал запуск первого в мире приложение на Android, способного стримить в FullHD (1080p) в мобильных сетях.