Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

HomRec: лёгкая программа для записи экрана на C++ и FFmpeg, которая не нагружает слабый ПК

HomRec: лёгкая программа для записи экрана на C++ и FFmpeg, которая не нагружает слабый ПК

Создание видеоконтента, будь то обучающие ролики, запись геймплея или демонстрация работы в различных программах, предъявляет серьезные требования к аппаратному обеспечению компьютера. Если в вашем распоряжении находится современная рабочая станция с мощной видеокартой и многоядерным процессором, выбор софта не представляет проблемы. Однако для владельцев ноутбуков и стационарных ПК прошлых лет — например, моделей 2016–2017 годов на базе двухъядерных чипов — запись экрана превращается в непростое испытание.

Проблема работы популярных рекордеров на слабом железе

Индустриальным стандартом в сфере захвата видео и трансляций уже много лет остается программа OBS Studio. Это мощный, гибкий и полностью бесплатный инструмент с богатейшим функционалом. Однако за универсальность приходится платить высокой нагрузкой на систему. При запуске OBS на ультрабуках или бюджетных компьютерах процессор мгновенно загружается до предела, оперативная память забивается фоновыми процессами, а итоговый видеопоток начинает терять кадры, превращая запись в нервную «раскадровку».

Панель управления оверлеями и текстом в HomRec
Настройка отображения нажатий клавиш и графических оверлеев поверх записи.
Командный терминал и пакетный менеджер hom
Управление командами и установка плагинов через встроенный пакетный менеджер hom.
Исходный код рекордера HomRec на GitHub
Проект HomRec распространяется с открытым исходным кодом на C++.

Попытки найти альтернативу среди стороннего софта часто приводят к не менее проблемным решениям:

Реклама
Потребление ресурсов процессора и памяти программой HomRec
Замер нагрузки на ЦП и ОЗУ при записи видео через HomRec на Intel Core i3.
  • Bandicam: предлагает хорошую оптимизацию, но распространяется по условно-бесплатной модели. Бесплатная версия накладывает водяной знак на видео и сильно ограничивает время непрерывного захвата.
  • ShareX: отлично справляется со скриншотами и быстрыми короткими гифками, но плохо подходит для полноценного гейминга или динамичного видео — программа регулярно прощает кадры и рассинхронизирует звук.

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

Обзор HomRec: открытый софт на C++ и FFmpeg

Руководствуясь принципом эффективного решения практических задач, был создан проект HomRec — компактный и предельно легкий рекордер экрана, призванный избавить пользователей от просадок FPS на слабых конфигурациях. Программа полностью бесплатна, распространяется под открытой лицензией и доступна в исходных кодах на GitHub.

Нагрузка на процессор от программы OBS Studio
Загрузка процессора при захвате видео в OBS Studio на аналогичной конфигурации.

Под капотом HomRec используется комбинация C++ и библиотеки FFmpeg. Такой стек обеспечивает прямое низкоуровневое взаимодействие с графической подсистемой и медиакодеками без лишних надстроек. По качеству картинки утилита не уступает OBS Studio, однако у нее отсутствует громоздкий графический интерфейс, съедающий драгоценные ресурсы системы при отрисовке элементов.

Сравнение производительности: HomRec против OBS Studio

Чтобы объективно оценить разницу в потреблении ресурсов, я провел сравнительные тесты обеих программ на типичном бюджетном ноутбуке со следующими аппаратными характеристиками:

Вкладка основных настроек General в HomRec
Настройка разрешения, кодека и FPS во вкладке General рекордера HomRec.
  • Процессор: Intel Core i3-1005G1 (базовая тактовая частота 1.20 GHz);
  • Оперативная память: 8 GB DDR4;
  • Графический адаптер: встроенная видеокарта Intel UHD Graphics;
  • Параметры видеозаписи: разрешение 1280×720 пикселей при частоте 30 кадров в секунду (720p@30fps).

Результаты замера нагрузки показали ощутимое преимущество HomRec. При идентичных настройках качества HomRec создает минимальную нагрузку на центральный процессор и видеоядро. В то же время OBS Studio, даже с закрытыми тяжелыми фоновыми приложениями вроде Google Chrome или Visual Studio Code, заметно сильнее нагружает чипсет Intel Core i3, приводя к нагреву и троттлингу.

Реклама

Параметры и функционал HomRec

Интерфейс HomRec спроектирован с упором на минимализм. Внутри программы вы не найдете запутанных графических меню — все управление выстроено максимально наглядно:

  • Вкладка General: позволяет задать основные параметры записи — выходное разрешение картинки, целевой FPS, используемый медиакодек и папку на диске для сохранения готовых файлов.
  • Готовые пресеты: программа поставляется с уже настроенным профилем, поэтому начинать работу можно сразу после первого запуска, просто нажав кнопку старта.

Система наложения (оверлеи)

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

  • Наложение статических изображений поверх записываемого рабочего стола (например, логотипа или водяного знака);
  • Вывод текста в любую область экрана;
  • Визуализация нажатий клавиш клавиатуры (кейкаст), что крайне удобно при создании пошаговых обучающих инструкций и туториалов.

Это не полноценный редактор сцен с транзишнами и фильтрами, как в OBS, но для записи геймплея или обучающих материалов этого функционала более чем достаточно.

Встроенный терминал, менеджер hom и скрипты Lua 5.4

Одной из главных архитектурных особенностей HomRec стало наличие встроенного командного терминала. Через него вы можете не только гибко управлять процессом захвата экрана, но и взаимодействовать со специальным пакетным менеджером hom.

С помощью пакетного менеджера hom пользователи могут устанавливать дополнительные модули и расширения буквально одной короткой командой. Расширение функционала выполняется через плагины, написанные на языке Lua 5.4. Первоначально рассматривалась интеграция языка Python, однако выбор в пользу Lua был сделан из-за его исключительной легковесности, молниеносного интерпретатора и минимального потребления памяти.

Итоги и перспективы развития

Инструмент HomRec доказывает, что даже на скромном ноутбуке с двухъядерным процессором можно получать плавную запись видео без задержек и лагов. Проект продолжает активно развиваться, обновляясь по мере внедрения новых возможностей и оптимизации кода. Если вы ищете предельно легкий рекордер экрана без рекламы и платных ограничений, стоит лично оценить возможности HomRec, скачав сборку или исходники с официальной страницы проекта на GitHub.

Источник: habr.com

01.