Способ объединить аудио и видеопоток в одно окно для Discord?
Я пытаюсь транслировать VR-игру своим друзьям на Discord, но когда кто-либо транслирует (Screen Share) игру или любое приложение на Discord, Discord записывает только звук, исходящий из окна. А когда я играю в такую игру, как BeatSaber, и там много движения, они слышат, как я тяжело дышу через микрофон, что может мешать другим пользователям канала.
На данный момент я использую OBS для захвата входных данных OpenVR (из SteamVR), а также поместил поток веб-камеры, поступающий с камер на гарнитуре VR, в верхний левый угол экрана, затем использую Функция OBS Windows Projection для отображения изображения OBS без фактического запуска или записи чего-либо, что экономит много системных ресурсов.
Что я хочу сделать, так это найти способ объединить аудиопоток, поступающий из моей гарнитуры VR, и проекцию OBS в одно окно рабочего стола со звуком, и сделать так, чтобы это окно можно было использовать в Discord, как и любое другое. игра. Таким образом, если люди захотят посмотреть, как я играю в Beat Sabre и тяжело дышу при этом, они смогут просто посмотреть Screen Share, не отключая мне громкость в Discord.
Я очень хорошо знаком с VoiceMeeter, могу ли я использовать его, если потребуется. Единственное, что может вызывать беспокойство при объединении видео и звука, это то, что я могу слышать свой разговор во время игры, но я могу это исправить, просто отключив звук в настройках звука Windows 10, и, надеюсь, после этого Discord по-прежнему сможет воспринимать звук.
Если у кого-нибудь есть предложения, буду очень благодарен.
1 ответ
Я решил это! Я поискал что-то подобное и обнаружил, что медиаплеер VLC может открывать устройства захвата с помощью аудиоустройства и делать это с низкой задержкой. Я сделал следующее:
- Установить и настроить OBS.
- Установите плагин OBS VirtualCam. У виртуальной камеры, встроенной в последнюю версию OBS (26.1.1 на момент написания статьи), были некоторые проблемы с VLC, поэтому установка отдельного плагина для OBS помогла мне.
- Чтобы получить минимальную задержку для потоковой передачи Discord, откройте OBS, затем перейдите -> Инструменты -> VirtualCam -> Буферизованные кадры -> Перетащите вниз до 0.
- Также включите автозапуск OBS VirtualCam, если вы хотите сделать это с помощью OBS.
- Нажмите --> Старт
- Установите и откройте VLC
- Перейдите в --> Инструменты --> Настройки --> Ввод/Кодеки --> (В разделе) Кодеки --> Декодирование с аппаратным ускорением --> (выберите из раскрывающегося списка) DirectX Video Acceleration (DXVA) 2.0.
- Вернитесь к настройкам, затем выберите вверху --> Видео --> (В разделе) Дисплей --> Вывод --> (Выбрать из раскрывающегося списка)
Видеовыход DirectX (DirectDraw). См. мои изменения ниже. - Затем, все еще находясь на вкладке «Видео», перейдите -> DirectX -> (И отключите) Ускоренный вывод видео (Overlay), а также отключите -> Использовать аппаратные преобразования YUV -> RGB. Эти настройки вызвали у меня розовый экран, но YMMV.
- Закрыть настройки.
- В VLC перейдите в раздел «Медиа» -> «Открыть устройство захвата» -> «DirectShow» -> «Имя видеоустройства» -> (выберите из раскрывающегося списка) OBS-Camera.
- В меню в разделе «Имя аудиоустройства» выберите --> OBS-Audio.
- Нажмите «Показать дополнительные параметры» в нижней части меню.
- Установите «Кэширование» на 50 мс.
- При желании вы можете настроить другие параметры, такие как частота кадров, битрейт звука и т. д., перейдя на вкладку «Дополнительные параметры» в середине меню.
- Когда будете готовы, нажмите «Играть внизу».
- Когда появится окно видео и аудио, возможно, существует закольцовка звука. Чтобы это исправить, вы можете либо
- А. Отключите звук окна в звуковом микшере Windows 7/8/10.
- Б. Измените устройство вывода в VLC, что я и сделал. Просто убедитесь, что если вы воспроизводите видео в VLC, когда не ведете потоковую передачу, чтобы снова переключиться на вывод аудиоустройства на гарнитуру. Чтобы сделать это на главном экране VLC, выберите --> Аудио --> Аудиоустройство --> (И выберите запасное аудиоустройство, которое вы не используете, оно у всех разное, но для моего случая я выберу) Realtek Цифровой выход.
- Откройте Discord и Screen поделитесь окном VLC, оно должно отображаться как «dshow://» в Discord.
- Все готово! Теперь у вас есть встроенный рабочий стол/игра со звуком игры/микрофона для Discord! А поскольку при этом используется OBS, на экран или звук можно вывести практически все что угодно!
Я надеюсь, что это было полезно для кого-то или тех, кто столкнется с этим в будущем.
Редактировать 1: установка автоматического вывода видео теперь дает мне лучшие результаты (декорации окон не видны в Discord, что более желательно), поэтому я бы посоветовал использовать это вместо этого.
Редактировать 2 (ВАЖНО): Я обнаружил, что при использовании VLC видео сжималось, и для меня оно получалось размытым. Вместо этого я решил создать оконную проекцию из OBS, а затем в расширенных настройках звука в OBS установить для источников звука значение -> Мониторинг звука -> Мониторинг и вывод. Я делаю это для того, чтобы Discord мог получать звук из OBS, сохраняя при этом видео из оконной проекции. Проблема в том, что сейчас у вас работает цикл обратной связи, а это не то, чего вы хотите. Итак, чтобы решить эту проблему (у вас должна быть установлена Windows 10), нам нужно направить звук из приложения OBS из настроек Windows на альтернативное неиспользуемое аудиоустройство. К счастью, у меня есть кабель VirtualAudio, поэтому я могу просто направить звук на вход Cable-C, но если у вас его нет, вы можете использовать любое неиспользуемое аудиоустройство, которое хотите предотвратить петлю обратной связи, например, упомянутое выше Realtek. Цифровой выход, но опять же YMMV.