March 25

Вебкам рестриминг

Эту статью написал канал Just a model.

Привет! Извечны темы "а не забанят ли вебкам" и "а че делать если компьютер слабый, а я хочу стримить на все сайты"

И в том и в том случае нам может помочь рестриминг (в первом случае еще немного прокси/vpn/зеркал)

Что вообще такое рестриминг?

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

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

  1. Снимаем нагрузку с компьютера (видео кодируется всего один раз)
  2. Можем обойти блокировки (видео отправляется не напрямую на условный чатур, а на сервер в Париже или Горно-Урюпинске (смотря где расположен сервер), а уже этот сервер, расположенный в стране, которая не блокирует вебкам, отправляет стрим куда надо)

Относительно пункта один я думаю все понятно :D

Пункт два - рестриминг жестко выручал меня на стримах в поездках, когда в отеле или апартаментах Wi-Fi остался где-то в 2007

Относительно пункта три - когда я жил в России таких жестких блокировок не было (кроме одного локального провайдера, но судя по ощущениям он забанил чару чисто мне за количество сожранного трафика).

Всегда блочились только "оболочка" сайта, но это фиксилось зеркалом/впн/прокси. А вот сервера для стрима всегда оставались доступны (до есть, в принципе, стримить можно было и без ВПН, он нужен чисто чтобы чат читать).

Однако, как мы все знаем в сторону вебки (и не только) в РФ происходят ужесточения, так что никто не знает что будет.

И опять же - пункт три помогал мне в поездках, например на Бали почти у всех провайдеров блокнуты вебкам, причем прям сервера для стримов

Какие есть варианты рестриминга?

Вообще есть уже готовые сервисы, где вам нужно просто заплатить деньгу, указать ключи доступа и кайфовать, например Restream

Плюсы Resream.io - все готово, удобный интерфейс, можно менять сервера для стримов на ходу (например, на Бали рекомендую выбирать сервер в Сингапуре, так как Индонезия закупает самый дешевый трафик, который ужасно "ходит" в Европу, но хорошо "ходит" в Сингапур, у которого трафик уже намного лучше), а также сохраняет записи стримов в вашем аккаунте (можно потом скачивать и нарезать)

Минусы Restream.io - платный. Причем ценовая политика не то чтобы самая вкусная:

Бесплатную версию можно даже не рассматривать - ограничения по качеству, по вариантам куда стримить

$19/month - стрим максимум на 5 сайтов, сохраняет до 5 файлов (записи стримов или загруженные тобой), запись стримов до 6 часов, нет вотермарки

$49/month - все что выше, но до 8 сайтов, до 10 файлов, до 10 часов записи, стримить в Full HD можно прямо из браузера (без OBS) и еще пару не нужных в нашем контексте плюшек

Остальные тарифы - уже излишества

Кроме того, если мы параноик-пароноидальный, то мы никогда не можем доверять рандомный сервисам x)

Поэтому для нас остается вариант номер два - свой self-hosted рестрим-сервис

Схема проста - арендуем сервер, ставим софт, настраиваем, используем

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

Минусы: вы почувствуете себя хакером при установке - на первый взгляд все может показаться дико-сложным, потому что мы все привыкли кнопочки нажимать и картинки лайкать, мало кто из нас видел "экран по ту сторону", но если вы будете тупо повторять эту статью шаг за шагом и строчка за строчкой, то у вас ТОЧНО все получится.

нет записи видео.

нет вообще ничего кроме рестриминга.

Переходим к делу, сейчас вам покажется, что вы ничего не понимаете

РЕГИСТРАЦИЯ СЕРВЕРА

Для начала нам нужен сервер на котором будет крутится наша шарманка

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

Поэтому:

Моя рефералка на aeza.net (компания из UK, большая часть серверов в ЕС)

Регистрируемся и открываем слева раздел "Виртуальный сервер"

  1. Вводим любое название
  2. Выбираем любую локацию где будет находится наш сервер (не Москва)
  3. Тариф выбираем Shared
  4. Далее надо выбрать один из вариантов характеристик сервера
  5. Операционная система - Ubuntu 24.04
  6. Выбираем на сколько хотим арендовать сервак
  7. Снимаем галочку с "Подключить бэкапы"

К нам на почту приходит такое письмо:

у вас вместо oval-edge будет то название, которые вы указали/которое было сгенерировано автоматически

В разделе "Подключение к серверу" вы найдете ip, логин и пароль от сервера

Сохраните их, они понадобятся для подключения к серверу и настройки

ПОДКЛЮЧАЕМСЯ К СЕРВЕРУ

Так, сразу оговорюсь - порядок действий для пользователей Windows немного другой, в отличии от пользователей компьютеров на Mac OS (макбуки, аймаки и прочие яблочные яблоки) и Linux (выкто?)

Так что давайте начнем с винда-водов, остальные могут скипать этот пункт

Для пользователей винды

я хотел написать тут другую инфу, но после ресерча выяснил, что она не актуальна начиная с 10-й версии винды. однако, инфа дальше не очень проверена, но проверить это я не могу - я яблокодрочер. если что-то не будет работать - пишите в ЛС или в комменты, разберемся.

Если версия вашей винды меньше 10-й, то чисто от души рекомендую уже обновится (если что 10-ка уже считается устаревшей)

  1. Откройте «Параметры» — «Приложения».
  2. Выберите подпункт «Дополнительные компоненты».
  3. Выберите подпункт «Дополнительные компоненты».
  4. После установки перезагрузите компьютер.

Продолжаем

Теперь открываем терминал или командную строку:

На винде:

  1. Нажимаем Win+R
  2. Вбиваем CMD
  3. Нажимаем Enter

На Mac OS:

  1. Открываем Launchpad
  2. Вводим в поиск Terminal
  3. Открываем

На Linux:

  1. Плачем (потому что у нас Linux)
  2. Плачем (потому что у нас Linux и мы не знаем как открыть терминал)
  3. Нажимаем Ctrl + Alt + T
  4. Плачем (для профилактики)

Далее смотрим на данные, которые были присланы нам в письме и вбиваем следующую команду по шаблону:

ssh <логин>@<ip>

например, если мой логин в письме diana-chaturbabes и мой IP 1337.228.0.147

то я вбиваю следующую команду:

ssh diana-chaturbabes@1337.228.0.147

Если видим такое:

то ручками вбиваем yes и нажимаем enter

Далее нам надо будет ввести пароль от сервера (нам его отправили в письме)

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

Нажимаем Enter

Если получаем такое

Значит пароль не верный

Если получаем что-то такое (если что, то цвет текста и фона не важен, это так, если кто-то начет паниковать "А У МЕНЯ НЕ КАК В ХАКЕРСКИХ ФИЛЬМАХ" - я сделал зелено-черным все, чтобы вам видно удобнее было):

То все ок

ПОДГОТОВКА СЕРВЕРА

Просто следуйте за мной и вводите команды одна за другой.

Команды я буду отмечать вот так:

это команда вводите ровно так как тут написано

Переписали команду - нажали Enter

На всякий случай - ВСЕГДА СМОТРИТЕ НА САМУЮ НИЖНЮЮ СТРОЧКУ В КОМАНДНОЙ СТРОКЕ/ТЕРМИНАЛЕ

Иногда там могут попросить сделать какое нибудь действие (типо "введите yes")

Плюс по ней вы можете понять если предыдущая команда выполнилась. Как?

Вот я выделил синим - если в начале строки написано

<логин>@название-сервера:~#

То сервер любезно приглашает вас ввести следующую команду

Приступаем к делу

sudo apt update

Видим бегущие строчки, ощущаем себя хакером, ждем выполнения

Вводим

sudo apt upgrade

По ходу выполнения нас попросят согласится с установкой, вводим символ Y и нажимаем Enter

Вводим

sudo apt install -y docker-compose-v2

Также как и в прошлой команде нас просят подтвердить установку - вбиваем символ Y и нажимаем Enter

НАСТРОЙКА ПРОГРАМКИ

Копирование кода

Дальше нам надо копировать мой код на ваш сервер

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

git clone https://github.com/herbalsomml/webcam-restreaming.git
Проект скопировался, мы на финишной прямой

Указываем ключи доступа

Теперь нам надо вбить наши ключи доступа, для этого:

Теперь нам надо вбить наши ключи доступа, для этого:

nano webcam-restreaming/.env

Видим такое страшное окно:

Мы попали.... в блокнот.

Двигаем курсором мы с помощью стрелочек на клавиатуре

У курсора есть одна особенность - когда он находится на каком-то символе, это значит он находится ПЕРЕД НИМ

например тут он расположен перед = и после E

Нам нужно вставить сюда свои ключи потока (CTRL + V на виндовс или COMMAND + V на Mac работают для вставки) от нужных сайтов (если вы не хотите использовать какой-то сайт, то просто не изменяйте строчку с ним)

Квик туториал где найти ключи потока

На чатуре:

Переходим на страницу стрима и нажимаем

Ваш токен стрима - это и есть ключ потока

Стрипчат:

Открываем страницу стрима, кликаем сюда

Если этой кнопки нет, то сначала кликаем сюда

Ключ потока подписан как "Ключ потока (Token)"

Бонга:

Открываем страницу стрима и ищем Stream Key

Cam4:

Открываем страницу стрима, нажимаем на кнопку "Получить ключ трансляции"

Вот наш ключ потока:

Продолжаем

Вводим наши ключи в нужные строчки, без пробелов после равно:

На примере выше мы заполнили ключи чатура, стрипа, и кам4

А бонгу оставили пустой - мы не хотим туда стримить

Теперь надо сохранить этот файл, для этого нажимаем комбинацию клавиш

CTRL + O

После ввидим внизу "блокнота" вот такую штуку:

Нажимаем Enter

Мы сохранили файл, теперь нажимаем

CTRL + X

ЗАПУСКАЕМ РЕСТРИМИНГ

Когда все данные сохранены, нам надо запустить программу:

docker compose -f webcam-restreaming/docker-compose.yml up --build

Видим что-то такое:

Это значит, что наша программа запущена, можете закрывать командную строку/терминал - программа запущена не на вашем компьютере, а где нибудь в далеком Париже (или не далеком, если вы такой же счастливый эмигрант как и я)

Можем идти в OBS и указывать новый сервер для стрима

Настройка OBS

Открываем OBS -> настройки -> трансляция -> настраиваемый

В поле сервер вбиваем:

rtmp://<ip-сервера>:1935/stream

IP-сервера вам в письме отсылали

Например мой IP 1337.228.0.147

Значит я вбиваю

rtmp://1337.228.0.147:1935/stream

Еще раз, но разделяя пробелами:

rtmp:// ТУТ АЙПИ : 1935/stream

сначала rtmp://

потом айпи

потом :1935/stream

Поле ключ потока оставляем пустым

Сохраняем и можем запускать стрим - он автоматически будет отправлен на те сайты, ключи которых вы указали :D

Как поменять ключи/отключить рестриминг

Если по какой-то причине вам надо сменить ключи в программе/отключить программу (например, вы где-то спалили свой сервер и боитесь, что кто-то теперь запустит стрим/выследит вас/украдут инопланетяне), то делаем следующее:

  1. Подключаемся к серверу (листаем наверх до одноименного пункта)
  2. Вбиваем команду
docker compose -f webcam-restreaming/docker-compose.yml down

Такие строчки (с припиской removed) говорят нам о том, что мы остановили программу - теперь сколько бы вы не запускали стрим в обс, он не будет ретранслироваться

Чтобы поменять ключи листаем выше до пункта "НАСТРОЙКИ ПРОГРАМКИ" и под-пункта "Указываем ключи доступа"

После пере-запускаем программу (выше пункт "ЗАПУСКАЕМ РЕСТРИМИНГ")

Урра, мы еще и поменяли все!

Это мой канал.

Это меню канала.