28 #include <opencv2/core/core.hpp>
29 #include <opencv2/highgui/highgui.hpp>
32 #include <SimoxUtility/algorithm.h>
40 const std::filesystem::path& file_path,
48 filename_ext +=
".mp4";
51 m_file_path /= filename_ext;
63 m_h264_video_writer = std::make_unique<cv::VideoWriter>();
69 const std::chrono::microseconds timestamp)
71 writeMetadataFrame(frame, timestamp);
73 if (not m_h264_video_writer->isOpened())
75 const int fourcc = cv::VideoWriter::fourcc(
'X',
'2',
'6',
'4');
76 m_h264_video_writer->open(getFilePath().
string(), fourcc, m_fps, frame.size());
78 if (not m_h264_video_writer->isOpened())
81 << getFilePath().string() <<
"' for writing. FRAME DROPPED!";
86 m_h264_video_writer->write(frame);
93 m_h264_video_writer->release();