Page 1 of 1

General advice on cross platform video encoding

Posted: Fri Sep 03, 2010 5:19 pm
by AUser
Hello,

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 :(, but I would like this to be as painless (and cross platform) as possible.

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.

Posted: Fri Sep 03, 2010 6:02 pm
by Auria
I have no personal experience with it, but perhaps check
http://www.mltframework.org/twiki/bin/view/MLT/Features

Or use ffmpeg directly