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
Есть ли способ, которым я могу сделать это эффективно? Если нет, предложите альтернативное расширение или подход; фрагменты кода были бы хорошим бонусом.