Я собрал бюджетный набор для IRL-стриминга на Raspberry Pi. Часть первая — бондинг

Расскажу историю моего увлечения IRL-стримингом и Raspberry Pi. Это первая часть про идею и бондинг. Время чтения ~7 минут.

Я собрал бюджетный набор для IRL-стриминга на Raspberry Pi. Часть первая — бондинг

Пришла как-то мне в голову идея. Даже не идея, а сильное желание - стать стримером на твиче. Да не просто стримером-сычом, а IRL-стримером с желанием вести поток на свежем воздухе. В идеале, верхом на велосипеде. Я обожаю кататься, слушать музыку и вести беседы во время неспешной велопрогулки. Так почему бы не делать этого в онлайне? Такая вот навязчивая и очень бодрящая (на тот момент) идея.

Опыта в сфере стриминга не было никакого, разве что раньше раз в месяц я проводил получасовые эфиры в своём инстаграме. Мне казалось, что в целом всё будет также просто: нажал кнопку и ты в эфире! (конечно же нет)

Погружаясь детально, я выделил для себя несколько обязательных требований, чтобы моя трансляция на свежем воздухе была возможна:

1) Отсутствие проводов.

Я не хочу ехать на велосипеде и размахивать проводами по сторонам. Наверное, с проводами всё работает проще и стабильней, но мне просто не нравится.

2) Фишай камера.

Мне понравилась GoPro 9, но одинаково подойдут любые камеры с возможностью трансляций по RTMP. На выходе хочется видеть красивую, плавную картинку с широкого угла.

3) Длительность трансляции до 3 часов.

Кажется столько время я готов провести на потоке, крутить педали, общаться и всё в этом роде.

4) Стабильное подключение к интернету.

В особенности канал на отдачу. Для картинки 720p потребуется от 3 Мб/с upload, а для 1080 от 5 Мб/c.

5) Нужна компактность.

Я готов взять с собой лёгкий рюкзак. Хочется, чтобы всё оборудование весило не более 1,5 кг, помещалось за спиной не создавало неудобств во время пути.

6) Бюджетная сборка.

Хочется уложиться в нужный фунционал и не попасть на деньги. Мне надо пощупать эту идею изнутри и если понравится, то вкладываться большим бюджетом.

Погнали собирать.

Пункты 1, 2 и 3 закрываются одним девайсом — камерой GoPro 9 с тремя батареями. Подробно о выборе камеры, картинке с неё и возможностях для стриминга напишу в другой части рассказа.

Где взять стабильный интернет, находясь в пути?

Я начал тестировать раздачу с телефона. Достал свой старенький Samsung J5, который пылился в полке. С приёмом сигнала у этого телефона оказалось всё в порядке. Он отлично ловит 4G+ от Мегафона и выдаёт 30-50 Мб/с при хорошем сигнале. Опытным путём я обнаружил, что такая скорость в пути — это большая редкость. При движении вышки постоянно меняются, сигнал скачет с 3G на 4G. При переключениях соты скорость падает до нуля. Также во многих местах города сигнал только 3G, а на нём даже при 100% сигнале у меня не получалось достичь скорости более 5 Мб/с на отдачу. С таким каналом вести трансляцию невозможно. Картинка рассыпается, звук начинает трещать и стрим просто падает. Приходится снова его запускать, в общем отстой.

"Нужно каким-то образом сделать резервный канал, а лучше два", — сказал я себе. Это позволит уменьшить вероятность падения скорости в ноль и я всегда буду онлайн! Может использовать два мобильных оператора сразу? А может три?

Мне нужен бондинг!

Погуглил, покурил форумы, поспрашивал в чатиках и узнал о существовании бондинга (bonding). Интересная технология, я раньше о ней не слышал. Поэтому мне показалось, что она нишевая и редко кто ей пользуется в быту, а зря!

Бондинг, говоря простым языком, это слияние или сложение каналов. Например, у вас есть дома проводной интернет 50 Мб/с и вы раздали с телефона 4G+ на 50 Мб/c с iPhone. Используя бондинг, вы получите канал до 100 Мб/с. Плюсом к этому интернет будет доступен при отключении одного из каналов. (Заранее извиняюсь перед профи в этой теме! Я пишу про практическую часть бондинга, а как это работает технически и почему так происходит, я не касаюсь)

На рынке существуют гаджеты, которые позволяют делать бондинг и разработаны специально для IRL-стримеров. Вот это удача! Вставляете в них пару тройку usb-модемов и радуетесь. Например, LiveU Solo. Коробка умеет всё необходимое: здесь есть бондинг и сервис для стриминга по подписке и техподдержка персональная. Цена на этот гаджет начинается от 100.000 рублей, подписка от 13.000 рублей в месяц. (ВТФ?!)

Вот такой гаджет мне нужен, только в 10 раз дешевле
Вот такой гаджет мне нужен, только в 10 раз дешевле

В России найти LiveU Solo почти невозможно, да и вообще вы заголовок статьи видели? Наверное, его юзают телеканалы для включений в полях или блогеры милионники, которые давно в этой теме и могут себе позволить такие расходы. Есть аналоги от китайцев на Али, которые в половину дешевле. Тут классика: сложно понять за что ты платишь, отзывов нет, обзоров на гаджеты тоже. Ну и ценник 50.000 рублей всё равно кусачий.

Чудесная и компактная ягода Raspberry Pi 4.

Оказалось, что существует такая штука, как Raspberry Pi. У неё куча разъемов, в которые я смогу подключить мои модемы и не только. Одноплатный компьютер звучит скучно. А если так:

  • Цена до 100$
  • Вес с корпусом 100 грамм
  • Питание от powerbank
  • 4 USB порта + HDMI + Wi-Fi 2,4/5
  • Шустрый процессор + графическое ядро + 4 Гб оперативки
  • И полноценная операционная система Линукс?
Стильная, дерзкая и универсальная малинка
Стильная, дерзкая и универсальная малинка

По-моему просто великолепно и выглядит мило. Купить малину легко новую, так и б/у на авито. Я взял новую в комплекте с красным корпусом и кулером (да-да кулер нужен). Пришла красавица, замигала лампочками на передней панели и зажужжала кулером. Так я начал знакомиться с Линуксом, точнее с Raspbian.

Я считаю себя опытным юзером Windows и MacOS, но с Линуксом полный ноль. Малина позиционируется, как компьютер для обучения навыкам программирования и не только. Учиться придётся, без этого просто никак. Слава Линуксоидам, на малине есть графическая оболочка и это облегчает работу таким нубам как я. Без графики работать также можно, но я до сих пор не понимаю зачем смотреть только в командную строку и так себя ограничивать. Не буду сейчас рассказывать все детали настройки этого девайса, для этого также потребуется отдельная статья. Можете задать вопросы в комментарии по настройке, попробую помочь.

Делаем из малины точку доступа с бондингом.

Моя цель реализовать такую идею: все гаджеты, которые будут у меня с собой работают в одной сети по Wi-Fi. Эту сеть раздаёт малина, в которую подключены модемы разных операторов. Если один из них залагал, завис или потерял сеть, то второй резервирует его. Если работают оба, то скорость складывается. При домашнем использовании в неё можно подключить Lan кабель и защитить себя от разрывов интернета дома, принцип будет такой же — собираем интернет из двух и более источников и раздаём в сеть. Я нашёл два варианта бондинга на малине. Первый Open MTCP Router, а второй сервис Speedify VPN. Расскажу про каждый:

OpenWrt Router

По сути превращает малину в новое устройство: в роутер. Теперь ваша малинка стала роутером. Наверное самым умным и гибким роутером, который только может быть. Настройка производится через веб интерфейс, чем-то похоже на настройку домашнего роутера, но намного сложнее. У меня ушло 3 дня, чтобы запустить это чудо и мне помогали знатоки. В целом крутой опыт, но для меня это сложно и не подходит для стрима. Выводы такие:

  • Бесплатно
  • Сложность настройки 4/5
  • Функционал 5/5
  • Нужен дополнительный сервер VPS
  • Нельзя использовать ничего, кроме роутера на малине (либо я не понял как это сделать)

Speedify VPN

Это полная противоложность OpenWrt. Готовое решение для обычных людей в виде симпатичной приложухи для Raspbian. Красивое меню с графиками и кнопочками, с анимацией и даже кнопкой шеринга в соцсети (это бред). Также есть версии для всех устройств ПК и мобильных. Покупаешь подписку за 14.99$ в месяц и одной кнопкой запускаешь бондинг. Мой вывод:

  • Сложность настройки 1/5
  • Функционал 3/5
  • Можно юзать подписку на других устройствах
  • Есть готовый режим для стримов, видео звонков
  • Можно выбрать разные сервера, это ведь VPN
  • Малина остаётся собой и можно запускать любой софт вместе с бондингом, а это нам пригодится дальше.

Выбор в пользу Speedify не так очевиден, ведь мне нужна бюджетная сборка, а 14.99$ в месяц совсем не лишние. Однако, подписку можно отключить в любой момент, плюс сервис мне реально понравился. Классная техподдержка, отличный подход к решению задачи и подробная справка, которая помогла узнать ньюансы и тонкости. Также у них есть видео, на основе которого я собирал свой сетап. Поэтому респектую ребятам из Speedify и едем дальше.

Покажи уже что получилось, ну!

Показываю! Напомню, что мне важна скорость отдачи и именно для увеличения канала upload я заморочился. Замеры в реальной среде с плохим сигналом, где я в 2 км от базовой станции плюс идёт дождь.

1) 4G модем симка Тиньков, сигнал 2 из 4 палки. Upload 1,37 - это ничтожно мало для стрима
1) 4G модем симка Тиньков, сигнал 2 из 4 палки. Upload 1,37 - это ничтожно мало для стрима
2) Раздача с телефона Samsung J05 в режиме USB-модема, симка Мегафон, сигнал 2 из 4 палки. Upload получше, но всё равно на грани
2) Раздача с телефона Samsung J05 в режиме USB-модема, симка Мегафон, сигнал 2 из 4 палки. Upload получше, но всё равно на грани
3) Включил Speedify. Складываем 1 + 2,  модем и телефон вместе. Скорости Upload будет достаточно, чтобы выйти в эфир, возможно даже потянет 1080p, если поймать чуть-чуть лучший сигнал.
3) Включил Speedify. Складываем 1 + 2,  модем и телефон вместе. Скорости Upload будет достаточно, чтобы выйти в эфир, возможно даже потянет 1080p, если поймать чуть-чуть лучший сигнал.
Вот так выглядит Speedify со стороны пользователя малины. Для любителей командной строки есть возможность управления с CLI.
Вот так выглядит Speedify со стороны пользователя малины. Для любителей командной строки есть возможность управления с CLI.
Пример компактного расположения точки доступа в органайзере. Провода уложены не лучшим образом, просто мне было лень их спрятать внутри.
Пример компактного расположения точки доступа в органайзере. Провода уложены не лучшим образом, просто мне было лень их спрятать внутри.

Что в итоге?

Теперь у меня есть точка доступа с резервированием каналов и возможностью апгрейда. При желании можно воткнуть 4 модема или телефона и получить скорость на уровне домашней сети (а зачем?).

В этой статье я рассказал о бюджетном бондинге для начинающих стримеров. Конечно, это только одна часть, которая необходима для стрима. Также понадобится камера, RTMP/SRT сервер, настройка OBS. Про это смогу рассказать в следующих статьях.

Это мой первый пост на vc.ru, поэтому буду рад адекватной критике, вашим комментариям с вопросами. Дайте знать была ли статья полезной. Желаю классного дня! Телеграм для связи @supagood

1919
36 комментариев

Комментарий недоступен

2
Ответить

Спасибо приятно, насчёт звука согласен) 

Ответить

Вроде такой штукой попроще реализуется, нет? Встроенный LTE-модем, батарея, есть USB-для подключения смартфона. Дополнительно может послужить файловым сервером (microSD).

1
Ответить

Комментарий недоступен

2
Ответить

Да, классный Гаджет наверное) Но там всего одна симка, а значит, что в пути обрывов не избежать 

Ответить

Нет. Основная задача сложить 2 и более канала в один для увеличения скорости. 
В вашем устройстве 2 максимум канала и вроде их не объединить. Явной инфы нет.

Ответить

не спортивно! а как же самому поковырять route и iptables? Сделать балансировку.... =)

1
Ответить