Как Discord одновременно обслуживает 2,5 млн голосовых чатов с помощью WebRTC

С самого начала мы так спланировали инженерные и продуктовые решения, чтобы Discord хорошо подходил для голосовых чатов во время игры с друзьями. Эти решения позволили сильно масштабировать систему, обладая небольшой командой и ограниченными ресурсами.
В статье рассматриваются различных технологии, которые использует Discord для аудио/видеочатов.
Для ясности всю группу пользователей и каналов мы будем называть «группа» (guild) — в клиенте они называются «серверами». Вместо этого здесь термин «сервер» относится к нашей серверной инфраструктуре.
Главные принципы
Каждый аудио/видеочат в Discord поддерживает много участников. Мы наблюдали, как в больших групповых чатах тысяча человек разговаривают по очереди. Такая поддержка требует клиент-серверной архитектуры, потому что одноранговая пиринговая сеть становится непомерно дорогой при увеличении числа участников.
Маршрутизация сетевого трафика через серверы Discord также гарантирует, что ваш IP-адрес никогда не виден — и никто не запустит DDoS-атаку. У маршрутизация через серверы есть и другие преимущества: например, модерация. Администраторы могут быстренько отключить звук и видео нарушителям.
Клиентская архитектура
Discord работает на многих платформах.
- Веб (Chrome/Firefox/Edge и т. д.)
- Автономное приложение (Windows, MacOS, Linux)
- Телефон (iOS/Android)
Аудио и видео в Discord работает на WebRTC. Таким образом, браузерное приложение полагается на реализацию WebRTC в браузере. Однако приложения для десктопов, iOS и Android используют единый мультимедийный движок C++, построенный поверх собственной библиотеки WebRTC, специально адаптированной к потребностям наших пользователей. Это означает, что некоторые функции в приложении работают лучше, чем в браузере. Например, в наших нативных приложениях мы можем:
- Обойти приглушение громкости в Windows по умолчанию, когда все приложения автоматически приглушаются при использовании гарнитуры. Это нежелательно, когда вы с друзьями пошли в рейд и координируете действия в чате Discord.
- Использовать собственный регулятор громкости вместо глобального микшера операционной системы.
- Обрабатывать исходные аудиоданные для обнаружения голосовой активности и трансляции звука и видео в играх.
- Уменьшате пропускную способность и потребление ресурсов CPU в периоды тишины — даже в самых многочисленных голосовых чатов в любой момент времени одновременно говорят всего несколько человек.
- Обеспечить общесистемную функциональность режима «рации» (push to talk).
- Отправлять вместе с аудио- видеопакетами дополнительную информацию (например, индикатор приоритета в чате).
В Discord голосовая и видеосвязь инициируется путём ввода голосового канала или вызова. То есть связь всегда инициируется клиентом — это снижает сложность клиентской и серверной части, а также повышает устойчивость к ошибкам. В случае сбоя инфраструктуры участники могут просто повторно подключиться к новому внутреннему серверу.
Под нашим контролем
Контроль нативной библиотеки позволяет реализовать некоторые функции иначе, чем в браузерной реализации WebRTC.
Во-первых, WebRTC полагается на протокол Session Description Protocol (SDP) для согласования аудио/видео между участниками (до 10 КБ на каждый обмен пакетами). В собственной библиотеке для создания обоих потоков — входящего и исходящего — используется API более низкого уровня от WebRTC ( webrtc::Call ). При подключении к голосовому каналу происходит минимальный обмен информацией. Это адрес и порт сервера бэкенда, метод шифрования, ключи, кодек и идентификация потока (около 1000 байт).
webrtc::AudioSendStream* createAudioSendStream( uint32_t ssrc, uint8_t payloadType, webrtc::Transport* transport, rtc::scoped_refptr audioEncoderFactory, webrtc::Call* call) < webrtc::AudioSendStream::Config config; config.rtp.ssrc = ssrc; config.rtp.extensions = >; config.encoder_factory = audioEncoderFactory; const webrtc::SdpAudioFormat kOpusFormat = ; config.send_codec_spec = webrtc::AudioSendStream::Config::SendCodecSpec(payloadType, kOpusFormat); webrtc::AudioSendStream* audioStream = call->CreateAudioSendStream(config); audioStream->Start(); return audioStream; >
Кроме того, для определения наилучшего маршрута между участниками WebRTC использует Interactive Connectivity Establishment (ICE). Поскольку у нас каждый клиент подключается к серверу, нам не нужен ICE. Это позволяет обеспечить гораздо более надёжное соединение, если вы находитесь за NAT, а также сохранить ваш IP-адрес в секрете от других участников. Клиенты периодически пингуются, чтобы файрвол сохранял открытое соединение.
Наконец, WebRTC использует Secure Real-time Transport Protocol (SRTP) для шифрования носителей. Ключи шифрования устанавливаются с помощью протокола Datagram Transport Layer Security (DTLS) на основе стандартного TLS. Встроенная библиотека WebRTC позволяет реализовать собственный транспортный уровень с помощью webrtc::Transport API.
Вместо DTLS/SRTP мы решили использовать более быстрое шифрование Salsa20. Кроме того, мы не отправляем аудиоданные в периоды тишины — частое явление, особенно в больших чатах. Это приводит к значительной экономии пропускной способности и ресурсов CPU, однако и клиент, и сервер должны быть готовы в любой момент прекратить приём данных и переписать порядковые номера аудио/видеопакетов.
Поскольку веб-приложение использует браузерную реализацию WebRTC API, тут нельзя отказаться от SDP, ICE, DTLS и SRTP. Клиент и сервер обмениваются всей необходимой информацией (менее 1200 байт при обмене пакетами) — и у клиентов на основе этой информации устанавливается сессия SDP. Бэкенд отвечает за устранение различий между десктопными и браузерными приложениями.
Архитектура бэкенда
На бэкенде работает несколько сервисов для голосовых чатов, но мы сосредоточимся на трёх: Discord Gateway, Discord Guilds и Discord Voice. Все наши сигнальные серверы написаны на Elixir, что позволяет многократно повторно использовать код.
Когда вы в сети, ваш клиент поддерживает соединение WebSocket к шлюзу Discord Gateway (мы называем его шлюзовым подключением WebSocket). Через это соединение ваш клиент получает события, связанные с группами и каналами, текстовые сообщения, пакеты присутствия и т. д.
При подключении к голосовому каналу статус подключения отображается объектом состояния голосовой связи. Клиент обновляет этот объект по шлюзовому подключению.
defmodule VoiceStates.VoiceState do @type t :: % < session_id: String.t(), user_id: Number.t(), channel_id: Number.t() | nil, token: String.t() | nil, mute: boolean, deaf: boolean, self_mute: boolean, self_deaf: boolean, self_video: boolean, suppress: boolean >defstruct session_id: nil, user_id: nil, token: nil, channel_id: nil, mute: false, deaf: false, self_mute: false, self_deaf: false, self_video: false, suppress: false end
При подключении к голосовому каналу вам назначают один из серверов Discord Voice. Он отвечает за передачу звука каждому участнику канала. Все голосовые каналы в группе назначаются одному серверу. Если вы первый в чате, сервер Discord Guilds отвечает за назначение сервера Discord Voice всей группе с помощью описанного ниже процесса.
Назначение сервера Discord Voice
Каждый сервер Discord Voice периодически сообщает о своём состоянии и нагрузке. Эта информация помещается в систему обнаружения сервисов (мы используем etcd), как обсуждалось в предыдущей статье.
Сервер Discord Guilds следит за системой обнаружения сервисов и назначает группе наименее используемый сервер Discord Voice в данном регионе. Когда он выбран, все объекты состояния голосовой связи (также поддерживаемые сервером Discord Guilds) передаются на сервер Discord Voice, чтобы тот мог настроить переадресацию аудио/видео. Клиенты уведомляются о выбранном сервере Discord Voice. Тогда клиент открывает второе соединение WebSocket с голосовым сервером (мы называем его голосовым соединением WebSocket), которое используется для настройки переадресации мультимедиа и индикации речи.
Когда в клиенте отображается статус Awaiting Endpoint, это означает, что сервер Discord Guilds ищет оптимальный сервер Discord Voice. Сообщение Voice Connected означает, что клиент успешно обменялся пакетами UDP с выбранным сервером Discord Voice.
Сервер Discord Voice содержит два компонента: сигнальный модуль и блок ретрансляции мультимедиа, называемый блоком избирательной пересылки, SFU (selective forwarding unit). Сигнальный модуль полностью контролирует SFU и отвечает за генерацию идентификаторов потоков и ключей шифрования, перенаправление индикаторов речи и т. д.
Наш SFU (на C++) отвечает за направление аудио- и видеотрафика между каналами. Он разработан своими силами: для нашего конкретного случая SFU обеспечивает максимальную производительность и, таким образом, самую большую экономию. При модерации нарушителей (отключение звука на сервере), их аудиопакеты не обрабатываются. SFU также работает мостом между нативными и браузерными приложениями: он реализует транспорт и шифрование и для браузера и для нативных приложений, преобразуя пакеты в процессе передачи. Наконец, SFU отвечает за обработку протокола RTCP, который используется для оптимизации качества видео. SFU собирает и обрабатывает отчёты RTCP от получателей — и уведомляет отправителей, какая полоса доступна для передачи видео.
Отказоустойчивость
Поскольку напрямую из интернета у нас доступны только сервера Discord Voice, речь пойдёт о них.
Сигнальный модуль непрерывно контролирует SFU. Если тот сбоит, он мгновенно перезапускается с минимальной паузой в обслуживании (несколько потерянных пакетов). Состояние SFU восстанавливается сигнальным модулем без какого-либо взаимодействия с клиентом. Хотя сбои SFU редки, мы используем тот же механизм для обновления SFU без перерывов в обслуживании.
Когда падает сервер Discord Voice, он не отвечает на пинг — и удаляется из системы обнаружения сервисов. Клиент также замечает сбой сервера из-за разрыва голосового соединения WebSocket, тогда он запрашивает пинг голосового сервера через шлюзовое соединение WebSocket. Сервер Discord Guilds подтверждает сбой, консультируется с системой обнаружения сервисов и назначает группе новый сервер Discord Voice. Затем Гильдии Discordов отправляют все объекты состояния голоса на новый голосовой сервер. Все клиенты получают уведомление о новом сервере и подключаются к нему для запуска настройки мультимедиа.
Довольно часто серверы Discord Voice попадают под DDoS (мы видим это по быстрому увеличению входящих IP-пакетов). В этом случае мы выполняем такую же процедуру, как при сбое сервера: удаляем его из системы обнаружения сервисов, выбираем новый сервер, переводим на него все объекты состояния голосовой связи и уведомляем клиентов о новом сервере. Когда DDoS-атака утихает, сервер возвращается обратно в систему обнаружения служб.
Если владелец группы решает выбрать новый регион для голоса, мы выполняем очень похожую процедуру. Сервер Discord Guilds выбирает наилучший доступный голосовой сервер в новом регионе, консультируясь с системой обнаружения сервисов. Затем он переводим на него все объекты состояния голосовой связи и уведомляем клиентов о новом сервере. Клиенты разрывают текущее соединение WebSocket со старым сервером Discord Voice и создают новое соединение с новым сервером Discord Voice.
Масштабирование
Вся инфраструктура Discord Gateway, Discord Guilds и Discord Voice поддерживает горизонтальное масштабирование. Discord Gateway и Discord Guilds работают в облаке Google.
У нас более 850 голосовых серверов в 13 регионах (размещёнными более чем в 30 дата-центрах) по всему миру. Такая инфраструктура обеспечивает большую избыточность на случай сбоев в дата-центрах и DDoS. Мы работаем с несколькими партнёрами и используем свои физические серверы в их дата-центрах. Совсем недавно добавили регион Южной Африки. Благодаря инженерным усилиям как в клиентской, так и в серверной архитектуре, теперь Discord способен обслуживать одновременно более 2,6 миллиона пользователей голосового чата с исходящим трафиком более 220 Гбит/с и 120 млн пакетов в секунду.
Что дальше?
Мы постоянно следим за качеством голосовой связи (метрики поступают с клиентской стороны на серверы бэкенда). В будущем эта информация поможет в автоматическом обнаружении и устранении деградаций.
Хотя мы запустили видеочат и скринкасты год назад, но сейчас их можно использовать только в личных сообщениях. По сравнению со звуком, видео требует значительно большей мощности CPU и пропускной способности. Задача состоит в том, чтобы сбалансировать объём пропускной способности и ресурсов CPU/GPU, используемых для обеспечения наилучшего качества видео, особенно когда группа геймеров в канале находится на разных устройствах. Решением проблемы может стать технология масштабируемого видеокодирования Scalable Video Coding (SVC), расширение стандарта H.264/MPEG-4 AVC.
Для скринкастов нужно ещё больше полосы, чем для видео, из-за более высокого FPS и разрешения, чем у обычной веб-камеры. Мы сейчас работаем над поддержкой аппаратное кодирования видео в десктопном приложении.
- Высокая производительность
- Мессенджеры
- Софт
- Социальные сети и сообщества
- Звук
Как привязать Твич к Ютубу и Дискорду – инструкция по подключению


Мессенджер Discord – это платформа, где игроки могут обмениваться опытом, файлами, видео, запускать стримы. Поэтому важно знать, как привязать аккаунт программы Твич к приложению Дискорд. Существует несколько вариантов действий – соединение с учеткой Ютуба и режим стримера. Кроме того, при регистрации могут возникнуть некоторые сложности, ознакомиться с которыми следует заранее.
Привязка Твича
- открыть профиль Дискорда (ввести логин и пароль), перейти в раздел «Настройки»;

- зайти в блок «Интеграции» (отобразится список доступных к соединению сервисов, Твич четвертый);
- дать разрешение на работу аккаунта Дискорд с нужной утилитой (откроется дополнительное рабочее окно, где следует подтвердить выполнение подключения).
После этого пользователя автоматически переведет на интернет-страницу разработчика приложения Twitch. На мониторе персонального компьютера (стационарного или портативного) появится сообщение о состоявшейся привязке.

Внимание! Полезно будет настроить OBS Overlay, с помощью которого можно добавить текстовый чат к видеотрансляции. Дополнительно юзер сможет использовать несколько каналов или серверов.
Как привязать Ютуб
Для связи с каналом используют дополнение – роботизированного помощника (бота). Например, Nightbot. Особенности:
- устанавливается стандартным способом на сервер;
- используется для модерации действий участников канала;
- позволяет управлять функционалом чата, видеоресурса;
- синхронизирует несколько учетных записей администратора.
Установка не займет много времени, ссылка для добавления: https://bots.server-discord.com/513805903812755497.

Режим стримера
Данный способ работы считается главным – Twitch добавляется для проведения видеоконференций, запуска стримов (обучающих видео). Инструкция для активации необходимого режима действий:
- синхронизировать учетные записи социальных сетей Discord и Twitch;
- настроить процесс обмена данными между аккаунтами (в разделе «Настройки сервера» выбрать строку «Объединение»);
- выбрать для одного из участников канала соответствующую роль.
Внимание! В нужном разделе мессенджера Дискорд можно выдать соответствующие разрешения, указать определенное наименование для роли. Назначение при этом устанавливается автоматически, поэтому вручную изменить пользователя в данном случае не получится.

После этого юзеру будет достаточно определить администраторов, модераторов, выдать разрешения иным игрокам (если это будет необходимо).
Возможные проблемы
В процессе настройки и использования указанных программ могут возникать различные непредвиденные ситуации. Например:
- некоторые пользователи не стали обновлять подписку на подключенный Твич-аккаунт – допускается ограничение таких юзеров в правах или полное удаление. Внимание! Некоторые игроки могут забыть обновить нужные подписки. Администратор может установить льготный период пользования с указанием срока решения проблемы;
- присоединившиеся аккаунты не видно в течение некоторого времени – допускается устанавливать дополнительную синхронизацию процессов (подключение, активация);
- иногда уже зарегистрированные участники не могут попасть на стрим – сначала нужно проверить синхронизацию учетных записей, затем активность подписок, повторить соединение.

Для решения возникающих неисправностей можно обратиться в службу поддержки каждой социальной сети.
Для общения и обмена опытом можно использовать несколько учетных записей разных мессенджеров. Например, допускается соединить Твич, Дискорд и Ютуб. Инструкции несложные, подойдут начинающим.
Важно Частые ошибки RAGE:MP и пути их решения (troubleshooting_ru)
ERROR: Could not access game process. Shutdown Steam/RGS/EGS and try again.
Как и сказано в ошибке: завершите все процессы Steam / Rockstar Game Service / Epic Games Store и попробуйте подключится еще раз. Также некоторым помогает запуск от имени администратора и отключение антивируса (или добавления каталога RAGE:MP в исключения антивируса, часто подобные проблемы возникают на антивирусе Kaspersky).
System.ComponentModel.Win32Exception (0x80004005)
Выключите любые антивирусы или добавьте папку в исключения и попробуйте установить RAGE снова. Эта ошибка чаще всего встречается если антивирус удаляет файлы мультиплеера.
Если отключение антивируса/windows defender не помогла, нажмите пкм на updater.exe и выберите в меню «Troubleshoot compatibility»/»Исправление проблем с совместимостью».
ERROR: Your game version is not supported by RAGE Multiplayer.
Please upgrade to 1.54 (16 March 2021) in order to continue playing.
Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже).
Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
После этого если игра все равно не работает — вам нужно дождаться выхода патча для самого мультиплеера
(обычно это занимает от нескольких часов до нескольких дней). И это значит, что зайти не могут ВСЕ, а не только Вы.
Если же обновления GTA V не было, то вы используете старую версию и необходимо обновиться.
Новости и апдейты Rockstar Games — https://www.rockstargames.com/ru/newswire/
(STEAM ONLY) Запускается одиночный режим или запускается сингл вместо мультиплеера.
Выйдите из стима, потом запустите RAGE и дайте ему запустить стим самому, после чего вы с большой вероятностью загрузитесь в мультиплеер.
Игра не запускается или запускается и сразу отключается
Удалите любые моды, установленные в папке GTA.
Пользователям NVIDIA: отключите Nvidia Shadowplay и попробуйте зайти снова.
Игра отключается после захода на сервер (Как только появляется надпись «Multiplayer started»)
Попробуйте переместить папку с RAGE на другой диск (Например, из C:\ в D:\)
Если сервер с войс чатом, отключите любые программы, которые блокируют доступ к микрофону или изменяют ваш голос.
Failed to retrieve the install directory (Не удалось найти путь установки)
Это происходит, когда вы указываете неверную папку с GTA V или исполняемый файл гта/любые другие файлы нужно обновить. Во-первых, убедитесь, что вы указали верную папку с GTAV.exe. Если папка указана верно, то запустите верификацию файлов гта.
RageMP зависает, когда я нажимаю на сервер
Зачастую это происходит когда в папке с гта отсутствует файл GTAV.exe. Если файл присутствует, то проверьте, может ли стим запустить гта 5.
Я запускаю RAGE Multiplayer и ничего не происходит
Выключите любые антивирусы или добавьте папку в исключения, это происходит, когда не хватает каких либо файлов RAGE. Если у вас нет антивируса, переустановите RAGE Multiplayer.
I’m getting frameskipping while playing on any server (Не понял, что такое frameskipping, сами переводите как хотите)
Отключите autohotkey. Если монитор 144Hz, ограничьте fps/hz до 60.
GTA V запускается с черным экраном, а затем внезапно закрывается/вылетает после нажатия «Play Now»
Если это происходит впервые после запуска RageMP или вы только что его переустановили, это происходит из-за того, что кнопка ‘Play Now’ переподключает к последнему серверу, на котором вы играли. Используйте вкладку ‘Servers’ иди ‘Direct Connect’, если подключаетесь впервые, после этого можно использовать «Play Now».
- MSI Afterburner
- AI Suite 3
- GameFirst V
- Malwarebytes
- Norton Security / Antivirus Software
- RivaTuner Statistics Server (7.2.2)
- Microsoft Gaming Overlay (или ‘Game Bar’)
«A legal up to date Grand Theft Auto V copy is required to play RAGE Multiplayer»
Нужно купить лицензионную копию игры.
Если вы приобрели игру и все равно видите эту ошибку, верифицируйте файлы. Если это не помогает, перейдите в папку с гта и удалите Файл ‘GTA5.exe’, затем запустите ‘PlayGTA5.exe’ и загрузитесь в игру. После этого попробуйте зайти через RAGE повторно.
RageMP закрывается сразу после открытия
Выключите любые антивирусы или добавьте папку в исключения, затем перезагрузите компьютер.
Если это не помогло, то, возможно, ваше подключение блокирует cloudflare, попробуйте подключиться через VPN.
Запускается одиночный режим или главное меню
Убедитесь, что пакет Visual C++ redistributable 2015 (https://www.microsoft.com/en-us/download/details.aspx?id=48145) был установлен.
Если он установлен, отключите windows defender.
System.Net.WebException: The remote server returned an error: (403)
Ваш IP был заблокирован, смените его или используйте VPN.
- Переустановите RAGE Multiplayer.
- Убедитесь, что игра никак не была модифицирована.
- Переустановите GTA V или пройдите верификацию файлов.
- Запустите RAGE Multiplayer от имени администратора.
- Установите необходимые пакеты:
https://www.microsoft.com/en-us/download/details.aspx?id=48145
https://www.microsoft.com/en-us/download/details.aspx?id=53344&desc=dotnet462 - Установите RAGE Multiplayer и GTA V на один диск.
- Установите RageMP и GTA V на разные диски.
- Отключите любые оверлеи (Steam, OBS, Discord overlay, Overwolf).
- Убедитесь, что присутствует файл сохранения (запустите одиночную игру и сохраните ее).
- Удалите любые моды на GTA V.
- Выключите любые антивирусы или добавьте папку в исключения. Добавьте RAGE в исключения Firewall.
- Нажмите пкм на ragemp.exe и выберите в меню «Troubleshoot compatibility»/»Исправление проблем с совместимостью».
- (NVIDIA USERS) отключите Shadowplay.
- (STEAM ONLY) Выйдите из стима, потом запустите RAGE и дайте ему запустить стим самому.
ragemp не запускается ragemp ошибка gta5rp не запускается
Последнее редактирование: 5 Апр 2022
Развернуть подпись
Готовая сборка сервера RedAge RP V2.5 (RAGE:MP 1.1) (+ обновления / поддержка 30 дней)
Услуги разработчика (JS / C# / C++ / PHP)
Качественный хостинг для RAGE:MP (Cloud VPS / Dedicated)
Как настроить сцены в OBS и переключаться между ними?
![]()
Как настроить сцены в OBS наилучшим образом, чтобы обеспечить высочайшее качество трансляции? Раскрываем секреты – составили подробный гайд, который поможет сориентироваться начинающему и даже опытному пользователю!
Первичная настройка
Программное обеспечение Open Broadcaster Software предназначено для онлайн-трансляции любого контента – позволяет передавать содержимое экрана вашего компьютера зрителям через соответствующие площадки.
Скринкаст состоит из сцен – это видео, которое видят зрители! Контент может быть разным – игра, трансляция с веб-камеры, демонстрация презентаций и многое другое. Содержимое видео, его составляющие – это источники.
Давайте поговорим о том, как производится настройка сцен в OBS для стрима. Сначала попробуем организовать видеопоток:
- Откройте программу и найдите соответствующее одноименное поле внизу слева;
- Нажмите на плюсик ниже, чтобы добавить новое исходящее видео;
- Задайте имя и кликните «ОК» .

Можно создавать несколько разных вариантов – названия в обязательном порядке будут отличаться! Готовые сцены для OBS можно сделать и сохранить заранее, чтобы использовать в нужный момент.
Рядом со значком «+» вы найдете кнопку «–» . Жмите на минус, чтобы удалить выделенную строку полностью. Стрелки рядом позволяют переключать порядок расположения.
Если Твич перестал работать, то мы знаем что делать! Переходи и читай про всевозможные проблемы.

Важнейшей составляющей являются источники – как говорилось выше, они являются содержимым исходящего видеопотока. Чтобы добавить источник, нужно передвинуть курсор правее – к одноименному полю и нажать на плюс.
Перед вами большой выбор! Из открывшегося меню выберем несколько самых популярных источников:
- Браузер
- Захват окна (в стриме будет выделенная программа – например, игра)
- Захват экрана (на стрим выводится полное содержимое дисплея)
- Изображение (нужен для добавления картинок или виджетов)
- Слайдшоу (нужен для наложения оверлея)
- Текст
- Устройство захвата видео (веб-камера).

Пользователи неслучайно часто задаются вопросом, как и где скачать готовые сцены для OBS. Они представляют собой набор нужных деталей – это оформление стрима с помощью виджетов или оверлея.
- Виджетами могут быть часы, таймеры, надписи, заставки, счетчик уведомлений и многое другое;
- Оверлей – визуальное оформление стрима, включающее в себя окно чата, рамку для веб-камеры, окно для всплывающих событий.
Скачать сцены для OBS и интегрировать их в приложение нельзя – но вы можете выбрать нужные готовые виджеты и оверлей, а потом вставить их в нужное потоковое видео и настроить его оптимальным образом.
Несколько каталогов виджетов:
- https://enter-media.org/widgets/?PAGEN_1=4
- https://streamdps.ru/
Лучшие готовые оверлеи:
- https://www.graphicdesignresources.net/templates/psd-templates/free-stream-overlay-templates.html
- https://www.own3d.tv/shop/twitch-stream-overlays-templates/
А теперь переходим к одному из важных этапов настройки – поговорим про переход между сценами в OBS!
Настройка перехода
В программе есть специальный режим студии – он позволяет переключаться между разными видеопотоками. Простой пример: вы показываете презентацию о работе приложения – через несколько минут переходите к непосредственной демонстрации работы приложения.

Простая смена «слайдов» выглядит некачественно – поэтому используются эффекты перехода. Найдите соответствующее поле снизу справа! Настало время выбрать подходящий вариант – вас ждут готовые переходы между сценами OBS:
- Обрезка
- Затухание
- Перемещение
- Сдвиг
- Стингер
- Затухание в цвете
- Выцветание
Выбираете нужный эффект – он автоматически будет добавлен в текущую сцену. Чтобы настроить, жмите на шестеренку напротив – устанавливайте картинку, длительность и другие параметры (зависит от эффекта).
Настройка переключения горячими клавишами
Несколько слов о том, как переключать сцены в OBS горячими клавишами:
- Нажмите на кнопку «Настройки» снизу справа;
- Перейдите к разделу «Горячие клавиши» ;
- Найдите названия нужных исходящих видео;

- В строках ниже установите сочетание кнопок, изменения сохраняются автоматически.
Вы узнали, как настроить программу для стриминга наилучшим образом, как сделать переход между сценами в OBS и выйти в эфир с подготовленным материалом! Используйте наши подсказки, чтобы организовать трансляцию максимально круто, красиво и информативно. Детально рассказали о музыке для Твича без авторских прав по ссылке!