A swf file is a bytecode stack which is interpreted by a swf player engine which is either a standalone or a plug-in for a browser.
swf files may have video embedded inside of them or they may use code to link to external files such as flv, f4v or h.264 data wrapped in a quicktime container.
The latter is the preferred methodology as there is a limit on the size of a single swf. The mp4 if not already using h.264 compression, for example, can be done directly from Quicktime pro or any NLE you happen to be using. You could also use something like the Adobe Media Encoder to convert your mp4 into flv or f4v. If you don't have Adobe software and are doing one time conversion you could grab a thirty day trial version.
swf files can be built using any swf compiler. Adobe has an open source (free) version of flex which ships with a swf compiler. It compiles is own xml tags, which is referred to as mxml, into swf. You can therefore make a swf which will control the playback of your converted mp4 file. The Flash authoring program of course compiles its authoring files (fla) into swf. You could also grab a thirty day trial if you don't have it available.