Python — Opencv решает кодировать FPS

Моя камера обычно записывает видео со скоростью 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++ пользователь. Я добавляю это как тег.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]