Почему «просто приостановить и сделать снимок экрана» не удается

Очевидный подход — приостановить воспроизведение и нажать клавишу скриншота системы. Это работает вплоть до того момента, пока результат не станет иметь значение.

Снимок экрана фиксирует то, что отобразить показывалось, а не то, что содержится в файле. Это означает, что реальное разрешение видео было масштабировано до размера окна проигрывателя, цвета прошли через конвейер отображения, а все наложения — субтитры, собственные элементы управления проигрывателя, курсор мыши — были встроены в изображение. Захватите клип 4K, воспроизводимый в окне шириной 900 пикселей, и вы навсегда выбросите три четверти деталей.

Существует также проблема с точностью. При паузе вы попадаете туда, где игрок остановился, а это обычно не тот кадр, который вам нужен. При 30 кадрах в секунду длительность каждого кадра составляет 33 миллисекунды; при 60 кадрах в секунду, 17. Никто не нажимает на конкретный из них, нажимая пробел.

Оба приведенных ниже метода решают одни и те же две проблемы: они сохраняют исходное разрешение и позволяют перемещать один кадр за раз, а не гадать.

Метод 1: VLC

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

Снимок — для захвата одного кадра

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

  • Windows / Linux: Shift + S, или Видео → Сделать снимок
  • macOS: Cmd + Alt + S, или Видео → Сделать снимок

Снимок записывается с исходным разрешением, а не с размером окна — это ключевое преимущество перед снимком экрана. Сначала укажите место назначения и тип файла в разделе Инструменты → Настройки → Видео → Видеофрагменты, где вы можете выбрать каталог, формат (PNG или JPG) и префикс имени файла. Оставьте формат PNG, если кадр находится где-то рядом с редактором.

Чтобы попасть в правильный кадр, делайте шаг, а не перемещайтесь. E ключ перемещается ровно на один кадр во время паузы. VLC не имеет сочетания клавиш для перехода. назад — если вы промахнулись, вам придется вернуться на секунду назад и снова сделать шаг вперед, что является самой раздражающей частью рабочего процесса.

Фильтр сцены — для захвата большого количества кадров

Другая функция, другое назначение: он автоматически записывает изображение во время воспроизведения. Полный путь Инструменты → Настройки, затем переключитесь Показать настройки от "Простой" до Все в левом нижнем углу — фильтр невидим в простом представлении — затем Видео → Фильтры → Фильтр сцены.

Важные настройки:

  • Формат изображенияpng или jpg.
  • Префикс пути к каталогу — куда попадают файлы. Если этот путь не существует или недоступен для записи, извлечение завершается автоматически и без каких-либо ошибок. Это основная причина, по которой люди сообщают, что «фильтр сцены ничего не делает».
  • Коэффициент записи  — сохраняйте по одному изображению каждый Нет декодировали кадры. Для источника с частотой 30 кадров в секунду соотношение 30 дает примерно одно изображение в секунду; соотношение 1 сохраняет каждый отдельный кадр и быстро заполняет диск.

Затем — и это шаг, который все пропускают — вернитесь к Видео → Фильтры в том же представлении "Все" и отметьте Видео сцены фильтр в списке. Настройка фильтра не включает его. Сохраните, перезапустите VLC и воспроизведите файл; кадры записываются только во время фактического воспроизведения видео.

Метод 2: в браузере

инструмент покадровой обработки построен на основе случая с одним кадром, поэтому проблема пошагового решения решается напрямую.

  1. Скинь видео. Ничего не загружается; файл считывается с диска на страницу.
  2. Установить Исходный FPS соответствующий отснятому материалу. Это одно поле определяет, насколько далеко перемещается один шаг. По умолчанию оно равно 30; если ваш клип имеет частоту 24, 25, 50 или 60 кадров в секунду, измените ее, прежде чем переходить к следующему шагу. В интерфейсе отображается полученный размер шага — при 30 кадрах в секунду Step 0.0333s  — чтобы убедиться, что оно выглядит правильно.
  3. Приблизительно ищите, затем выполняйте точные шаги. Используйте скребок проигрывателя, чтобы получить результат за секунду Предыдущий кадр / Следующий кадр чтобы перейти к нужному кадру. Шаг работает в обоих направлениях, что является практическим отличием от шага только вперед в VLC E.
  4. Проверьте показания временной метки. Он показывает текущую позицию с точностью до миллисекунды, поэтому вы можете точно записать, какой кадр вы сделали — полезно, когда кадр является свидетельством отчета об ошибке или обзора примечание.
  5. Нажмите Сохранить текущий кадр. Изображение записывается с исходным разрешением видео, без проигрывателя Chrome и без наложений.

Находим исходную частоту кадров: в VLC оно находится под Инструменты → Информация о кодеке. В macOS это отображается с помощью функции «Получить информацию в Finder». В противном случае сделайте шаг вперед десять раз и посмотрите на временную метку — если она продвинется на 0,333 секунды, вы получите 30 кадров в секунду, 0,4 секунды означает 25 кадров в секунду, 0,167 секунды означает 60.

Три вещи, которые идут не так

1. Сохраненный кадр не тот, который вы просматривали

Общее со снимками VLC в некоторых сборках и настройках аппаратного декодирования: кадр записывается из текущего вывода декодера, который может опережать на один или два кадра то, что показывает дисплей. На статичном снимке этого никто не замечает. На быстром движении — мяч, колесо, рука — разница и составляет весь смысл захвата.

Обходной путь в VLC — сначала сделать паузу, затем выполнить E к нужному кадру, и только затем сделайте снимок; приостановленный декодер и приостановленный дисплей согласуются. В браузере сохраненный кадр считывается из того же приостановленного видеоэлемента, который вы просматриваете, поэтому вы видите то, что написано.

2. При пошаговом выполнении одно и то же изображение создается дважды.

Почти всегда несоответствие частоты кадров. Если Исходный FPS установлено на 60, но на самом деле в клипе 30, каждый «шаг» продвигается на полкадра — поэтому два последовательных шага попадают в один и тот же кадр, и изображение не меняется. Признак: временная метка перемещается, а изображение — нет.

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

3. Выходной сигнал меньше, чем видео.

Если сохраненный кадр получается с разрешением 1280×720 из источника 4K, вы почти наверняка сделали снимок экрана, а не экспортировали реальный кадр. Проверьте размеры файла в пикселях относительно источника: Инструменты → Информация о кодеке в VLC указано истинное разрешение.

Снимок VLC имеет соответствующую настройку, о которой стоит знать — в разделе Настройки → Видео → Видеофрагменты, ненулевое значение Ширина видеофрагмента принудительно изменяет размер. Оставьте значение 0, чтобы сохранить исходное разрешение. Инструмент браузера всегда пишет с исходным разрешением, без каких-либо эквивалентных настроек, которые могли бы ошибиться.

Когда VLC является лучшим выбором

  • Видео уже открыто в VLC. Если вы смотрят что-то и хотят сделать кадр, Shift + S быстрее, чем все, что связано с другим приложение.
  • Кодеки, которые браузер не декодирует. VLC воспроизводит практически все — ProRes, MKV с необычным звуком, структуры DVD, поврежденные файлы. Если браузер не может его воспроизвести, браузер не сможет его извлечь.
  • Потоки и сетевые источники. VLC может делать снимки с камеры RTSP или сетевого потока; инструмент для работы с локальными файлами не может этого сделать.
  • Длительные автоматические захваты. Фильтр сцен легко записывает кадры в течение двухчасовой записи без ограничения памяти. Вкладка браузера хранит кадры в оперативной памяти и не будет ее хранить.

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

Краткая справка

Задание VLC Браузерный инструмент
Сохранить один кадр Shift + S (Cmd + Alt + S на Mac) Сохранить текущий кадр
Перейдите на один кадр вперед E Следующий кадр
Перейдите на один кадр назад Недоступно Предыдущий кадр
Просмотрите точную временную метку Время воспроизведения, только секунды Миллисекундное считывание
Выберите выходную папку Настройки → Видеофрагменты Место загрузки браузера
Автоматический захват большого количества кадров Фильтр сцены + соотношение записи Интервальное извлечение
Настроить перед первым использованием Конфигурация фильтра + включение + перезапуск Нет
Сетевые потоки и камеры Поддерживается Только локальные файлы
Необычные кодеки Почти что угодно Только то, что декодирует браузер
Автоматический захват в течение нескольких часов Хорошо Ограничено памятью вкладок

Для одного кадра вся работа сводится к двум вещам: подобрать правильную частоту кадров, чтобы шаг означал то, что вы думаете, и сохранить с декодера, а не с экрана. Все остальное зависит от того, какое окно у вас открыто.