Моя камера обычно записывает видео со скоростью 30 кадров в секунду, поэтому я обычно записываю 5 секунд видео, обычно
for _ in xrange(30 * 5):
# read frame
recorded.append(frame)
После этого я сохраняю файл, используя
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(filename, fourcc, 30.0, (640, 480))
for frame in self.recorded:
out.write(frame)
Как видите, я вхожу 30.0
в качестве аргумента FPS при сохранении. Обычно это работает и заканчивается ровно 5 секундами видео. Тем не менее, я думаю, что когда возникает какое-то узкое место, частота кадров записи несколько снижается (я не уверен в этом), и результат видео очень быстрое, как быстрая пересылка (все еще 5 секунд).
Как я могу решить эту проблему? Вы думаете, что я неверно истолковал ошибку?
Код очень похож на c++
Таким образом, решение может быть предложено c++
пользователь. Я добавляю это как тег.
Задача ещё не решена.
Других решений пока нет …