Запись игрового видео с ПК при помощи AverMedia GC513

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Задача

Я хотел записывать игровое видео таким образом, чтобы не испытывать падения 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 потеряет её, и придётся снова назначать ей какой-нибудь выход.

Источник: https://habr.com/ru/articles/734956/


Интересные статьи

Интересные статьи

В статье рассматривается новый открытый фреймворк для потоковой видеоаналитики и демонстрируются его возможности на примере демонстрационного приложения, которое использует модель DeepStream’s PeopleN...
Привет!Недавно начал экспериментировать с процедурной генерацией и получил некоторые наработки, с которыми и хотелось бы поделится. Примеры я буду показывать на движке Godot, однако при надобности код...
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научи...
Эта статья написана по мотивам очень удачного пентеста, который пару лет назад провели специалисты Group-IB: случилась история, претендующая на экранизацию в Болливуде. Сейчас, наверное, послед...
Привет! 30 ноября в нашем офисе вместе с сообществом Golang Москва мы проводили митап по случаю десятилетия Go. На встрече обсуждали машинное обучение в Go-сервисах, решения для мультикластерной ...