Задача
Я хотел записывать игровое видео таким образом, чтобы не испытывать падения FPS во время записи. Для этого необходимо переносить эту нагрузку на внешние устройства, например, на карту захвата. Я решил использовать AverMedia GC513, но на то, чтобы разобраться с ней и правильно настроить всё в моих условиях, понадобилось некоторое время и особые знания, так что я решил сложить всё в одну статью, на случай если это будет кому-то полезно или мне потребуется вспомнить всё это.
Использование карты захвата
При первом подключении карты захвата к компьютеру (я подключал в режиме PC, т.к. он был установлен на устройстве сразу) произойдёт установка драйвера. Проверить работу оборудования можно с помощью программы 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, лично у меня не получилось. Поэтому я скачал программу VoiceMeeter Banana. Она довольно проста в использовании, но новичков может отпугнуть её слегка нагруженный графический интерфейс и то, что после установки и перезагрузки компьютера звук может попросту перестать работать. Я просто опишу, как настраивал всё сам. Сначала снова открываем панель управления звуком. Там во вкладке «Воспроизведение» появятся 2 новых приёмника: VoiceMeeter Input и VoiceMeeter Aux Input. С помощью контекстного меню, вызываемого кликом правой кнопкой мыши по каждому из них, назначаем им роли «Устройство по умолчанию» и «Устройство связи по умолчанию» соответственно.
Далее переходим в раздел «Запись». Устройство VoiceMeeter Aux Output необходимо назначить устройством по умолчанию (для всего).
В Discord‘e оба устройства (для ввода и для вывода) необходимо переключить на Default.
Аналогичную процедуру необходимо провести и в OBS, если вы всё ещё хотите иметь возможность использовать его для записи видео.
Теперь, чтобы звук в системе начал работать, необходимо запустить саму программу 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.
На заметку: при переводе карты захвата AverMedia GC513 из одного режима в другой программа VoiceMeeter Banana потеряет её, и придётся снова назначать ей какой-нибудь выход.