Как исправить проблему с сохранением видео кадр за кадром - PullRequest
0 голосов
/ 13 февраля 2019

Проблема в том, что я пытаюсь сохранить видеофайл. Каждый раз я получаю один кадр из другой функции (я проверяю, что это не тот же кадр ...), видео создано только с одним кадром.Я запускаю цикл за пределами класса Video_utility и отправляю кадр функции save_and_display_video.

import cv2

class Video_utility:
    def __init__(self, name_video, format_video, display, fps, size):
        self.name_video = name_video
        self.format_video = format_video
        self.display = display
        self.fps = fps
        self.size = size
        self.stream_frame = None
        self.flag_update = True
        self.display = True
        self.fourcc = cv2.VideoWriter_fourcc(*'XVID')
        self.out = cv2.VideoWriter(name_video, self.fourcc, fps, self.size)
        self.i = 0

    def save_and_display_video(self, frame):
        frame = cv2.resize(frame,(self.size))
        self.out.write(frame)
        self.out.release()
        cv2.destroyAllWindows()

1 Ответ

0 голосов
/ 13 февраля 2019

Не закрывайте файл после каждого кадра

У вас есть функция self.out.release () в функции save_and_display_video ().

Это нужно делать только после того, как выЯ получил все видео.

...