StreamerHelper
🍰 Никогда больше не пропустите стримы любимых стримеров.
После установки StreamerHelper будет в фоновом режиме отслеживать онлайн-статус стримеров на различных платформах и записывать прямые трансляции, сохраняя их в виде видеофайлов. После завершения трансляции файлы будут загружены на Bilibili.
(Что касается авторских прав, параметры по умолчанию для загружаемых материалов установлены как перепечатка. В кратком описании по умолчанию содержится ссылка на прямой эфир.)
cp templates/info-example.json templates/info.json
Файл конфигурации: /app/templates/info.json
Каталог видео: /app/download
Для поддержания работы контейнера используется параметр restart
Docker, а не PM2.
DNS-параметры можно настроить в соответствии с регионом и конкретной ситуацией.
# Локальная компиляция
docker build -t streamerhelper .
# /your_project_path/info.json указывает на абсолютный путь к настроенному файлу info.json, последующие действия аналогичны.
docker run --name stream -itd -v /your_project_path/info.json:/app/templates/info.json -v /your_project_path/download/:/app/download --dns 114.114.114.114 --restart always streamerhelper
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
# Mac
brew update
brew install ffmpeg
# Linux
sudo add-apt-repository ppa:djcj/hybrid
sudo apt-update
sudo apt-install ffmpeg
В настоящее время поддерживается только вход с использованием QR-кода или токена доступа. После запуска программы в консоли будет отображаться QR-код. Если его невозможно отобразить, откройте файл ./qrcode.png.
Если выбран вход с использованием токена доступа, необходимо вручную заполнить значение access_token в personInfo.
npm i -g pm2
# Если установка не удалась, добавьте параметр --registry=https://registry.npm.taobao.org, npm i аналогично
git clone https://github.com/ZhangMingZhao1/StreamerHelper.git && cd StreamerHelper
npm i
npm run serve
Поля в файле info.json имеют следующее значение:
Поле | Описание | Возможные значения | Обязательное | Значение по умолчанию |
---|---|---|---|---|
debug | Переключатель отладки, включение которого приводит к дополнительной регистрации | true/false | Нет | false |
recycleCheckTime | Интервал проверки удаления локальных файлов и их повторной загрузки | — | Нет | 300 (с) |
roomCheckTime | Интервал проверки онлайн-статуса стримеров | — | Нет | 600 (с) |
videoPartLimitSize | Файлы меньшего размера не загружаются | — | Нет | 100 (Мб) |
logLevel | Журналы уровня выше указанного будут отправляться, независимо от размера | «TRACE», «DEBUG», «INFO», «WARN», «ERROR» | Нет | «error» |
Конфигурация журнала push-уведомлений, использующая сервис Server 酱 (https://sct.ftqq.com/)
Поле | Описание | Обязательное | Значение по умолчанию |
---|---|---|---|
enable | Разрешить ли отправку | Да | true |
host | Хост SMTP-сервера | Нет | — |
port | Порт SMTP-сервера | Нет | 465 |
from | Адрес электронной почты SMTP-сервера в качестве отправителя | Нет | — |
pwd | Пароль SMTP-сервера | Нет | — |
to | Адресат электронной почты | Нет | — |
secure | Включить ли безопасный режим | Нет | true |
Поле | Описание | Обязательное | Значение по умолчанию |
---|---|---|---|
enable | Разрешить ли отправку | Да | false |
sendKey | Ключ отправки Server 酱 | Нет | — |
Значения полей в этом разделе автоматически заполняются после входа в систему. При использовании входа с использованием токена доступа необходимо вручную заполнить поле access_token.
Поле | Описание | Обязательное | Значение по умолчанию |
---|---|---|---|
nickname | Никнейм на Bilibili | Нет | — |
access_token | Токен доступа для аутентификации | Нет | — |
refresh_token | — | Нет | — |
expires_in | — | Нет | — |
tokenSignDate | — | Нет | — |
mid | — | Нет | — |
Массив, описывающий информацию о стримерах, за которыми нужно следить.
Поле | Описание | Возможное значение | Обязательное | Значение по умолчанию |
---|---|---|---|---|
name | Имя стримера | — | Да | — |
uploadLocalFile | Загружать ли материалы на сервер | true/false | Нет | true |
deleteLocalFile | Удалять ли локальные файлы после загрузки | true/false | Нет | true |
delayTime | Время задержки перед удалением локального файла после успешной загрузки (необходимо установить deleteLocalFile в true) | — | Нет | 2 (дня) |
templateTile | Заголовок материала, поддерживает подстановку {{name}} {{time}} | — | Нет | Название прямого эфира |
desc | Описание материала | — | Нет | Powered By StreamerHelper. https://github.com/ZhangMingZhao1/StreamerHelper |
source | Источник материала (требуется copyright = 2) | — | Нет | {Название прямого эфира} Прямой эфир {Адрес прямого эфира} |
dynamic | Динамические данные фанатов | — | Нет | {Название прямого эфира} Прямой эфир {Адрес прямого эфира} |
copyright | Источник материала, 1 — собственное производство, 2 — перепечатка | 1/2 | Нет | 2 |
roomUrl | Адрес прямого эфира | Да | Нет | — |
tid | Раздел материала | См. таблицу tid | Да | Пустое значение приведёт к сбою загрузки |
tags | Теги материала | Да | Не менее одного тега, общее количество не должно превышать 12, и каждый тег не должен превышать 20 символов, иначе загрузка завершится неудачно | В интернете есть много сайтов с информацией на эту тему. Посмотрите, что нашлось в поиске В интернете есть много сайтов с информацией на эту тему. Посмотрите, что нашлось в поиске |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )