Видео — это сложно.

Мы перевели все конференции в онлайн ещё полтора года назад. И все эти полтора года мы мучаемся с плеерами, кодеками, раздачей видео, WebRTC-звонками, транскодингом и ворохом других проблем. Конца и края этому не видно.

Поскольку разбираться в видео нам надо, а фантазия у нас давно закончилась, мы нашли единомышленников и сделали конференцию VideoTech по видео и стримингу. Она пройдёт в онлайне уже совсем скоро — с 1 по 3 декабря.

В числе основных тем VideoTech 2021 — WebRTC, кодеки, качество видео, его раздача, ML/AI и не только. Полный список тем и докладов — в тексте ниже.

Оглавление


WebRTC

Сложно не заметить, как возросло количество видеозвонков в мире за последние два года. А где видеозвонки — там и WebRTC. Так что неудивительно, что в пандемийном мире этот блок программы оказался самым большим, из целых 10 докладов.

А ещё внутри него возник «подблок». В этом году VK проделали большую работу над своими видеозвонками: сделали возможными звонки на тысячи участников, выпустили десктопные приложения, поддержали шаринг экрана в 4K и так далее. Поскольку такая масштабная история затрагивает самые разные сферы разработки (бэкенд, фронтенд, десктоп, смартфоны), у нас сразу несколько специалистов из VK поделятся опытом «с разных ракурсов»:

Видеоконференции — звонок на 10К участников во ВКонтакте

Иван Григорьев

VK

Иван расскажет, как вообще устроены звонки на WebRTC, какие сложности возникают при реализации и как они решались в платформе VK Звонки. Часть доклада будет посвящена масштабированию на тысячи пользователей: почему такой звонок не заводится «из коробки», как в VK при таких нагрузках устроен бэкенд звонков, где возникают узкие места и как их преодолевать. 

Также Иван погрузится в протоколы и кодеки, чтобы разобраться, как добиться высокой чёткости при демонстрации экрана в разрешении 4К.


VK Звонки: выходя за лимиты браузера

Вадим Горбачев

VK

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

Вводная часть доклада будет посвящена основам (что такое WebRTC, сигналинг, кадры в видео, способы передачи стримов на клиента). Основная часть — тем сложностям, с которыми команда за год столкнулась в VK Звонках, и как их решили.


VK Звонки: соединяем тысячи людей с Android и iOS по WebRTC

Иван Шафран

VK

Никита Разумный

VK

Это взгляд со стороны Android- и iOS-клиентов, так что будет много мобильной специфики. В числе того, о чём пойдёт речь — UI-оптимизации, шумоподавление и виртуальные фоны; Android- и iOS-специфичные API звонков.


VK Звонки: десктопный клиент для видеозвонков без лимита на число участников — с нуля за 365 дней

Павел Мацула

VK

И, наконец, четвёртый доклад о VK Звонках — про десктопное приложение. Его разработка стала настоящим челленджем: требовалось и поддержать фичи (4K, отсутствие ограничения на число участников), и предоставить нативные сборки под все основные платформы (Windows, Mac, Linux), и всё это в кратчайшие сроки.

Павел расскажет, как команда VK Звонков добилась поставленных целей с помощью нативной сборки WebRTC, кроссплатформенного фреймворка Qt с поддержкой OpenGL, танцев с бубнами и чистейшего кода на С++.


Как подружиться со статистикой WebRTC и сэкономить тысячи часов на отладке

Ирина Ламарр

Voximplant

Игорь Шеко

Voximplant

Разберем форматы статистики WebRTC и узнаем, почему опираться на предложенный W3C вариант практически бесполезно, а использование adapter.js для унификации — не самый лучший вариант. Обсудим популярные сервисы типа callstats.io и testRTC. Рассмотрим опыт написания собственного сервиса сбора статистики и того, как это помогло повысить качество звонков. 

И, конечно, самое главное: в докладе пойдет речь о том, как использовать статистику для улучшения качества звонков и конференций. Как и зачем определять пороговые уровни качества медиа потоков, анализировать использование кодеков и контролировать качество видео с их помощью.


Peer-to-Peer доставка видео на базе WebRTC

Руслан Гильмутдинов

IVI

Сейчас тема CDN (content delivery network) как никогда актуальна из-за возросшего трафика. Но что делать, если трафик возрастает вообще в разы? Какой для этого нужен CDN?

Руслан знает, как можно решать эту проблему — он делал не классический CDN, а P2P и с радостью расскажет, в чём особенности. В докладе пойдет речь о работе технологии Mesh delivery (peer-to-peer на базе WebRTC), которая была разработана при непосредственном участии спикера.


It's time to WHIP WebRTC into shape

Ryan Jespersen

Millicast, Inc.

Многие люди, работающие со стримингом, считают WebRTC «неполноценным» — ему не хватает стандартного протокола передачи сигналов, чтобы он работал, как протоколы реального времени RTMP или RTSP.

WHIP (WebRTC HTTP Ingest Protocol) был разработан для решения самой большой проблемы, связанной с принятием WebRTC в качестве надёжного протокола передачи данных: media ingest. При этом WHIP позволяет WebRTC сохранить свои преимущества перед более старыми протоколами вроде RTMP — надёжность при плохом соединении, E2E-шифрование, поддержка новых кодеков (привет, AV1 SVC).

О том, в чём именно улучшения от WHIP и как ими пользоваться, расскажет Райан Йесперсон из Millicast, который имеет более чем 20-летний опыт работы в сфере цифрового видео и стриминга.


Масштабировать видеосвязь, повышая качество: маленькой командой и с кучей ограничений на старте

Антон Тейхриб

Skyeng

С 2019 года в Skyeng нагрузка выросла в три раза, а вот количество негативных отзывов на видеосвязь, наоборот, удалось снизить в три раза.

Антон расскажет, как были реализованы различные видеорешения, как начали измерять видеосвязь, от субъективных оценок перешли к объективным на базе ML, попробовали Pion вместо Janus и принудительную деградацию видеосвязи вместо встроенного механизма в WebRTC, и как маленькие компании могут внедрить собственное WebRTC решение.


Делаем SFU-сервер из libwebrtc своими руками

Дмитрий Байдаев

IVA Technologies

Чтобы сделать свой SFU-сервер, нужно разобраться в спецификации WebRTC и архитектуре её стандартной реализации libwebrtc. Начнём с внутренностей libwebrtc и установки простого P2P-соединения. Разберём путь сырых данных от микрофона и камеры до отправки в сокет, а также встречное направление — чтение данных из сокета, прохождение через движок и воспроизведение на устройствах вывода. Рассмотрим ключевые компоненты библиотеки WebRTC, выступающие «строительными блоками» при создании SFU-сервера.

Затем расскажем о проблемах при использовании этих компонентов «из коробки» и причинах, заставляющих заменить их на что-то своё. Расскажем о том, как слепить из libwebrtc свой сервер и равним получившееся решение с Janus. Большое внимание уделим критериям оценки качества и производительности, а также методикам тестирования. 


ICE-cold connection

Антон Квятковский

DINS

Антон расскажет о технологии ICE (Internet Communications Engine), которая позволяет установить peer-to-peer соединение между участниками видеоконференции. Вы узнаете о STUN и TURN, заглянете внутрь протоколов, использующихся внутри WebRTC. Доклад рассчитан на аудиторию, которая имеет представление о базовых транспортных сетевых протоколах TCP и UDP, однако ничего не знает о NAT-traversal. 


Кодеки аудио и видео

Система параллельного кодирования видео Кинопоиска: как мы к этому пришли и что будет дальше

Михаил Мазанов 

Кинопоиск (Яндекс)

Михаил расскажет про систему параллельного кодирования видео в Кинопоиске, позволяющую готовить HLS/DASH/MSS-форматы из терабайтных четырехчасовых исходников за минуты. Что и зачем было сделано, почему именно так, а не иначе, и как система будет развиваться дальше — обо всем этом в докладе.

Сам Михаил увлечен всеми областями интернет-видео (от многокамерной съемки до доставки прямых трансляций по всему миру), и помимо работы в Яндексе, причастен к проекту Olympic Video Player в Олимпийской вещательной службе.


Транскодер на Nvidia Jetson

Максим Лапшин

Эрливидео

В компании Максима разрабатывают и продают транскодирующие сервера на базе мобильных процессоров Nvidia Jetson. В докладе спикер поделится, зачем они это делают, какие проблемы возникли и какие получились результаты.


Взлом VMAF и VMAF NEG, или Почему сравнивать кодеки в ближайшие годы станет заметно сложнее

Дмитрий Ватолин

МГУ

Если для вас значим вопрос выбора кодека — вполне вероятно, вам известны ежегодные сравнения кодеков от МГУ, которые проводятся уже 18 лет. Дмитрий Ватолин, возглавляющий этот проект, знает многое о хитростях подобных сравнений  — и расскажет на VideoTech про «взлом» современных метрик, по которым оценивают качество кодеков.

Метрики развиваются, и все шире используется VMAF от Netflix. Но, как показали исследования, возможно «взломать систему», улучшив результат по этой метрике за счет препроцессинга без улучшения самого кодека. И в 2019-м Дмитрий и его коллеги опубликовали методику подобного взлома. В 2020-м Netflix исправили эту проблему в VMAF NEG. Но в 2021-м в новой публикации Дмитрий с коллегами показал, что завысить можно и результаты NEG. Об этой «борьбе снаряда и брони» и более глубоком анализе кодеков пойдет речь в докладе. 


Как работает MPEG-5 Part 2 LCEVC и почему это важно

Макс Колесин

V-Nova 

MPEG-5 Part 2 LCEVC (Low Complexity Enhancement Video Coding) — это новый стандарт сжатия видео от MPEG. В стандарте даётся определение «улучшающего слоя», который, применяясь к базовому видео, закодированным другим кодеком, образует видеопоток улучшенного качества.

Макс расскажет про разные стадии процесса кодирования и декодирования LCEVC, какие преимущества можно получить от его использования с разными базовыми кодеками и за счёт чего LCEVC их достигает. 


Качество видео

The Building Blocks of the Netflix Streaming Experience

Te-Yuan Huang 

Netflix

Когда о своем опыте рассказывает такой видеогигант, как Netflix, это всегда ценно. Тэ-Юйань Хуан, работающая в компании уже семь лет, возглавляет там работу по улучшению качества воспроизведения с помощью адаптивного стриминга и различных оптимизаций. И докладе она рассмотрит четыре важных составляющих этого стриминга, напрямую влияющих на качество:

  • технология кодирования;

  •  доставка контента;

  • адаптивный стриминг;

  •  A/B тестирование. 


Алгоритмы АBR на пальцах

Ольга Попова 

Яндекс

Ольга, участвовавшая в разработке плеера Яндекса, объяснит простыми словами:

  • что такое «качество видео»;

  • существующие стратегии выбора качества в ABR на примере популярных библиотек для проигрывания видео;

  • дополнительные факторы, которые учитываются в алгоритмах ABR.

Доклад предназначен для разработчиков, которые задумываются, что находится под капотом библиотек dash.js/hls.js/shaka, или собираются сами влиять на выбор качества видео. 


Раздача видео

Раздача видео: эволюция от работы с одним CDN до постройки своего

Александр Гутарин

Netflix

Александр на основе опыта работы в Hulu и Netflix в своем докладе расскажет об эволюционном пути доставки видео по мере роста трафика: от использования одного CDN до постройки своего. Во второй части он осветит оптимизацию работы Netflix Open Connect и расскажет, как с её помощью сервис может доставлять до 400Gbps трафика с одного сервера.


Уменьшаем задержку в live-трансляциях

Алексей Гусев

Яндекс

Дмитрий Кравцов

Яндекс

Понятно, что чем меньше задержка в живой трансляции, тем лучше. Но как именно подходить к этому? Алексей и Дмитрий расскажут, откуда берутся задержки в трансляции и как их измерять. Затронут технологии low latency streaming, которые позволяют с ними бороться, и о подходе к этим технологиям в Яндексе. Также речь зайдёт про CMAF (Common Media Application Format) — следующий шаг в развитии удобных DASH-трансляций.


Дрессированный медийный трафик Яндекса

Алексей Щуров

Яндекс

Алексей развивает платформу видеотрансляций для сервисов Яндекса, включая онлайн-кинотеатр Кинопоиск. И в докладе рассмотрит соответствующую специфику работы с traffic engineering. Когда контент хранится в дата-центрах далеко от всех стыков с операторами связи, и его очень много. Когда при этом хочется учитывать гораздо больше критериев выбора подходящего маршрута вместо классического в BGP best-route. Когда есть много стыков с операторами, подключенных к дорогим маршрутизаторам, а для медийного трафика с большими операторами есть специальные стыки. 

Необходимость кэширования контента рядом со стыками, явный выбор стыка в маршрутизации и контролирование его загрузки, разные типы линков и разные механизмы доставки трафика — обо всём этом в докладе.


Создание с нуля системы вещания живых трансляций

Юрий Камышенко

Tango

Николай Иванов

Tango

Илья Цветков

Tango

Юрий и его коллеги из компании Tango расскажут о проблемах, с которыми пришлось столкнуться при использовании стека RTMP HLS.

О том, какие требования поставил бизнес к видеоплатформе и как команда пришла к идее создания нового решения на базе SRT. Из чего выбирали и почему выбрали именно SRT. C какими сложностями столкнулись при построении сети доставки контента на SRT, работающую во всём мире в условиях взаимодействия нескольких облачных решений. Рассмотрят маршрутизацию трафика между разными облачными решениями для оптимизации стоимости. 


Внутренняя инфраструктура 

Оркестрация транскодеров с помощью K8s

Илья Галимьянов

MTS DIGITAL

Транскодинг аудио- и видеосигнала, а особенно транскодинг живого сигнала на CPU — операция вычислительно дорогая, затраты на нее не особо предсказуемы и прогнозируемы. Оркестрация такого ПО тоже не самая простая задача (все мы строили свои балансировщики транскодеров). Как с помощью Kubernetes справиться со всем этим? 


Машинное обучение

Txt2Vid: Ultra-Low Bitrate «Generative Compression» of Talking-Head Videos to Text

Pulkit Tandon

Stanford University

Как снизить объём передаваемых данных на два-три порядка, сохраняя при этом высокое качество видео? Как ни совершенствуй традиционные кодеки, такой результат вряд ли получишь. И Пулкит Тандон поговорит о гораздо более радикальном подходе, подходящем для видеозаписей в духе «говорящая голова». Txt2Vid предлагает пересылать сказанное текстом и затем создавать реконструкцию исходного видео с помощью ML (клонирование голоса, синхронизация движений губ). По субъективным оценкам, качество не страдает — и при этом становятся возможны видеозвонки в местах с плохим соединением.


Модерация видеоконтента с помощью сервисов машинного обучения AWS

Михаил Голубев

AWS

AWS сам по себе сверхпопулярен — но не все знают, что там есть ML-сервисы для видео. Пора узнать.

Михаил сначала рассмотрит стек сервисов машинного обучения AWS, которые можно применять при работе с видеофайлами или потоковым видео. Затем участники узнают, как облегчить их использование на практике с помощью открытого фреймворка Media Insights Engine, а в конце будет решена задача по модерации путем поиска интересующих объектов на видео.


AWS.ML создание и запуск моделей ML в облаке AWS

Александр Патрушев

AWS

Ещё один доклад про AWS и ML от сотрудника компании, но о другом. Тут не конкретно о модерации видеоконтента, а о создании и запуске в облаке AWS своих моделей для видеотех-нужд.

Александр расскажет, какие для этого существуют сервисы, как организовать жизненный цикл моделей ML, и подробно рассмотрим несколько архитектур готовых решений в области VideoTech.


Реалистичные аватары и их использование для видеоконференций

Александр Шишков

Itseez3D Inc.

Этот доклад поведает про автоматическое создание реалистичных виртуальных персонажей и их использование в видеоконференциях на основе RemoteFace.ai. Речь пойдет об архитектуре приложения и его основных компонентах, использованных технологиях (таких, как отслеживание эмоций и анимация губ для имитации разговора). 

Обо всём этом расскажет Александр Шишков, который более десяти лет работает в области компьютерного зрения. Сейчас он вице-президент по разработке в компании Itseez3D, которая занимается продуктами для создания реалистичных 3D-аватаров и 3D-сканирования.


Плееры

8K Decoding in libVLC

Jean-Baptiste Kempf

VLC

В VLC живут в будущем: пока большинство видеопроектов ограничивается Full HD и 4K, тут уже научились декодировать видео в 8K. Проблема в том, что декодировать 8K-видео означает гонять туда-сюда целую прорву данных и загружать комп по самые помидоры, так что каждое лишнее копирование данных приводит к тому, что даже довольно мощные современные компьютеры с задачей проигрывания видео в 8К не справляются.

О том, как любимый всеми плеер VLC победил 8К, расскажет не кто-нибудь, а сам Жан-Баптист Кемпф: директор всего проекта VideoLAN и ключевой разработчик VLC и libVLC.


Заключение

Отдельное огромное спасибо хочется сказать ребятам, которые помогли сделать программу конференции — программному комитету.  

Программный комитет VideoTech 2021
Программный комитет VideoTech 2021

Подробнее почитать про конференцию и купить билеты можно на её сайте.

Комментарии (3)


  1. oleksiiko
    22.11.2021 08:42
    +2

    Народ, так чисто из интереса и совершенно по-дилетантски. Когда закончится эта вакханалия с мессенджерами? Я заеб... от количества коммутаторов. Когда наступит тот день когда один будет звонить по Зуму, а второй принимать этот звонок по гугл митингу? Сейчас это все равно что если бы имейлом можно было пользоваться в рамках одного продукта от одного производителя. Тем более Webrtc это уже шаг к унификации протокола коммуникации. Вопрос знатокам: скажите, демонополизация коммуникационных приложений это юридический вопрос (например, принятие соответствующего закона открытого протокола) или это можно добиться чисто техническими средствами? Например, как заставить Зум, Джитси, МС Тимс и Гугл митинг между собой общаться, причем не спрашивая разрешения собственно у продукт-оунеров и желательно без сервера посредника. И вообще этот вопрос кто-то задаёт в вашей профессиональной комьюнити, или это только возгласы уставших от этого простых смертных...


    1. Louter
      23.11.2021 16:38
      +2

      Ответ на ваш вопрос: наверно никогда.
      Смотрите: есть отправка текстовых сообщений. Есть очень независимая от юрисдикций, от серверов и т.д. почта, есть яббер, ирка. Про них зачастую говорят "морально устарели". Что стоит отправлять текст из вазапа в телегу, а из телеги в аську? И из аськи в инсту? А оттуда в вк? И из вк в фб? Технически ничего. Юрилически тоже, уверен, разруливаемо. А когда мы получим такие возможности? Думаю Столлман давно и наглядно продемонстрировал, что такое невозможно в корпоративной среде, если свободное ПО не становится стандартом. Гугломит, Зум, Дискорд, МС Тимс -- всё это корпоративное ПО. И разработка очень и очень ресурсоёмка.


      1. oleksiiko
        23.11.2021 18:07
        +2

        Спасибо за ответ. Сдаётся мне это интересный вопрос для обдумыванья. В текстовых чатах отсутствие интероперабельности, это на самом деле, тормоз, а не рычаг развития. Почему? Это на первый взгляд мессенджеры соревнуются. Но на самом деле оставаясь закрытыми анклавами, они избегают открытой конкуренции. Проще говоря, если бы я мог писать по Скайу, а мне отвечали по Вотсапу, и тот и другой мессенджер во стократ бы трудились чтобы привлечь пользователя на свою сторону. В то время, как им не очень нужно это делать, ведь у обоих пользователей вероятнее будет стоять и тот другой. А как известно, конкуренция это двигатель прогресса. Этот вопрос вполне мог быть стать предметом рассмотрения для антимонопольного органа, на худой конец законодатель мог бы отрегулировать обязательность интероперабельности. К слову, сказать по моим наблюдениям Европейский антитрастовый орган просто лютый. Я не удивляюсь, если что-нибудь такое произойдет в ЕС рано или поздно. Но чат это асинхронная коммуникация. Другое дело аудио/видео звонки. Вот тут моих знаний мне хватает реалистична ли вообще интероперабельность. Может ли регулятор помахать шашкой и всех понудить к всеобщему добру? Или это технически маловероятно