{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

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

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

Пришла как-то мне в голову идея. Даже не идея, а сильное желание - стать стримером на твиче. Да не просто стримером-сычом, а 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 раз дешевле

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

Что в итоге?

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

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

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

0
36 комментариев
Написать комментарий...
Аккаунт удален

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

Ответить
Развернуть ветку
Vladislav V
Автор

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

Ответить
Развернуть ветку
Olga Shvets

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Vladislav V
Автор

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

Ответить
Развернуть ветку
Olga Shvets

Прочтите внимательно, пожалуйста:

есть USB-для подключения смартфона

В контексте данной статьи имеется ввиду смартфон в режиме модема, очевидно.

Ответить
Развернуть ветку
Vladislav V
Автор

Прикольно, увидел 🔥

Ответить
Развернуть ветку
Ivan

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

Ответить
Развернуть ветку
Olga Shvets
В вашем устройстве 2 максимум канала

Справедливо, ну так и use-case когда надо 3-4 LTE уже гораздо, гораздо более специфичный.

и вроде их не объединить

Там OpenWRT под капотом. Если достаточно балансировки и failover - то это наклацивается стандартным luci mwan3, а если нужно именно расщепление одного стрима по двум аплинкам - это тоже настраивается, хоть и значительно сложнее.

Ответить
Развернуть ветку
Ivan

«Расщепление на 2 стрима» или «объединение 2х и более каналов в один» не позволит просматривать трафик, повысит скорость и отказоустойчивость. Супер функция для роутеров будущего, что технически уже можно реализовать. (Дома 2х провайдеров в один канал, сотовый и тп). Я бы Купил.

Ответить
Развернуть ветку
Olga Shvets
«Расщепление на 2 стрима»

Откуда цитата в кавычках? Вы не знакомы с термином "аплинк" и выдумали что-то свое вместо него?

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

Уже черт знает сколько лет объединяю ТТК и Домру средствами mwan3.

Ответить
Развернуть ветку
Vyacheslav Teplyakov

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

Ответить
Развернуть ветку
Vladislav V
Автор

воот когда речь заходит о таких вещах, я сразу пас) это уже будет статья для хабра, я так глубоко не разбираюсь

Ответить
Развернуть ветку
Владимир

Это всё классно, но хотелось бы ещё и посмотреть чё там в итоге со стримом. Или это одна из тех историй, где важен путь, а не результат?)

Ответить
Развернуть ветку
Vladislav V
Автор

Дойдём и до этого, а что именно хотите посмотреть? Какая картинка будет или про что-то другое рассказывать? 

Ответить
Развернуть ветку
Андрей Поляков

Еще из относительно простого pfSense софтовый рутер из коробки может все через мышкатыканье)

Ответить
Развернуть ветку
jackie wang

Wow, I'm making the exact same thing you're making, not using csi camera directly. I use tc358743 to capture 1080p 60fps hdmi input to my raspberry pi and stream it using rtmp rtsp or srt. I'm using openmtcprouter for internet.
https://www.bilibili.com/video/BV1mr4y1m7sL/

Ответить
Развернуть ветку
Vladislav V
Автор

Great! But I'm don't want to use wires when riding on the bike. Good luck, Jakie!

Ответить
Развернуть ветку
jackie wang

I'm currently using https://github.com/porech/engarde for network aggregation, It's a a open source project can use in raspberry pi os directly rather than openmptcprouter need openwrt or paid solutions like speedify. But it only can provide redundant internet connection, can not add multiple internet's bandwidth together.(need a cloud server)
I really recommend engarde If you don't need very high upload bandwidth.

Ответить
Развернуть ветку
Nikolay Kenig

А где все скачать то?
Где исходники?

Ответить
Развернуть ветку
Vladislav V
Автор

Николай хороший вопрос. Это первая статья, проба пера так сказать. Напиши, пожалуйста, что именно ты бы хотел скачать или установить, чтобы я понимал о чем написать дальше. 

Ответить
Развернуть ветку
Ivan

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

Ответить
Развернуть ветку
Vladislav V
Автор

Понял, спасибо за обратную связь

Ответить
Развернуть ветку

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

Развернуть ветку

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

Развернуть ветку

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

Развернуть ветку

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

Развернуть ветку
Eli Nomad

К малине по WiFi цепляешься? Я просто не работал с этой программой. Да и хотелось бы, поробнее про оборудование, настройку, и прочее))))

Ответить
Развернуть ветку
Vladislav V
Автор

Да, малина является точкой доступа WiFi. Спасибо за интерес, расскажу в следующей статье 

Ответить
Развернуть ветку
Eli Nomad

Оооо спасибо! Жду с нетерпением!))

Ответить
Развернуть ветку
novogen73

OpenMPTCP Router отличное решение. Удобно, то что можно самому выбрать хостинг для серверной части, исходя из наилучшего маршрута/скорости/ширины канала. Сделал для загорода стационарный вариант.
На даче уверенные 100 Мбит, и то похоже в пропускную способность Mesh системы Tenda упирается.
https://www.speedtest.net/result/i/4810683062

Ответить
Развернуть ветку
Vladislav V
Автор

Красавчик! Для дачи это хороший вариант при наличии достаточного сигнала от хотя бы пары операторов!

Ответить
Развернуть ветку
Lirik

Автор, на твиче сохранились повторы или клипы, глянуть как это в работе? Напишите ник пожалуйста.

Ответить
Развернуть ветку
Oleg Volkov

Здравствуйте, novogen73. Интересует ваш опыт настройки OMPTCProuter. Не могли ли бы вы помочь советами в удобное для вас время?

Ответить
Развернуть ветку
Vladislav V
Автор

К сожалению нет, но возможно появятся)

Ответить
Развернуть ветку
Lirik

Буду ждать)

Ответить
Развернуть ветку
Михаил Гончаров

Можно ворвусь в беседу!? Тема интересная но на основе малины и сервера не получается пока корректно решить задачу стрима. В использовании как источник интернет да, 80-90мб на не дорогом сервере с белым ip на 4 свистках и телефоне не проблема получить практически в любой точки города. На прием и передачу. С учётом , что в современных телефонах стоят модемы с агрегацией сигнала 2х и более только на приём. Со стримом дела обстоят хуже.Видео сессия привязывается к 1 ip оператора сотовой связи и по этой причине сессия закрывается при переходе на другого оператора связи.Пока упёрся в эту проблему почему при приёме и передаче 80мб по спидастру (многозадачный тест)не могу получить стабильных хотя бы 4мб/с видео на свой принимающий сервер.

Ответить
Развернуть ветку
Vladislav V
Автор

Михаил, смотри для этого уже придумали сервис Speedify, который является по сути VPN. Он решает проблему привязки сессии к ip, также там есть специальный режим для стриминга и видеозвонков. Я его тестировал и стрим не ломается даже при полном отключении одного из источников. Единственное, что у них не всегда были доступны сервера в мск и спб, поэтому пинг был достаточно большим.

Ответить
Развернуть ветку
Milan Mitic

Greeting

I have a few questions about the setup.

Where did you install the VPS and is it important to set up the LTE modem.

Milan

Ответить
Развернуть ветку
Vladislav V
Автор

https://immers.cloud VPS

Modem settings are default

Ответить
Развернуть ветку
33 комментария
Раскрывать всегда