Задача

Я хотел записывать игровое видео таким образом, чтобы не испытывать падения FPS во время записи. Для этого необходимо переносить эту нагрузку на внешние устройства, например, на карту захвата. Я решил использовать AverMedia GC513, но на то, чтобы разобраться с ней и правильно настроить всё в моих условиях, понадобилось некоторое время и особые знания, так что я решил сложить всё в одну статью, на случай если это будет кому-то полезно или мне потребуется вспомнить всё это.

Использование карты захвата

Фото с сайта американского магазина AverMedia
Фото с сайта американского магазина AverMedia

При первом подключении карты захвата к компьютеру (я подключал в режиме PC, т.к. он был установлен на устройстве сразу) произойдёт установка драйвера. Проверить работу оборудования можно с помощью программы RECentral 4 от его производителей. При дальнейщей работе с картой захвата использование данной программы нигде больше не потребуется.

Окно программы RECentral 4
Окно программы RECentral 4

Для записи видео с ПК необходимо HDMI-кабель подключить к HDMI-вводу на карте захвата, а другим концом - к HDMI-выходу компьютера. Что же касается USB-порта, то карту с его помощью можно просто подключить к зарядному устройству (если вам нужна только запись видео) или ко второму ПК (если вам необходимо вести трансляцию в реальном времени).

Данная карта захвата может работать в 3-ёх режимах:

  • PC - посылает видео на ПК, к которому подключена через USB. В этом случае GC513 в OBS будет определяться как устройство видеозахвата (прямо как обычная веб-камера). Этот режим необходимо использовать при проведении трансляции в реальном времени, т.к. сама карта захвата не умеет подключаться к интернету и посылать видеопоток на указанный сервер;

  • PC-Free - запись видео на microSD-карту. Каждые полчаса записи сохраняются как отдельный видеофайл. При разрешении 1920х1080, частоте диксретизации звука 48 KHz и частоте кадров 60 FPS одно получасовое видео весит ~4.23 Gb. Видеокодек - H.264, аудиокодек - AAC, контейнер - MOV.

  • Storage - режим для доступа к вставленной в устройство microSD-карте и записанным на неё файлам. Использовать его необходимо при передаче файлов с карты захвата на ПК. Подключение через USB. В общем, как в обычном фотоаппарате или видеокамере.

Поскольку речь в данной статье будет идти исключительно о записи видео, а не о трансляциях в реальном времени через интернет, первый режим рассматриваться не будет.

После подключения к компьютеру через HDMI и перевода карты захвата в режим PC-Free необходимо дождаться, пока световой индикатор перестанет мигать красным и загорится синим светом. Для старта и остановки записи видео необходимо нажимать большую горящую кнопку сверху (Hot Button). Казалось бы, всё просто, но на деле всё самое сложное только начинается.

Разведение звука от источников к приёмникам

И звук, и видео идут на карту захвата через HDMI-кабель. И если с видео всё понятно, т.к. его единственный источник - видеокарта, а приёмника всего два: монитор, подключённый к видеокарте, и карта захвата, подключённая к HDMI-выходу, то со звуком всё сложнее. ОС Windows определяет карту захвата как устройство вывода звука.

Меню Пуск -> Параметры -> Система -> Звук -> Панель управления звуком
Меню Пуск -> Параметры -> Система -> Звук -> Панель управления звуком

Windows проигрывает все звуки только через один источник - тот, который выбран по умолчанию. Если выбрать карту захвата, то звук перестанет идти в наушники. Никого такое положение дел наверняка не устроит. Кроме того, необходимо, чтобы звук от микрофона также записывался картой захвата. Лично мне ещё необходимо было, чтобы на карту захвата шло всё то, что говорили мои собеседники в Discord'e. Итого все мои требования можно подытожить следующей схемой:

Схема разведения звука между источниками и приёмниками
Схема разведения звука между источниками и приёмниками

Я не знаю, как сделать такое стандартными средствами Windows, лично у меня не получилось. Поэтому я скачал программу VoiceMeeter Banana. Она довольно проста в использовании, но новичков может отпугнуть её слегка нагруженный графический интерфейс и то, что после установки и перезагрузки компьютера звук может попросту перестать работать. Я просто опишу, как настраивал всё сам. Сначала снова открываем панель управления звуком. Там во вкладке "Воспроизведение" появятся 2 новых приёмника: VoiceMeeter Input и VoiceMeeter Aux Input. С помощью контекстного меню, вызываемого кликом правой кнопкой мыши по каждому из них, назначаем им роли "Устройство по умолчанию" и "Устройство связи по умолчанию" соответственно.

Устройства воспроизведения
Устройства воспроизведения

Далее переходим в раздел "Запись". Устройство VoiceMeeter Aux Output необходимо назначить устройством по умолчанию (для всего).

Устройства записи
Устройства записи

В Discord'e оба устройства (для ввода и для вывода) необходимо переключить на Default.

Настройки Discord'a
Настройки Discord'a

Аналогичную процедуру необходимо провести и в OBS, если вы всё ещё хотите иметь возможность использовать его для записи видео.

Настройки OBS
Настройки OBS

Теперь, чтобы звук в системе начал работать, необходимо запустить саму программу VoiceMeeter Banana и расставить устройства и программы по колонкам.

Окно программы VoiceMeeter Banana
Окно программы VoiceMeeter Banana

Первые 3 столбца - это физические входы. На каждый из них можно назначить какое-нибудь физическое устройство ввода, например, микрофон, как у меня на первом столбце. Чтобы сделать это, необходимо щёлкнуть по заголовку столбца левой кнопкой мыши и выбрать устройство из списка доступных. Далее идут 2 столбца, соответствующие виртуальным входам. Первый - это VoiceMeeter Input, а второй - VoiceMeeter Aux Input. Вы не можете назначить виртуальным входам что-то другое. Если вам необходимо назначить какую-то программу на отдельный вход, делать это придётся при помощи утилиты Audio Router и виртуальных кабелей.

Далее идут выходы. Аналогично входам, первые 3 из них соответствуют физическим устройствам. На первый (А1) я назначил наушники, а на второй (А2) - карту захвата (распознаётся как AVT GC513). Последние 2 выхода - виртуальные. Это VoiceMeeter Output (B1) и VoiceMeeter Aux Output (B2). С помощью ползунков можно регулировать громкость источников и приёмников.

А теперь внимательно. VoiceMeeter Input и VoiceMeeter Aux Input являются входами относительно VoiceMeeter Banana. Для программ на Windows (будь то игры, Discord или OBS, например) это всё выходы. Что же касается VoiceMeeter Output (B1) и VoiceMeeter Aux Output (B2), то для VoiceMeeter Banana это выходы, а вот для программ на Windows это входы. Это замечание важно для понимания взаимодействия программы для разведения звука с остальными компонентами системы.

Нажимая на квадратики с подписями выходов в столбцах входов, мы направляем звук с определённого источника на некоторый приёмник. Как можно видеть из скриншота выше, звук микрофона направлен на A2 (внешняя карта захвата) и B2 (VoiceMeeter Aux Output). VoiceMeeter Input (звуки Windows) и VoiceMeeter Aux Input (звуки Discord'a) оба подключены к A1 (наушники/динамики) и A2. Таким образом, у нас выходит следующая схема разведения:

Схема разведения звука от источников к приёмникам с помощью VoiceMeeter Banana
Схема разведения звука от источников к приёмникам с помощью VoiceMeeter Banana

Как вы видите, данная схема весьма похожа на предыдущую. Она отличается лишь наличием входов и выходов, предоставляемых программой VoiceMeeter Banana.

На заметку: при переводе карты захвата AverMedia GC513 из одного режима в другой программа VoiceMeeter Banana потеряет её, и придётся снова назначать ей какой-нибудь выход.

Комментарии (8)


  1. Olegun
    03.06.2023 18:55

    В этом случае GC513 в OBS будет определяться как устройство ...

    Подскажите, пожалуйста, что такое OBS?



  1. GennPen
    03.06.2023 18:55

    Я хотел записывать игровое видео таким образом, чтобы не испытывать падения FPS во время записи. Для этого необходимо переносить эту нагрузку на внешние устройства, например, на карту захвата.

    Либо использовать аппаратный кодек, который расположен в любой современной видеокарте, который не влияет на 3D-производительность и который прекрасно поддерживается той же OBS.


  1. Flux
    03.06.2023 18:55
    +2

    Я не настоящий стример, но почему бы цену рекордера (16к?) не инвестировать в апгрейд видеокарты до 40ХХ серии?
    У вас будет и большая производительность, и аппаратный энкодинг прямо в av1 вместо древнего h264 и нативная поддержка всего этого в OBS и отсутствие потенциальных проблем с синхронизацией видео и аудио потоков.


    1. Goron_Dekar
      03.06.2023 18:55
      +1

      А такая конфигурация позволить "поиграть" в netflix?


      1. Flux
        03.06.2023 18:55

        В смысле записать контент с экрана не привлекая внимание санитаров DRM? Не знаю, честно говоря. Но насколько я понимаю работа с DRM заканчивается на уровне браузера, а такая конфигурация будет брать изображение прямо из буфера видеокарты и энкодить его на месте.


      1. Alexsey
        03.06.2023 18:55

        А на ПК нынче вообще можно "играть" в netflix в качестве выше 720 (1080?) SDR? По моему интел в свое время убрал необходимое железо из процессоров, а на AMD нужного никогда и не было.


    1. zergon321 Автор
      03.06.2023 18:55

      У меня ноутбук.