Я устал терять игровые моменты из-за ShadowPlay и написал Captail

Наверное, знакомая ситуация: в игре происходит какой-то редкий, смешной или просто красивый момент, ты нажимаешь горячую клавишу для сохранения повтора и ничего.

Оказывается, NVIDIA Instant Replay уже какое-то время был выключен.

У меня это периодически происходило после вылета игры, проблем с захватом, переключения между рабочим столом и полноэкранным приложением или каких-то непонятных приключений с драйвером. Самое неприятное, что ShadowPlay не всегда нормально сообщает об этом. Узнаёшь уже тогда, когда сохранять поздно.

В какой-то момент мне это надоело, и я начал делать собственное приложение Captail.

Главная идея Captail очень простая: Instant Replay должен оставаться включённым.

Я устал терять игровые моменты из-за ShadowPlay и написал Captail

Что вообще делает Captail

Программа постоянно хранит последние секунды или минуты видео в циклическом буфере.

Например, можно установить длительность повтора в десять минут, спокойно играть, а после интересного момента нажать горячую клавишу. Captail сохранит то, что произошло до нажатия кнопки.

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

Зачем делать ещё один аналог ShadowPlay

Понятно, что программы для записи экрана уже существуют. Есть OBS, Medal, SteelSeries Moments, Outplayed и другие варианты.

Но мне хотелось приложение с очень конкретным назначением:

  • без сцен и стриминговых настроек;
  • без аккаунта;
  • без облачной загрузки;
  • без телеметрии;
  • с локальным хранением клипов;
  • с максимально простым управлением;
  • с попыткой восстановить Instant Replay после сбоя.

Captail использует libobs для захвата и кодирования, но не является очередной оболочкой над OBS Studio. В интерфейсе нет сцен, трансляций и десятков панелей - только функции, связанные с Instant Replay.

Что уже работает

Сейчас Captail умеет записывать игру или рабочий стол, сохранять клипы по глобальной горячей клавише и работать в фоне через системный трей.

Есть аппаратное кодирование в:

  • H.264;
  • HEVC;
  • AV1.

Поддерживаются NVIDIA NVENC, AMD AMF и Intel Quick Sync. Можно выбрать разрешение, битрейт и частоту кадров вплоть до 240 FPS, разумеется, если железо и выбранный кодек это потянут.

Звук игры и микрофон можно записывать вместе либо сохранять отдельными дорожками. Это удобно, когда потом хочется убрать голос, изменить громкость или использовать клип для монтажа.

Я устал терять игровые моменты из-за ShadowPlay и написал Captail
Я устал терять игровые моменты из-за ShadowPlay и написал Captail

Библиотека и редактор клипов

Сохранённые повторы отображаются прямо в приложении. Их можно открыть в папке, удалить или отправить во встроенный редактор.

В редакторе можно:

  • выбрать нужный фрагмент;
  • оставить или отключить отдельные аудиодорожки;
  • сохранить результат отдельным файлом;
  • заменить оригинал.
Я устал терять игровые моменты из-за ShadowPlay и написал Captail

Редактор пока остаётся одной из самых сырых частей Captail. Я уже переделываю его воспроизведение, потому что на тяжёлых AV1/HEVC-клипах открытие и перемотка могут работать медленнее, чем мне хотелось бы.

Что происходит после сбоя

Captail следит за состоянием записывающего пайплайна. Если захват или кодировщик перестал нормально работать, приложение пытается перезапустить запись, а не просто оставить Instant Replay выключенным.

Это не магия и не гарантия восстановления после абсолютно любой ошибки. Например, жёсткий краш драйвера может временно унести вместе с собой весь аппаратный кодировщик. Но после возвращения системы в рабочее состояние Captail старается снова поднять запись.

Именно эта часть для меня является главным отличием проекта от обычного replay buffer.

Насколько проект готов

Сейчас Captail находится в ранней публичной версии.

Основная запись и сохранение повторов уже работают, но баги и аппаратно-зависимые проблемы вполне возможны. Больше всего я тестировал приложение на современных NVIDIA RTX, поэтому особенно интересны результаты на:

  • старых NVIDIA;
  • видеокартах AMD;
  • встроенной графике Intel;
  • системах с несколькими мониторами;
  • разных играх и режимах отображения.

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

Бесплатно и с открытым кодом

Captail бесплатный, без рекламы, аккаунтов и телеметрии. Исходный код полностью опубликован на GitHub.

Готовые сборки: https://github.com/FaulMit/captail/releases

Также я отправил приложение в Microsoft Store. Когда сертификация закончится, добавлю ссылку на Store, это позволит устанавливать подписанную сборку и получать обновления через Microsoft.
Прошло)

Нужны тестировщики

Буду благодарен, если кто-нибудь попробует Captail в своих играх.

Для полезного баг-репорта желательно указать:

  • модель видеокарты;
  • версию драйвера;
  • выбранный кодек;
  • разрешение и FPS;
  • режим захвата;
  • что именно произошло перед ошибкой.

Особенно интересно проверить, действительно ли программа остаётся активной в тех ситуациях, где у вас раньше отваливался ShadowPlay.

К конструктивной критике интерфейса, архитектуры и поведения приложения отношусь нормально. Проект только начинается, поэтому сейчас как раз лучшее время что-то поменять.

2
1
1