Use Virtual Dub, its free and full of features.
It is useful to remember that audio takes up the most room in any videostream when the clips are small... So looking at audio you can treat the audio at a bit more compression.
Example, if you resample from 48 or 44.1 khz to 22,050 if you want to keep the audio as crisp, then bit stripping from 16 bit to 8 bit will really cut the audio size down as will converting stereo to mono.
If the audio content is not as important, 22,050 @ 4 bit mono (ADPCM for example) if you can compress and bit strip that far otherwise 11,025hz @ 8bit mono will cut down the size.
Video content, this IMHO is best using an Xvid compressor, set to 1 pass for quality ad a Q=60 will give you a very good picture and wont be as "Blocky" as other video codecs like DivX or MP4.
A typical 428MB mpeg video as an Xvid 352 x 288 with audio as mono @ I can compress a video into about 46~55MB depending on the length and content.
I could compress harder but then you begin to sacrifice quality, so below that level you would need to consider a smaller portal size like 176 x 144.
Also please note, swf is not the best tool to use to transport video, you would be better leaving the web browser to stream the video off the server.