Python: общее количество видеокадров

Я хочу использовать python, чтобы открыть видеофайл (avi, wmv, mp4), определить общее количество кадров, содержащихся в видео, и сохранить произвольный кадр из видео в виде файла изображения.

Я посмотрел на pyffmpeg, но я не знаю, как получить общее количество кадров, содержащихся в видео, без итерации по каждому (что невероятно медленно). Мой код для получения количества кадров в видео приведен ниже:

import pyffmpeg
stream = pyffmpeg.VideoStream()
stream.open('video.avi')
frame_no = 0
# Very inefficient code:
while (stream.GetFramNo(frame_no)):
    frame_no=frame_no+1

Есть ли способ, которым я могу сделать это эффективно? Если нет, предложите альтернативное расширение или подход; фрагменты кода были бы хорошим бонусом.

0 ответов

Другие вопросы по тегам