If you don't mind coding lots of complex stuff in notepad or similar (I guess like writing javascript for web pages in a way), AviSynth is the most powerful I've come across, you can do all sorts of things like fades, merge videos, resize, stack videos on top of or next to or even over each other, change frame orders, change speed, videos inside videos and more. Plus you can find all sorts of filters to add to it to do different visual effects Use it together with VirtualDub to actually encode it's output to a file - Virtualdub's just for encoding since any filter that you can do in VirtualDub, you can do in Avisynth as well, since you can use virtualdub filters in avisynth