Как безопасно выйти из видеозаписи в OpenCV на Linux / macOS? - PullRequest
0 голосов
/ 29 мая 2019

Я хочу записать видеопоток в OpenCV без графического интерфейса (поэтому нет cv::waitKey) и хочу выйти из приложения / записи (например, control + c) без потери записанного потока или повреждения файла.

Какой лучший способ сделать это?

До сих пор я инстанцировал cv::VideoWriter глобально и написал sigIntHandler для перехвата сигнала SIGINT (ctrl + c) и вызова метода release писателя. Как это:

#include <iostream>
#include <csignal>
#include <opencv2/opencv.hpp>

cv::VideoWriter writer;

void sigIntHandler(int s) {
    std::cout << "Caught signal " << s << std::endl;
    writer.release();
    exit(1);
}
int main() {
    std::signal(SIGINT, sigIntHandler);

    // video processing and write frames to file
...
}


Мне также было бы интересно, как решить эту проблему в python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...