Для мобильных трансляций видео в условиях отсутствия связи за исключением LTE/3G очень важным является обеспечение стабильной пропускной способности каналов. Эта задача решается агрегацией передающих каналов от нескольких операторов одновременно, но тривиальное объединение на канальном уровне обладает рядом серьезных технологических недостатков.

Для решения подобных задач существует проект Multi-Path TCP (MPTCP), который позволяет организовывать подключение по множеству независимых uplink-ов и максимально утилизировать пропускную способность по их совокупности. Данный подход уже нашел применение в сетях операторов, предоставляющих гибридный доступ к сети (например, одновременно через LTE и DSL).

 

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

 

Для выполнения эксперимента был собран стенд на Raspberry Pi 3 с подключением сенсора и двух LTE-модемов для передачи данных. На стороне сервера (виртуальная машина) был установлен Oven Media Engine и ядро с поддержкой MPTCP. Для стенда сборка ядра с MPTCP производилась вручную.

 

При помощи Gstreamer-а видео захватывалось на устройстве и передавалось по протоколу RTMP на сервер, где происходила распаковка и трансляция с минимальной задержкой поверх механизма WebRTC.

Были смоделированы типовые ситуации для обеспечения трансляции, результаты были внесены в итоговый отчет. 

 

Стек - MPTCP, Gstreamer, Oven Media Engine, Oven Media Player.