If you are looking something that can do that at the same time and is reasonably well developed, then you are probably looking at avconv
. It has the same base as ffmpeg
, which has already been mentioned, but currently doesn't have a GUI (to the best of my knowledge, i've not gone looking, since i have no need for it).
Let's look at an example of how you would go to create a file format that you have described there.
avconv -i video.mp4 \
-c:a libmp3lame -q:a 3 -c:v libxvid -s hd720 -q:v 7 video720.avi \
-c:a libmp3lame -q:a 3 -c:v libxvid -s hd1080 -q:v 7 video1080.avi \
...
You can just go on and on adding bits, and it will do encoding in parallel (which is much more efficient approach than sequential encoding on the modern multicore systems).
I didn't give you an example of encoding into WMV, simply because i've never done that, and i have actually recompiled my avconv
to disable this, but it is possible if you feel that it is important for your system.
Depending on your operating system the installation process will be different. On Debian and Ubuntu GNU/Linux you do that by just typing:
sudo apt-get install libav-tools
But it may be necessary for you to build your own binaries. To do so you need to get the original source code from libav.org and then run:
./configure --prefix=/home/USERNAME/.local --bindir=/home/USERNAME/bin \
--enable-gpl --enable-version3 \
--enable-encoder=ENCODER
USERNAME is your username, and you can change bindir if you don't have bin in your execution path. You can also enable any encoder that you will need by checking which ones are available and adding them via --enable-encoder
. To check available ones, just run:
./configure --list-encoders
But in all likelihood you will have no need to recompile unless you are doing something strange.