Что я хочу сделать, это извлечь каждый кадр видеофайла и вывести изображения.
Я пытался использовать команды VLC через терминал, однако, похоже, что он пропускает кадры, хотя я отключил «пропускать кадры». Я думаю, что мой MacBook Pro i7 работает слишком медленно. Кажется странным, что я не могу воспроизвести видеофайл без пропуска кадров. В любом случае, есть ли альтернативы, которые позволили бы мне получить каждый кадр? Кажется, vlc пытается сделать это в режиме реального времени, что может быть проблемой при работе на медленной машине.
Вот команда VLC, которую я использовал:
/Applications/VLC.app/Contents/MacOS/VLC /Users/name/Downloads/complete/video.mkv --video-filter=scene --scene-prefix=movie --scene-ratio=1 --scene-path=/folder --start-time=1035 --stop-time=1100 --no-skip-frames
Ответы:
Я бы сделал это с помощью FFmpeg, которую вы можете получить через Homebrew или, альтернативно, через ffmpegX .
В первом случае установите Homebrew, а затем запустите
brew install ffmpeg
. Это потребует XCode и сборки из исходного кода, что может быть немного накладными расходами для вашего простого требования.Во втором случае установите
.app
и используйтеffmpeg
версию, входящую в комплект поставки, однако имейте в виду , что эта версия выпущена в 2006 году и поэтому может работать не со всеми входными файлами.Это сработало для клипа h.264 / MP4 для меня.
В любом случае, используйте FFmpeg для вывода каждого кадра отдельно:
Вы также можете использовать
png
вместоjpg
результатов без потерь и изменить число,%04d
если вам нужно больше цифр, когда файл длиннее.источник