A
AmoCast Engine
RTMP Multiplexer

Общая информация

Какие ключи нужны?
Для работы AmoCast Engine требуются ключи двух типов:
1. RTMP Stream Key — для отправки видеопотока TWITCH_KEY — вставляется вручную (постоянный ключ Twitch).
YOUTUBE_KEY и VK_KEY — создаются автоматически при подключении OBS. Не нужно заполнять вручную.
2. OAuth Credentials — для автоматического создания трансляций Позволяют системе автоматически создавать сессии YouTube и VK при начале стрима. Требуют регистрации приложения на платформе.
TWITCH_CLIENT_ID, TWITCH_CLIENT_SECRET, YOUTUBE_CLIENT_ID, YOUTUBE_CLIENT_SECRET, VK_APP_ID, VK_APP_SECRET
Twitch Twitch
YouTube YouTube
VK ВКонтакте
Назад к выбору платформы
Twitch YouTube ВК

Twitch

RTMP Stream Key / Ключ для стриминга
Для отправки видеопотока из OBS в Twitch
  1. Откройте Creator Dashboard / Панель автора
    Войдите в свой аккаунт Twitch и перейдите в панель управления автора.
    https://dashboard.twitch.tv
  2. Перейдите в настройки стрима
    Боковое меню: "Settings" (Настройки) → "Stream" (Канал и видео).
  3. Скопируйте ключ трансляции
    В разделе "Primary Stream key" (Основной ключ трансляции) нажмите "Copy" (Копировать).
  4. Добавьте в .env
    TWITCH_KEY=скопированный_ключ
    Формат: live_123456789_abcdefghijklmnopqrstuvwxyz
Twitch OAuth Credentials / Регистрация приложения
Для управления метаданными: название, категория, теги, язык
  1. Войдите в консоль разработчика / Log in to Developer Console
    Откройте страницу разработчиков Twitch и войдите. Обязательно включите двухфакторную аутентификацию (2FA) в настройках безопасности — без неё консоль не пустит.
    https://dev.twitch.tv/console
  2. Перейдите на вкладку Applications / Приложения
    В консоли разработчика выберите вкладку "Applications" (Приложения), затем нажмите "Register Your Application" (Зарегистрировать приложение).
  3. Заполните данные / Fill in application details
    Name: AmoCast Engine (уникальное название)
    OAuth Redirect URLs: вставьте http://YOUR_SERVER_IP:8080/api/oauth/twitch/callback и нажмите "Add" (Добавить)
    Category / Категория: Application Integration
  4. Создайте приложение / Create the app
    Отметьте "I'm not a robot" (Я не робот) и нажмите "Create" (Создать).
  5. Получите Client ID и Client Secret
    Вернитесь на вкладку "Applications" (Приложения). Найдите приложение в списке "Developer Applications", нажмите "Manage" (Управление).
    Скопируйте Client ID.
    Нажмите "New Secret" (Новый секрет) — скопируйте сгенерированный Client Secret (показывается только один раз!).
  6. Добавьте в .env
    TWITCH_CLIENT_ID=ваш_client_id
    TWITCH_CLIENT_SECRET=ваш_client_secret
Используемый scope: AmoCast Engine запрашивает channel:manage:broadcast — позволяет изменять название, категорию, теги и язык трансляции на Twitch.
Назад к выбору платформы
Twitch YouTube ВК

YouTube

RTMP Stream URL/Key / Ключ для стриминга
Для отправки видеопотока из OBS в YouTube
  1. Подключите YouTube OAuth
    Перейдите в Настройки → подключите YouTube через OAuth. Это необходимо один раз — после этого ключи будут создаваться автоматически.
  2. Начните стрим в OBS
    Просто начните трансляцию в OBS на сервер rtmp://ваш_сервер:1935/live.
    Система автоматически создаст трансляцию YouTube при первом подключении.
    Редактировать .env и копировать ключи вручную не нужно.
Автоматическое управление ключом: Ключ трансляции YouTube создаётся автоматически при подключении OBS. Не нужно вручную копировать его из YouTube Studio или редактировать .env.
Задержка YouTube относительно других платформ: При первом подключении OBS система создаёт трансляцию YouTube и перезагружает nginx. Это занимает 5–15 секунд, поэтому трансляция на YouTube может начаться с небольшой задержкой относительно Twitch. Последующие стримы в той же сессии работают без задержки.
YouTube OAuth Credentials / Настройка Google Cloud Console
Для управления метаданными: название, описание, теги, приватность
  1. Создайте проект в Google Cloud Console
    Перейдите в консоль Google Cloud. Если у вас ещё нет проекта — создайте новый (кнопка в шапке слева от логотипа).
    https://console.cloud.google.com
  2. Включите YouTube Data API v3
    Боковое меню: "APIs & Services" → "Library". Найдите "YouTube Data API v3" и нажмите "Enable".
    https://console.cloud.google.com/apis/library
  3. Настройте Consent Screen / Экран согласия
    Перейдите по прямой ссылке ниже. Откроется страница "OAuth Overview".
    Шаг 1 — Branding:
    В левом меню выберите "Branding". Заполните App name (например AmoCast Engine), User support email и Developer contact email — везде укажите свой Google-аккаунт. Нажмите "Save" (внизу страницы).

    Шаг 2 — Audience:
    В левом меню выберите "Audience". Выберите "External" (не Internal — он требует Google Workspace).
    Ниже найдите раздел "Test users", нажмите "Add users" и добавьте свой Google-email. Нажмите "Save" (внизу страницы).
    ⚠ Без добавления тестового пользователя Google выдаст ошибку 403 «Доступ заблокирован».
    https://console.cloud.google.com/auth/overview
  4. Создайте OAuth client
    Перейдите по ссылке ниже. Нажмите "Create OAuth client" (или "Create Credentials" → "OAuth client ID").
    https://console.cloud.google.com/apis/credentials
  5. Заполните данные клиента
    Application type: Web application
    Name: AmoCast Engine
    Authorized redirect URIs: добавьте http://YOUR_SERVER_IP:8080/api/oauth/youtube/callback
    Нажмите "Create".
  6. Скопируйте Client ID и Client Secret
    После создания появится окно с Client ID — скопируйте сразу.
    Нажмите "Download JSON". Если скачивание не происходит:
    Отключите блокировщик рекламы (AdBlock/uBlock) — он часто блокирует скачивание JSON с Google.
    • Разрешите скачивание в адресной строке браузера (значок блокировки).
    • Или откройте Credentials, нажмите на название клиента в списке — вкладка "Client Secret" покажет значение.

    Важно: JSON скачивается только один раз — на этом шаге. Если вы потеряете ключи, придётся создать новый OAuth client.
  7. Добавьте в .env
    YOUTUBE_CLIENT_ID=ваш_client_id
    YOUTUBE_CLIENT_SECRET=ваш_client_secret
Используемый scope: Запрашивается youtube.force-ssl — управление названием, описанием и настройками трансляции.
Назад к выбору платформы
Twitch YouTube ВК

VK

RTMP Stream Key / Ключ для стриминга
Для отправки видеопотока из OBS в VK Live
  1. Подключите VK OAuth
    Перейдите в Настройки → подключите VK через OAuth. Это необходимо один раз — после этого ключи будут создаваться автоматически.
  2. Начните стрим в OBS
    Просто начните трансляцию в OBS на сервер rtmp://ваш_сервер:1935/live.
    Система автоматически создаст сессию ВКонтакте при первом подключении.
    Редактировать .env и копировать ключи вручную не нужно.
Автоматическое управление ключом: Ключ трансляции VK создаётся автоматически при подключении OBS. Не нужно вручную копировать его из интерфейса VK или редактировать .env.
Задержка VK относительно других платформ: При первом подключении OBS система создаёт сессию ВКонтакте и перезагружает nginx. Это занимает от 5 до 15 секунд, поэтому трансляция на VK может начаться с небольшой задержкой относительно Twitch и YouTube. Последующие стримы в той же сессии работают без задержки.
VK OAuth Credentials / Создание приложения ВКонтакте
Для управления метаданными: название, описание
  1. Войдите в кабинет разработчика VK
    Откройте портал разработчиков ВКонтакте и войдите в свой аккаунт.
    https://dev.vk.com/ru/admin/apps-list
  2. Создайте приложение
    Нажмите «Создать приложение». Выберите тип «Мини-приложение» (подойдёт любой доступный тип).
    Название: AmoCast Engine
    Заполните обязательные поля и нажмите «Создать».
  3. Получите ID и защищённый ключ
    Откройте созданное приложение → в левом меню выберите «Разработка»«Ключи доступа».
    Скопируйте App ID (ID приложения) — только цифры, без префикса app.
    Скопируйте Защищённый ключ.
    Сервисный ключ не нужен — используется только защищённый.
  4. Добавьте в .env
    VK_APP_ID=ваш_app_id (только цифры, например: 643754)
    VK_APP_SECRET=ваш_secure_key
Используемый scope: AmoCast Engine запрашивает video — позволяет изменять название и описание трансляции ВКонтакте.

Настройка .env файла

Пример конфигурации
Добавьте полученные credentials в файл .env в корне проекта.
# RTMP ключ для стриминга (только Twitch — YouTube и VK автоматически)
TWITCH_KEY=live_xxx_xxx

# OAuth credentials для автоматического создания трансляций
TWITCH_CLIENT_ID=your_twitch_client_id
TWITCH_CLIENT_SECRET=your_twitch_client_secret

YOUTUBE_CLIENT_ID=your_youtube_client_id
YOUTUBE_CLIENT_SECRET=your_youtube_client_secret

VK_APP_ID=643754 (только цифры, без app)
VK_APP_SECRET=your_vk_app_secret

# URL сервера (для OAuth redirect)
BASE_URL=http://your-server-ip:8080
Важно: После изменения файла .env необходимо перезапустить контейнер:
docker compose restart

Настройка Redirect URI

Указание адресов возврата
На каждой платформе необходимо указать Redirect URI для OAuth авторизации.
# Замените YOUR_SERVER_IP на реальный IP или домен вашего сервера

Twitch:
http://YOUR_SERVER_IP:8080/api/oauth/twitch/callback

YouTube:
http://YOUR_SERVER_IP:8080/api/oauth/youtube/callback

VK:
http://YOUR_SERVER_IP:8080/api/oauth/vk/callback
Внимание: Если ваш сервер доступен по HTTPS, используйте https:// вместо http://. Некоторые платформы (например, Google) требуют HTTPS для production.