захватить скриншот / кадр видеофайла - PullRequest
4 голосов
/ 12 января 2011

есть ли способ захватить один кадр видеофайла в python?
это также можно сделать из командной строки.Я использую handbrakecli для конвертации видео,
, но мне бы тоже понадобилось несколько скриншотов.

1 Ответ

7 голосов
/ 12 января 2011

Вы должны сначала проверить PyFFmpeg .

PyFFmpeg - это оболочка для FFmpeg libavcodec, libavformat и libavutil библиотеки, основной целью которых является обеспечить доступ к отдельным кадрам видео файлы разных форматов (включая MPEG и DIVX в кодировке видео). Это также обеспечивает доступ к аудиоданные.

Также возможно использовать ffmpeg, поэтому вызывайте его, используя subprocess. Простой поиск даст вам команду, необходимую для извлечения кадра из видеофайла. Просто вызовите эту команду, используя subprocess, и она должна это сделать.

>>> import subprocess
>>> import shlex                          # to split the command that follows
>>> command = 'ffmpeg -i sample.avi'      # your command goes here
>>> subprocess.call(shlex.split(command))

Аналогичная процедура применяется к handbrakecli или к чему бы вы ни использовали. Просто вызовите соответствующую команду.

...