Chrome научился записывать вкладки в 120 FPS и 4K без сторонних программ – разработчик Google выпустил утилиту chrome-capture
В Chrome 153 появилась встроенная запись вкладок в видеофайл MP4. Чтобы упростить работу с ней, Пол Айриш из команды Chrome выпустил открытую утилиту chrome-capture. Она записывает любую страницу одной командой – без экранных рекордеров и ffmpeg.
Утилита сохраняет видео в формате AV1 с частотой до 120 кадров в секунду и разрешением до 2160p и умеет захватывать звук вкладки. Попробовать ее можно командой `npx chrome-capture https://paulirish.github.io/chrome-capture/ demo.mp4 4s` – понадобятся только Node.js и Chrome 153 или новее.
По словам Айриша, почти десять лет единственным способом получить видеокадры через протокол Chrome DevTools оставался метод Page.startScreencast. Его создали примерно в 2013 году, чтобы DevTools могли показывать живое превью подключенного по USB Android-смартфона.
На этом методе строили запись видео и Playwright, и Puppeteer. Chrome сжимал каждый кадр в JPEG, кодировал в base64, отправлял в JSON через протокол и ждал подтверждения, а библиотека потом скармливала картинки ffmpeg.
В сентябре 2026 года в Chrome появился новый метод Page.startScreenRecording от Алекса Руденко. Теперь кадры идут напрямую из композитора в отдельный процесс-кодировщик через общую память, а Chrome пишет AV1 в файл прямо по ходу съемки. Остановка происходит почти мгновенно – к этому моменту кодирование уже завершено.
Запись можно запускать и останавливать в любой момент. Например, сначала войти в аккаунт и "прогреть" страницу, а потом записать только нужное взаимодействие.
Chrome-capture работает с Playwright, Puppeteer и напрямую через протокол Chrome DevTools, так что ИИ-агенты могут записывать собственные прогоны тестов. Для Playwright есть готовая фикстура, которая записывает каждый тест и прикрепляет видео к отчету. Puppeteer начиная с версии 25.10 тоже оборачивает новый метод в экспериментальную функцию page.record(), а Playwright, по мнению Айриша, вскоре последует за ним.
Айриш сравнил старый и новый подходы на одинаковой 6,4-секундной записи интерфейса в разрешении 1280 на 800 на Mac с чипом M4 Max:
частота кадров выросла с 25 до 60 FPS
общее время теста сократилось с 21 до 11 секунд
остановка и финализация файла занимают 17 мс вместо 3,8 секунды, а в 2160p – 91 мс вместо 20,5 секунды
трафик через WebSocket снизился с 10,5 МБ до 450 КБ
итоговый файл уменьшился с 480 до 330 КБ при более высоком качестве изображения
Отдельной настройки битрейта пока нет. Chrome кодирует видео на лету через libaom AV1 и линейно наращивает битрейт вместе с разрешением и частотой кадров – от 2 Мбит/с для 720p при 30 FPS до 72 Мбит/с для 2160p при 120 FPS.
Чтобы проверить реальную частоту кадров, Айриш выводил на каждом кадре двоичный счетчик, а затем считывал его из готового видео. На Mac в фоновом режиме Chrome стабильно держит 60 уникальных кадров в секунду даже в 2160p, а в обычном режиме на экране ProMotion с частотой 120 Гц достигает 120 FPS как в 1080p, так и в 2160p.
На Linux без видеокарты утилита выдает 60 FPS в 1080p и около 58 FPS в 1440p, а при отключении вертикальной синхронизации – до 75–83 FPS в 1080p. Результаты на Windows и Linux с дискретной видеокартой пока не проверялись.
Chrome-capture распространяется по лицензии Apache 2.0 и доступна в npm. Айриш также отметил, что реализация получилась крошечной, и предложил просто указать ИИ-агенту на исходный файл и позаимствовать код.
- Энтузиасты с помощью Claude запустили эмулятор PS2 прямо во вкладке браузера – GTA San Andreas идет почти на полной скорости
- Firefox 157 получил крупнейший за годы редизайн – новые вкладки, компактный режим и аппаратный AV1
- GTA 3 теперь запускается прямо в браузере без установки