General advice on cross platform video encoding

If you are using the main C++ distribution of wxWidgets, Feel free to ask any question related to wxWidgets development here. This means questions regarding to C++ and wxWidgets, not compile problems.
Post Reply
Knows some wx things
Knows some wx things
Posts: 38
Joined: Mon Jun 26, 2006 12:18 am

General advice on cross platform video encoding

Post by AUser » Fri Sep 03, 2010 5:19 pm


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.

Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am

Post by Auria » Fri Sep 03, 2010 6:02 pm

I have no personal experience with it, but perhaps check

Or use ffmpeg directly
"Keyboard not detected. Press F1 to continue"
-- Windows

Post Reply