Многофункциональное, полностью настраиваемое приложение для отображения на стриме различных коротких видео, отправленных зрителями. Работает с Twitch чатом, поддерживаемые видео: Memealerts, Youtube и Tiktok.
Приложение состоит из сервера на Node.js и клиента, автоматически размещаемого в localhost. Пользователи отправляют видео через команду в чате, сервер считывает команду и получает видео. Клиент получает список видео с сервера, формирует их внешний вид и отображает их.
Также приложение имеет множество других функций: "СпамПушка", окно сообщений модераторов, возможность самостоятельной разметки оверлея, напоминания рандомными эффектами, возможность подключить TTS для модераторов, контроль сервером через команды в чате, контроль сервером через tester, настройка таймаутов для пользователей, возможность разрешить видео из любых источников.
СНАЧАЛА ЧИТАЕМ ЭТО! Перейдите в список релизов Releases и скачайте последний (на данный момент есть билды только для Windows x64). Распакуйте папку videoalerts куда угодно и попробуйте запустить videoalerts.exe. Если сервер запустился, (будет сообщение в консоли Server running on...), то следующие 5 шага можно пропустить. Если сервер не запускается, то можете попробовать способ ниже.
-
Скачайте репозиторий как ZIP и распакуйте куда удобно (не клонируйте репозиторий, если не планируете редактировать код).
-
Запустите файл
install.bat, он установит всё нужное автоматически, после установки он запустит сервер. После сервер лучше запускать черезstart.bat. Если сервер не запустился, пункты 3 и 4 ниже можете пропустить. -
Установите Node.js на свой ПК (не ниже 24.12.0 LTS).
-
Перейдите в распакованную папку
videoalerts, откройте в нейcmd(Shift+ПКМ, "Открыть окно команд") и выполнитеnpm install. -
После этого сервер можно запускать через
start.bat.
После установки сервера необходимо его настроить:
- Откройте файл "options.cfg", здесь вы можете настроить сервер (после любых изменений в "options.cfg" нужно перезапускать сервер).
- Найдите "channel" и укажите логин своего (или стримера) Twitch. Также вы можете настроить "moderators" и другие настройки (все имена нужно писать в нижнем регистре).
- Попробуйте запустить сервер.
Если сервер работает, нужно настроить клиент в OBS и протестировать:
- Откройте OBS, добавьте источник Browser на сцену с url =
http://localhost:3000. Разместите источник в иерархии выше захвата игры или окна. - Установите размер 1920x1080 (размер по умолчанию). Вы можете использовать другой размер, но сначала нужно указать его в "options.cfg".
- Добавьте фильтр Color Key для Browser, измените цвет на
#00ff00, зелёный фон (если он был) должен исчезнуть. - Откройте чат Twitch и используйте команду "!ma" для видеоалерта.
- Проверьте OBS, ваш видеоалерт должен появиться .
- Рекомендую направить аудио источника Browser на отдельный канал микшера и установить громкость около -10dB (чтобы слышать, включите режим у микшера "Только прослушивание", или "Прослушивание и вывод" если вы не выводите звук с рабочего стола).
Сначала запускаете Videoalerts сервер, а после OBS. В ином случае, после запуска сервера перейдите в OBS и обновите источник Browser, чтобы тот подключился к серверу!
Вы можете перейти по адресу http://localhost:3000/tester в своём браузере. На этой странице можно тестировать сервер: следить за клиентом, отправлять любые команды, управлять "СпамПушкой", видеть полный список видео на сервере, удалять видео (все или выборочно).
Если в браузере перейти по адресу http://localhost:3000/?dedug, то можно протестировать работу полотна, нажмите на любую свободную область, чтобы вызвать тестовый memealert. В этом режиме также отображается ID каждого видео и дополнительная информация в углу.
Если у вас возникли проблемы, создайте Issue на GitHub или свяжитесь со мной напрямую! (ТГ: @potapell0)
<url> обязательный параметр. Это ссылка на видео для видеоалерта. По умолчанию можно отправлять следующие ссылки:
- Memealerts
cdns.memealerts.com(можно получить на сайте https://memealerts.com/, нажав ПКМ на открытом видео и скопировав прямую ссылку). - Youtube видео и shorts
youtube.com, youtu.be. - Tiktok видео и наборы изображений
tiktok.com.
Вы также можете разрешить отправку прямых ссылок на видео из любых источников (установите allowUnknownSourceVideos=true в options.cfg). Не рекомендуется для Twitch, пользователи могут легко отправить запретку!
[модификатор] необязательный параметр. Пользователи могут применять модификаторы к видеоалертам. По умолчанию включены, выключить можно в конфиге allowModifiers. Список модификаторов:
pos [x] [y]устанавливает позицию видеоалерта.rotateвидео будет вращаться.faster,slowerустанавливает скорость воспроизведения (x1.5 и x0.7).speed [x]устанавливает пользовательскую скорость воспроизведения, диапазон -> [0.25; 3.0].partyбесконечное изменение цвета (hue-rotate) и тряска.cursedвидеоалерт будет чёрно-белым.wide,tallделают видеоалерт широким/высоким.invertинвертируют цвета видеоалерта.
Если пользователь не выбирает модификатор сам, сервер с некоторым шансом может выбрать случайный. Шанс настраивается переменной randomModifierChance в конфиге, можете выставить 0 чтобы выключить это.
Важно: модификаторы скорости не действуют на Youtube. На Tiktok-картинки не действуют ВСЕ модификаторы и эффекты!
<действие> обязательный параметр. Действие, которое нужно выполнить:
remaудаляет все видеоалерты с сервера.pb [x] [y]устанавливает значения события "СпамПушки" count\total в X\Y.servвключает/отключает команду!maдля всех пользователей.timeout [s]высталяет таймаутsсекунд для всех запросов пользователей. Командаtimeout offубирает этот таймаут. Настройка действует до следующего перезапуска сервера.
Показывает сообщения на экране, в углу сверху слева (по умолчанию). Это может использоваться модераторами для таких сообщений, как: Стример ушёл покушать :), Смотрим "Kill la Kill", 3 серия и т.п.
<режим> обязательный параметр. Может быть:
fast [текст]сообщение появится/изменится на некоторое время, до 30 секунд, в зависимости от длины.set [текст]показывает/изменяет сообщение, само не пропадёт.hideпрячет все типы сообщений принудительно.
СпамПушка - это событие, которое начинается, когда заполняется счётчик видеоалертов, отправленных пользователями. Во время него автоматически отправляется много рандомных видеоалертов из последних 25-ти отправленных ранее пользователями. На отправленные событием видеоалерты может автоматически примениться случайный модификатор с шансом ~50-60%. Событие длится определённое время, после счётчик обнуляется.
Событие поддаётся настройке в файле конфигурации:
vasgEnabledвключить событие.vasgLabelTextизменить название события.vasgTotalCountсколько нужно отправить видеоалертов, чтобы событие началось.vasgEnableSavesвключает сохранение прогресса счётчика.vasgSpammingTimeкак долго длится событие, в секундах.vasgSpammingIntensivityнастроить интенсивность спама (от 0 до 3, по умолчанию 1).
Когда сервер бездействует определённое время (никто не отправляет видеоалерты), сервер покажет такое уведомление (пример): "На следующий Videoalert будет применён эффект Фулскрин на 30 секунд!". Ещё есть эффекты Спам (отправляет есколко копий) и Продление (видеоалерт будет отображаться дольше). Это сделано для того, чтобы напоминать пользователям о возможности отправлять видеоалерты. Тикток-картинки не работают с эффектами. Можно отправлять видеоалерты с модификаторами, они "стакаются" с эффектами.
Событие поддаётся настройке:
allowRandomEffectsвключить событие.randomEffectWaitсколько именно сервер должен бездействовать, в минутах.efct[имя]вкл/выкл отдельных эффектов.efct[имя][настройка]настройки отдельных эффектов.
На клиенте сервера помимо видеоалертов также отображается и оверлей. Он содержит такие элементы: Прогрессбар СпамПушки, Окно сообщений модераторов, Уведомления (система, события), Уведомления о событиях неактива. Все эти функции по умолчанию включены, но это можно настроить:
vasgEnabledвключает СпамПушку.messageBoxEnabledвключает окно сообщений модераторов.disableSystemNotificationsвыключает системные уведомления.disableEventNotificationsвыключает уведомления о событиях.allowRandomEffectsвключает случайные эффекты (событие неактива).
Также можно изменить отдельно позиции всех этих элементов. Расположение работает через привязку к одному из 4 углов Anchor и указанию отступа от углов Offset.
markMessageBox**- окно сообщений модераторов.markSpamGoal**- прогрессбар СпамПушки.markNotifications**- уведомления системы, событий.markRandomEffect**- уведомления о событиях неактива.
Вы можете подключить бесплатный TTS API, это позволит модераторам отправлять вам озвученные сообщения. Нужно получить ключ для этого API, для этого нужно сделать следующее:
- Зарегистрироваться на RapidAPI.
- Перейти сюда TTS API, и подписаться на бесплатный план (для этого НЕ НУЖЕН платёжный аккаунт).
- Вот здесь Playground найдите переменную
x-rapidapi-key. - Скопируйте её значение в конфиг,
apiTTSkey(это должна быть примерно такая строка:abcdefg123456789abcdefgh123456abcdfg12345678asdfgh). - Вы также можете выбрать другой голос (
apiTTSvoiceв конфиге), список всех доступных голосов тут TTS API, листайте вниз.
Если всё сделано правильно, то модераторы смогут пользоваться командой !tts текст... для озвучивания сообщений на стриме!
sourceAllow**вкл/выкл поддерживаемые источники видео для алертов.requestVideoTimeout**настройка таймаутов для запросов пользователей.tiktokDenyAdVideosвыключает рекламные тиктоки.randomVideoMax**рандомизация некоторых переменных в заданном диапазоне.localNetworkAddressвключает распространение сервера по локальной сети. Это позволит подключиться по адресу, который отобразится в консоли, с любого устройства в одной локальной сети с сервером (экспериментально).videoDisableShadowsвыключает тени у видеоалертов.