Twitch.Guru
Сегодня вкратце рассмотрим ресурс, подсказанный мне нашим другом Gn0mefire и подробнее остановимся на одной из его наиболее (как мне кажется) занятных функций.
https://www.twitch.guru/index.php
На момент написания статьи сервис имел 9 инструментов и вполне возможно, что будут появляться и новые, поэтому для стримеров будет не лишним добавить этот сайт в закладки браузера и периодически проверять, что там происходит.
Все инструменты строятся на одном и том же принципе: генерируется веб-ресурс, который надо лишь добавить в качестве источника в OBS. Удобство в том, что не нужно делать никаких дополнительных настроек для бота — сервис самостоятельно проверяет чат и реагирует на команды. Плюс не нужно вводить паролей от Твича (за исключением работы с наградами канала) и ничего скачивать!
На самом деле, можно было бы пропустить синопсис всех инструментов и приступить к моему примеру использования, т. к. сайт имеет хорошее и понятное описание каждой фичи + прикреплены к некоторым из них видео-туториалы. Но т.к. сайт и туториалы есть только на английском языке, а эта статья будет еще и на русском, то я все же опишу каждый из пунктов.
Инструменты
Random Clip Player – воспроизводит случайные клипы с заданного канала один за другим. Может подойти для сцены перерывов.
Random Play List – воспроизводит видео из заданного плейлиста. Можно добавить не только клипы с Твича, но и Ютуб видео.
Magic 8 ball — полноценно настраиваемый виджет «Шара-предсказателя». Можно задать цвет элементов и варианты предсказаний, а также присутствует анимация тряски. Срабатывает на команду !8ball.
Shout Out Player – гвоздь сегодняшней программы! Воспроизводит случайный клип с канала, на который происходит Шаутаут.
Talking Hand – генератор речи из текста с анимированным виджетом говорящей руки. Срабатывает по награде за очки канала.
Award Timer – виджет таймера с обратным отсчетом для наград канала. Может быть очень полезна в случаях, когда надо точно знать время действия награды! Можно настроить шрифт и звуковое оповещение по истечению таймера.
Video / Sound Commands – любопытный инструмент, позволяющий делать из фрагментов Ютуб-видео алерты, звуковые и видео команды. Можно задать срабатывание на события (битсы, сабы, рейды и т.д.) и конкретные !команды. Устанавливаете начальный и конечный таймлайн видео и алерт готов! Также поддерживает хрома-кей.
Twitch Clip Downloader – инструмент для скачивания клипов с Твича.
Fart Command – по команде !fart раздастся рандомный из 28 пуков.
Как видно набор достаточно интересный и полезный. Виден креативный подход и желание создать действительно применяемые функции Принцип настройки, установки и редактирования практически везде одинаков — мы рассмотрим их на примере Shout Out Player. Таким образом, у вас появится представление как работать с каждым из инструментов и сможете быстро соориентироваться в каждом из них.
Shout Out Player
Итак, первым делом, переходим на страницу https://www.twitch.guru/tools/soclip.html и вводим имя своего канала, чтобы сгенерировать новый URL с виджетом.
Далее можно задать конкретную награду канала для воспроизведения клипа. Для этого нужно создать награду и обязательно установить для нее параметр «Пользователь должен ввести текст»! В ТвичГуру Щелкаем на «Click here to open the twitch reward page in a tab”, чтобы открылось новое окно с наградами нашего канала (если вы не залогинены в Твиче через используемый в данный момент браузер, то необходимо залогиниться). Затем в чате активируем нашу награду — все, ТвичГуру теперь привязан к ней: в строке Shout Out Reward Id появится обозначение нашей награды.
Теперь, когда активируется награда и в поле текста вводится никнейм (напр. gn0mefire), то в виджет загружается случайный клип этого канала.
Не знаю почему строка Play Clip Reward Id у меня остается в значении “off” и я никак не могу изменить этот параметр — на работоспособность это никак не влияет.
Далее идут пункты:
Max Duration – максимальная продолжительность клипа в секундах. Пустое поле = без ограничений.
Turn text display off — видимо, отключает отображаемый текст «Checkout Username” вверху виджета. Но у меня не срабатывает этот параметр.
Mute – заглушать аудио отображаемого клипа.
Также можно создать индивидуальные команды. Вводим команду и никнейм:
!ЛАЙФХАК:
Страница на этом пункте не совсем корректна отформатирована (я проверил в 3-х разных браузерах, в том числе и Chrome, под который заточен сервис) и дополнительный текст в некоторых случаях перекрывает кнопку +Add, не позволяя нажать на нее. Решается это уменьшением, либо увеличением масштаба страницы (комбинация ctrl и – / ctrl и +). Это смещает ниже/выше мешающий текст.
Последний пункт это сгенерированная ссылка — источник для браузера, то что нужно добавить в OBS. Все наши отмеченные настройки выше отображаются в этой строке. Чтобы отредактировать настройки в будущем, надо скопировать эту ссылку, вставить в браузер и прежде чем нажать Enter – добавить &options=1 в конце. Например:
http://twitch.guru/soclip/soclip.php?channel=user&RID=off&md=60&options=1
Готово! Теперь добавляем источник браузера в OBS, вставляем туда нашу ссылку и вводим любую из команд с указанием имени канала: !so !soclip !playslug. Команды !soreset !soclipsoff !soslugoff — я так понимаю, отключают воспроизведение клипов.
Собственно, из-за того, что эти команды нельзя редактировать и возникает основное неудобство (хотя достаточно было бы просто убрать самую распространенную !so и оставить !soclip). В моем случае, это особенно критично, т. к. под !so у меня привязан другой виджет и сформирована база шаутаутов из порядка 100 команд. Следовательно, мне пришлось бы переделывать их все под новую команду (!shoutout например), но я решил этот момент другим способом…
Shout Out Clip – My usage example
Что ж, т. к. я не могу использовать !so команду, иначе возникнет тотальный хаос на стриме, то я решил прибегнуть к связке со Streamlabs Chatbot и скриптом к нему OBS Remote Parameters (пачка статей на эту тему можно найти в других постах). Хотя можно использовать для этих целей и LioranBoard (который у меня не хочет работать) или TouchPortal (в котором у меня закончились бесплатные слоты) — и они будут даже удобнее. Ниже объясню почему.
Я создал отдельную сцену под названием Soclip в OBS, куда добавил источник Shout Out Player. Взял за основу команду !soclip и привязал к ней смену сцены на 35 секунд, а затем возврат к главному экрану через респонс SLCB:
$OBStimedScene(“Soclip”, “Main”, “35”)
Также я добавил в Soclip сцену OBS обычный текстовый источник, который отформатировал по вкусу и указал чтение из файла — текстовый файл куда генерируется адрес рекламируемого канала.
В респонс все той же команды добавил:
$overwritefile(“E:\soclip.txt”,”twitch.tv\$target”)
Параметр $overwritefile — переписывает файл, $target — подставляет никнейм, который приписывается к команде. Т.е. !soclip gn0mefire – gn0mefire в данном случае, это параметр $target. Получаем на экране twitch.tv\gn0mefire.
Также MadKingKanzi попросил меня, чтобы при вызове этой команды, в чат прописывалась ссылка на рекламируемый канал, добавил в респонс все того же !soclip:
$targetname can be found streaming at: $url
Вот, вроде и бы все — готово! Но возникло несколько проблем.
Первая: при использовании команды !so, несмотря на то, что Shout Out Player находится на другой сцене OBS, звук клипов врывался в основную сцену. Вторая: при переходе на сцену Soclip — клипы не запускались. Приходилось еще раз писать в чат !so gn0mefire или !soclip gn0mefire, чтобы воспроизведение началось.
Первую проблему я решил следующим образом:
В свойствах источника браузера Shout Out Player поставил галочки в чекбоксы:
- управление аудио через OBS.
Тем самым в микшер-панели появился новый источник звука, а когда происходит переход на другую сцену, звук пропадает (потому что его нет на другой сцене). - отключать, когда не видим.
Для того, чтобы клипы не воспроизводились «за кадром» во время исполнения команды !so. - обновить браузер, когда сцена становится активной.
Когда осуществляется переход на сцену Soclip — браузер с Shout Out Player автоматически обновляет кэш. В противном случае, (опять же из-за использования !so на основной сцене) возникает совершенная каша из выстроенной очереди клипов и воспроизведение происходит некорректно.
Теперь важный момент!
Чтобы звук клипов корректно воспроизводился на сцене, надо нажать на шестеренку аудио-дорожки источника Shout Out Player и перейти в «Расширенные свойства аудио» – в этом окне надо еще раз найти этот источник и в правом контекстном меню выбрать «Только прослушивание (заглушить вывод)».
Если же звук не появился, но видно по шкале аудио-дорожки, что звук идет, то зайдите в общие настройки OBS и в разделе «Аудио» – «Расширенные» — в контекстном меню верно указан ваш аудио интерфейс:
Возможно, что на разных конфигурациях эти моменты настройки могут варьироваться, в зависимости от аудио-интерфейса и операционной системы, поэтому не могу утверждать, что это единственно верный подход. Просто именно так это работает в моем случае.
Вторая проблема решилась не так изящно:
Очевидно, что при команде !soclip и переходе на сцену Soclip, автоматическое обновление кэша источника, которое я был вынужден установить, сбрасывает показ клипа. Поэтому я добавил в респонс команды !soclip ее дубль:
!soclip $target
Чтобы Shout Out Player среагировал уже на нее и показал-таки клип. К сожалению, это не всегда срабатывает корректно — необходим еще один бот, который бы снова дублировал сообщение в чат. В моем случае, Nightbot:
Команда: !soclip
респонс: !soclip $(touser)
userlevel: moderator
Но все же в большинстве случаев, команда срабатывает и без третьего повтора. Поэтому на данный момент команду Nightbot у меня отключена.
С помощью TouchPortal (а может быть и LioranBoard) — это можно решить проще: действие перехода по команде на сцену Soclip и вторым действием написать в чат !so или !soclip команды – просто выставить задержку в пару секунд для написания в чат.
Хотя, умеет ли TouchPortal в переменные (типа $target / $touser) я не уверен 🙂
Собственно вот и все. Материал снова получился достаточно объемным, но я надеюсь исчерпывающим и полезным. Посмотрите остальные инструменты, побалуйтесь, возможно, что-то из этого списка вам подойдет, а заодно придумаете креативный подход в их использовании.