!OBS на Arch Linux

2023-03-10T00:20:38+05:00

linux

#  Способы установки obs на Arch

#  Установка Flatpak версии OBS

Как по мне самый рекомендуемый способ, после установки всё сразу идёт из коробки

  • [Установка Flatpak на Arch Linux]({{< ref "/content/posts/flatpak.md" >}})

Установка Flatpak версии obs:

flatpak install flathub com.obsproject.Studio

Запуск через консоль:

flatpak run com.obsproject.Studio

#  Нативная установка

Установив обычный пакет в офф репо Arch вы не получаете весь функционал OBS а лишь обрезанную его часть. Кому-то это больше нравится, однако obs полностью юзабелен и требует лишь некоторой доработки, для тех кто привык использовать весь функционал obs рекомендую лучше придерживаться установки Flatpak версии.

sudo pacman -S obs-studio

#  obs-vkcapture

  • https://github.com/nowrep/obs-vkcapture
  • https://wiki.archlinux.org/title/Open_Broadcaster_Software#Capturing_via_Vulkan/OpenGL

В целом вы можете записывать и без данной приблуды

Вопрос: Для чего нужен vkcapture?

Ответ: Он необходим для захвата игр напрямую через непосредственно API Vulkan или OpenGL который в итоге выжимает ещё больше дополнительной производительности с записи или потока делая всю эту работу менее ресурсоёмкой.

Требуется версия Obs 27.0 или новее

Есть 2 типа установки на выбор:

Установка для нативного obs

  • РЕКОМЕНДУЕТСЯ: obs-vkcapture-git (lib32-obs-vkcapture-git) собирает AUR пакеты из последнего коммита git т.е является экспериментальной версией
  • obs-vkcapture (lib32-obs-vkcapture) собирает AUR пакеты из стабильной релизной ветки, их ставить не надо

Примечание: lib32-obs-vkcapture-git необходим для того чтобы захватывать 32bit'ные старые игры по типу (Worms Armageddon и т.д)

Установка для Flatpak OBS

flatpak install com.obsproject.Studio.Plugin.OBSVkCapture org.freedesktop.Platform.VulkanLayer.OBSVkCapture

#  Использование obs-vkcapture

В Lutris для отдельной игры открываем Настройки - Параметры системы - ищем "Префикс команды" и вписываем либо одно, либо другое в зависимости от вашей игры.

# Для OpenGL или Vulkan API
obs-gamecapture
# Только для Vulkan API
obs-vkcapture

Сохраняем и запускаем

Для использования в Steam просто прописываем в Параметры запуска игры:

... obs-gamecapture ... %command%

Для Xorg (X11): Запускаем Obs используя команду в терминале: OBS_USE_EGL=1 obs

Теперь после запуска у нас в obs появится "Захват игры" и оставляем "Захватывать любое окно". После можно проверить запись игры или начать тестовую трансляцию.

image

#  !Стриминг и запись OBS плагином кодировщиком GStreamer VAAPI для Arch Linux

Видео-тестирование кодировщика GStreamer-Vaapi записанный GloriousEggroll (разраб Proton-GE), утверждающий что больше не нужен кодировщик AMF из проприетарных драйверов AMDGPU-PRO. Показывая что кодировщик GStreamer Vaapi в разы лучше AMF и позволяет записывать аж в 4K 60 FPS 60k битрейтом и это всё без перегрузов.

Работает как и на RDNA 2 так и для старых RDNA 1.

Плюсы:

Для установки на нативный OBS необходим сам кодировщик из офф репо Арч и плагин из AUR который будет встроен в obs.

yay -S gstreamer-vaapi obs-gstreamer

Для установки для Flatpak OBS:

flatpak install com.obsproject.Studio.Plugin.Gstreamer org.freedesktop.Platform.GStreamer.gstreamer-vaapi

Опционально требуется:

Плагин obs-vkcapture

В настройках obs вкладке "Вывод" будет доступен кодировщик GStreamer Encoder H.264 (выбираете его) и GStreamer Encoder H.265

В Encoder Type выбираем VA-API (не x264 т.к он отвечает за вычисления записи на процессоре)

image

На этом всё, пробуйте и экспериментируйте, вот какой битрейт необходимо выставлять

Запись:

  • 4K (2160p) 60FPS = 65000-60000 bitrate
  • 2K (1440p) 60FPS = 45000-50000 bitrate
  • Full HD (1080p) 60FPS = 30000 bitrate

Трансляция Twitch:

  • Full HD (1080p) = 6000 bitrate

Могу порекомендовать вам в тул-баре obs "Док-панели" выбрать "Статистика" она вам поможет для мониторинга cpu, пропусков кадров, fps и т.д.

#  Советы и рекомендации

  • Мелкий совет от Reddit пользователя

    "...Быстрый профессиональный совет по использованию плагина GStreamer. Введите cabac=true в большое поле для дополнительных опций, которое должно дать вам хорошее улучшение соотношения качества/битрейта."

В: Что делает опция cabac?

О: Включает режим энтропийного кодирования cabac