I am writing an image processing application to align a set of images, and I would like there to be functionality to write those images into a video. The image processing part is done in OpenCV 3.2.0 (C++), and currently outputs still images that aren't stitched together.
I have successfully used the VideoWriter with one of the codecs available to my machine to write the output images to an .avi, but to my knowledge there is no guarantee that any codec will be available on different platforms. As I would like to be able to share this application, this is a problem.
If it matters, the GUI is built in wxWidgets 3.1.0, so if there is something that can help me there that I didn't find, I would love to know.
My assumption is that there is no way of guaranteeing a successful video without somehow shipping a codec with the app, but is there a way of browsing available codecs at run time?
I know that on some platforms the following brings up a dialog of additional codecs, which would be perfect if I could automatically interpret it:
cv::Size outputSize = myImage.size();
cv::VideoWriter("output.avi", -1, 30, outputSize);
But this also doesn't work on every platform. So is there any way of scrubbing available codecs from the machine at run time or do I have to supply a codec somehow in order to write videos cross platform?