Alright, I'll write up a guide. I'll try to make it so that it assumes as little hacking or computer knowledge as possible, so it might sound a bit juvenile, but bear with me.
Opening Movie Hacking For Dummies
Tools you'll need:
FFmpeg - For exporting your video as a series of .jpg files. If you're on Windows, you can get everything that you'll need from here:
Download. Note that this will only work for videos that use an MPEG codec (these will almost always end in .mp4, .mpg, or .mpeg).
You can also use VirtualDub if you're familiar with how to work it, but I'm not, so I can't say much about it. It's probably easier to work with if you don't like using the command line, so if that section of the guide seems daunting, go ahead and fiddle with VirtualDub to see if you can't find out how to use it.
Irfanview - To resize and/or rename each of the .jpg files that you'll create.
mth_make.exe - Provided by GodFed, this turns your series of .jpg files into the exact file you need to replace in your ISO, with no work from you. Massive thanks to him.
THPConv.exe - It comes from the Wii SDK.
These are all that you need to actually create your movie file. But to put your file into the game, you'll want these tools:
GC Rebuilder - To rebuild your ISO after replacing the opening movie file.
GC-Tool - To extract the contents of your ISO to your computer, so you can manually replace the files.
You might be able to do all of this with just one of these, but I found it easier to use both of them together, so it's up to you.
Before you start
Big reminder: Movie files do not have audio associated with them. To add in the audio from your video to the opening theme, you'll need to extract that audio somehow and hack it in separately. The file you want to replace is in audio/opening.hps. You can follow the other guides for how to do that.
Somewhere on your computer, make a new folder to store all of your work. Having a nicely-organized environment is going to make this about ten times easier, so be sure to keep everything tidy. Additionally, you'll want to keep backups of everything you're using in case something goes wrong. From here, go ahead and download everything I linked above and put them in that folder somewhere. But other than that, just make sure you have a video file, preferably using the MPEG codec, put it into your working folder, and you're good to go!
1) Extracting the video frames
If you used the link above to download FFmpeg, extract the contents of it and find ffmpeg.exe inside. Remember where this file is in relation to your working folder. For example, maybe it's MovieHacking\ffmpeg-0.5\ffmpeg.exe, where MovieHacking is your working folder. In that case, just write down "ffmpeg-0.5\ffmpeg.exe" somewhere. Now make sure your video is in your working folder itself, not in any sub-folders. Open up a command prompt (Start > Run > cmd on XP, Start > type "cmd" into the search bar on Vista/7). You should start in C:\Users\YourUserName. Navigate to your working directory from here. Type "cd foldername" without the quotes to go into a folder from where you're currently at, and type "cd .." to go up one level. For example, from C:\Users\YourUserName to just C:\Users. Just find your working directory so that it says something like this:
C:\Users\YourUserName\My Documents\MovieHacking
Now this part is a little bit tricky. Remember what you wrote down earlier, about where ffmpeg.exe was? Type that, in between quotes, followed by the phrase
-i movie.mp4 %d.jpg, where "movie.mp4" is the name of your video file. So your command prompt should look something like this:
C:\Users\YourUserName\My Documents\MovieHacking>"ffmpeg-0.5\ffmpeg.exe" -i movie.mp4 %d.jpg
Hit Enter. This will make a series of .jpg files in your folder numbered starting from 1, up until the last frame of your video. Go ahead and make a new folder here, call it "jpgs" or something, and move all of those .jpg files into that folder. There, now the toughest part is done. You don't have to do anything else on the command line, so pat yourself on the back!
2)Copying and resizing to fit
Now here's where you're going to have to make a judgment call. At a certain point in the opening movie, the game plays the movie at double speed. For a 720p .mp4 file downloaded from YouTube, this occurs approximately between frames 1250 and 1650. To compensate for this, you can go into your folder of jpgs, highlight everything from 1250.jpg to
1450.jpg (NOT 1650), and copy/paste them right again in that folder. Windows will automatically create copies of these files called 1250 - Copy.jpg, etc. From here, you're good. However, if your video has a vastly different frame rate, it will play at a different speed than what you expect, either slower or faster depending on whether the original frame rate was slower or faster. You can still copy frames 1250 to 1450, which will keep this odd speed constant throughout the opening video, but it's something to be aware of.
Now fire up Irfanview. Go to File > Batch Conversion/Rename. In the top left of this new window, you'll see a box labeled "Work as:", with three options. Pick the last one: "Batch conversion - Rename result files". Now in the top-right, where you see your familiar folder structure, go into the folder where you put all those jpgs, so that the files inside are 1.jpg, 2.jpg, etc. At the bottom, hit the button "Add all". You probably see them in an order you don't want: 1.jpg, 10.jpg, 100.jpg, etc. Don't worry! This is normal and expected. Hit "Sort files" and pick "by Name (ascending, XP style)". It's the second option. Now they should be correct.
Over on the left, in the box labeled "Batch conversion settings:", check to make sure that "Output format" is set as "JPG - JPG/JPEG Format". Check the box below it that says "Use advanced options (for bulk resize...)" and hit the Advanced button next to it.
In this new dialog box that pops up, place a checkmark in the box labeled "RESIZE:". In here, select "Set new size:", "Set one or both sides to:", and "pixels". Here's the important part. The video format used by Melee only allows videos up to 672 pixels wide, and both the width and height must be divisible by 16. Additionally, I've found that with a width greater than 640, the display screws up and doesn't work properly. So go ahead and set your width to 640. Now go to google and type in "(h / w) * 640", where h and w are the height and width of your original video, respectively. Take the result and find the closest multiple of 16--it should be less than 640 in almost all circumstances, since videos tend to be wider than they are tall. Anyway, plug that value into the "height" box in Irfanview. You don't need to mess with anything else in here, so hit OK at the bottom-right.
Back in the Batch conversion window, Towards the bottom-left you'll see a box labeled "Name pattern:". Just type four # signs into it, overwriting whatever is already there. Immediately below that, click "Browse" and select the directory to put these resized pictures in. Since you don't want to overwrite your originals in case something goes wrong, I created another folder called "resized" and had it put them there. Double check to make sure all of these settings are correct, then hit "Start Batch" and wait a while. Once it's done, go check out your new pictures and make sure they look okay. They should now be named "0001.jpg", "0002.jpg", etc. This is necessary for the next step.
3) Making the MTH file
From here on is smooth sailing. Copy
THPConv.exe and
mth_make.exe to the folder containing your resized jpgs. Go in that folder and just double-click mth_make.exe. You'll get a command prompt that goes through all the .jpgs and makes your shiny new .mth file. However, you might get an error. It may say something about "Maximum supported is 672 dots in a line." That means your width is greater than 672, so go back into Irfanview and resize again. Good thing you didn't resize over your backups, huh? If it says "X resolution is not divisible by 16", then your width isn't a multiple of 16, and if it says the same thing for Y, then it means your height isn't a multiple of 16. In both cases, go back and resize, being careful to make sure all of these requirements are met.
But if it doesn't give you any errors, congrats! Your .mth file is done and ready to replace back into Melee. It'll be called temp.mth. Go ahead and copy this out somewhere so you don't lose it.
4) Replacing MvOpen.mth
You might as well go ahead and rename your new .mth file "MvOpen.mth", since you'd need to do that later anyway. So now that you've got your file, you need to know what to do with it. You'll want to take your ISO and extract its contents, since you won't really be able to replace it the way you can replace texture or audio files. So open up GC-Tool and go to File > Open GC-Iso. Navigate to the folder your iso is in. If you don't see it, at the bottom of the window, change "Files of type" to "All files" and it'll be there. Open it. Now go to Extract > whole ISO. Click the "Choose Dir" button and find a nice place to put all of this, then check the box labeled "Also Extract Header, AppLoader, DOL and TOC", and hit Extract. This could take a very long time and the program may seem like it's frozen, but don't worry, just give it a while and it'll finish. You're done in GC-Tool now, so go ahead and close it down.
Back in your normal Windows environment, navigate to where you extracted your ISO and you'll see a new folder named "root". If you go inside, you'll see the same files that you saw in GC-Tool. Find MvOpen.mth and copy it back out to somewhere safe,
this is the original that you're going to use as your backup if something goes horribly wrong. Now, take your -new- MvOpen.mth and copy it back into this folder. Windows should ask you if you want to overwrite the MvOpen.mth that's already there. And since you backed it up (you DID back it up, right?), go ahead and do so.
Now, open GCRebuilder. At the top, click Root > Open. Find the root folder you were in earlier and hit OK. Now go back and hit Root > Save, name it whatever you want and save it either as a .iso or .gcm. I use .iso since I have the disk space. Now go back into Root and you'll see the Rebuild button is available. Click it and wait for GCRebuilder to work its magic. When it's done, you'll have a new image, hopefully playable on Dolphin and your Wii! I never did get an error in this step, so hopefully you won't have any problems. But one thing that I could see being an issue is the files being too big to make an ISO. That means your new movie file is bigger than the one you replaced, to the point where your data doesn't actually fit in the size restraints imposed on the image. SleepyK's ISO rebuilding tutorial videos can help you get around this; watch them
here and
here.
But if you don't get any errors, you should be good. For reference, my ISO is 1,425,760KB in size according to Windows, as is the case with the original ISO I used, provided by SleepyK. If yours matches in size, test it out on Dolphin and your Wii, and if it works, congrats! If not, try it anyway and maybe it'll work, maybe it won't. I don't even know if it's possible to make something of another size, so hey, maybe it isn't. But after this, you'll probably still want to hack in your audio, so go check out another guide for how to edit and replace opening.hps!
oh god something went wrong what do i do
First of all, don't panic! You have backups for a reason. In the absolute worst case, you just purge your working folder and forget all of this ever happened, because everything is backed up however it was before you started working on it, somewhere else.
If your ISO isn't booting in Dolphin or is just incredibly messed up, just go and put the old MvOpen.mth back in. Test it again to make sure that it's been fixed, and retry creating the MTH file. If that doesn't fix it, copy your original ISO into your working folder again, over top of the one you've been working with, and make sure that works with Dolphin before restarting. If you ever make any updates, just keep backups of the old stuff so you can replace them if something goes wrong. The bottom line here is:
keep backups of everything. If you do this, absolutely no error is irreparable. Just keep calm, and start working backward to find out where the error occurred.
Anyway, that should do it. Using this method I successfully replaced the Melee opening with the opening to Blazblue: Continuum Shift. You can download the .mth and .hps files I used for that here:
Download
Those familiar with that opening will notice that it goes out of sync with the audio as the video goes on. This is due to the frame rate issue I mentioned earlier. The original video I had did not perfectly match the frame rate at which the .mth file plays, so by exporting every frame as a .jpg, the movie plays at a slightly-incorrect speed, but it's still easily close enough that I'm okay with it. Also, the audio loops again once you reach the start screen for a reason I'm not entirely sure of, but I think that sounds cooler anyway so I never tried to fix it.