From d7fa2bdbfafb91cc55cd354bad2821efc9ab8ff7 Mon Sep 17 00:00:00 2001 From: lostjared Date: Tue, 21 Feb 2017 11:53:34 -0800 Subject: [PATCH] on Linux/Mac changed output Codec to MP4V (as MOV) --- src/main_window.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main_window.cpp b/src/main_window.cpp index fae701e..b31d50c 100644 --- a/src/main_window.cpp +++ b/src/main_window.cpp @@ -331,9 +331,16 @@ bool AC_MainWindow::startCamera(int res, int dev, const QString &outdir, bool re time_t t = time(0); struct tm *m; m = localtime(&t); + QString ext; +#if defined(__APPLE__) || defined(__linux__) + ext = ".mov"; +#else + ext = ".avi"; +#endif + std::ostringstream time_stream; time_stream << "-" << (m->tm_year + 1900) << "." << (m->tm_mon + 1) << "." << m->tm_mday << "_" << m->tm_hour << "." << m->tm_min << "." << m->tm_sec << "_"; - stream_ << outdir << "/" << "Video." << time_stream.str().c_str() << "AC2.Output." << (++index) << ".avi"; + stream_ << outdir << "/" << "Video." << time_stream.str().c_str() << "AC2.Output." << (++index) << ext; switch(res) { case 0: res_w = 640; @@ -364,7 +371,8 @@ bool AC_MainWindow::startCamera(int res, int dev, const QString &outdir, bool re if(recording) { video_file_name = output_name; #if defined(__linux__) || defined(__APPLE__) - writer = cv::VideoWriter(output_name.toStdString(), CV_FOURCC('X','V','I','D'), video_fps, cv::Size(res_w, res_h), true); + writer = cv::VideoWriter(output_name.toStdString(), CV_FOURCC('M', 'P', '4', 'V') + /*CV_FOURCC('X','V','I','D')*/, video_fps, cv::Size(res_w, res_h), true); #else writer = cv::VideoWriter(output_name.toStdString(), -1, video_fps, cv::Size(res_w, res_h), true); #endif @@ -428,15 +436,23 @@ bool AC_MainWindow::startVideo(const QString &filename, const QString &outdir, b time_t t = time(0); struct tm *m; m = localtime(&t); + + QString ext; +#if defined(__APPLE__) || defined(__linux__) + ext = ".mov"; +#else + ext = ".avi"; +#endif + std::ostringstream time_stream; time_stream << "-" << (m->tm_year + 1900) << "." << (m->tm_mon + 1) << "." << m->tm_mday << "_" << m->tm_hour << "." << m->tm_min << "." << m->tm_sec << "_"; - stream_ << outdir << "/" << "Video." << time_stream.str().c_str() << "AC2.Output." << (++index) << ".avi"; + stream_ << outdir << "/" << "Video." << time_stream.str().c_str() << "AC2.Output." << (++index) << ext; if(recording) { video_file_name = output_name; #if defined(__linux__) || defined(__APPLE__) - writer = cv::VideoWriter(output_name.toStdString(), CV_FOURCC('X','V','I','D'), video_fps, cv::Size(res_w, res_h), true); + writer = cv::VideoWriter(output_name.toStdString(), /*CV_FOURCC('X','V','I','D')*/ CV_FOURCC('M', 'P', '4', 'V'), video_fps, cv::Size(res_w, res_h), true); #else writer = cv::VideoWriter(output_name.toStdString(), -1, video_fps, cv::Size(res_w, res_h), true); #endif