OF has such great features for the first part of these workflows:
load movie --> get frame --> munge frame --> save to movie
grab frame from camera --> munge frame --> save to movie
create a series of images --> save to movie
…that I wonder why it lacks the “save to movie” part. What can I do to implement it?
the reason movie saving is not supported by OF is primarily because there is not a single cross-platform way of saving movies that works consistently, quickly, and high quality. normally, video encoding takes a while to do correctly. OF is aimed at realtime apps rather than offline apps.
however, there are some addons for saving movies. the one i’m most familiar with is ofxQtVideoSaver. i haven’t tested it in 007 yet.
what OS are you using, and how long are the movies you’re trying to save?
if the movies are longer, it might be more effective to save out still frames and use another app to combine them.
It will be extremenly practical if openFrameworks could act as frameserver. http://en.wikipedia.org/wiki/Frameserver
probably the closest thing to OF acting as a frameserver is the OF addon that wraps syphon http://syphon.v002.info/. but this happens on the gpu, and is OSX only.
Thanks for the pointer! The best open source finding so far. I noticed that while there are many frameservers around, but no protocol specification. I’ve opened a topic http://forums.v002.info/topic.php?id=181 at Syphon forums, so hopefully somebody can point to some information that will help to port this part of Syphon to be cross-platform.
I often use glc on linux. It simply records any opengl output to a file without too much of a framerate drop. http://qubodup.wordpress.com/2010/06/02/record-an-opengl-game-in-linux-using-glc/
for windows there is something similar called fraps, but I have never tried it. http://www.fraps.com/
I wrote a fast video recorder addon that relies on ffmpeg to do the final encode.
It was written with linux and 007, but should work without much of a fuss on osx as long as ffmpeg is installed.
I’d probably have to add an #ifdef to detect windows and call ffmpeg the windows way, but other than that it should also work on windows if ffmpeg is installed.
well done tim. works perfect for me