I have a 3D application which has various cameras and whatnot, and I would like to animate them. Rendering the frames is easy enough, I have a 3D image saving function that works neatly.
However, I am looking for a way to encode video, and whilst I know little about the ins and outs of the various containers and codecs,
I know that (1) no-one under windows can play back most anything without installing a codec pack (2) no-one under mac can play anything without VLC and (3) no-one under linux can play back many containers & codecs without non-free components (this is not acceptable in my case, I am trying to get it into a repo).
So it is all a bit of a mess.
I am looking for some sage advice on how best to do video encoding -- the data I have needs to have good or tunable quality (lots of dot-patterns), and a variable frame rate.
I can cop-out and just save a PNG sequence, but most users won't know how to convert this into a video file.
I realise that I am going to have to add a dependency to my code

Thanks in advance
PS: The video sequences will likely never exceed 30 seconds in all, so speed of encoding and to some extent filesize (though obviously lossless/raw are out) is not a concern.
PPS: There is no audio, so this is not a problem either.