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