Topic: Use a video-capture card like Snafupossum suggested - by far the easiest method.
Off-topic: The film content from Halo 3 are not merged-frame media (i.e. they are not rendered content), they are simply a structure of events that happened in that particular play which are re-rendered when opened in Halo 3.
Some-what like what Quokimbo states.. it's just a content file, the environments/models/textures/particles etcetera are all already stored in Halo 3 and just need to be re-applied to the events given by the content.
Example: Player moves 2ft north-east to co-ordinate x,y, changes weapon, jumps, crouches then throws a grenade in direction: xy...
Instructions for rendering content can be compressed a lot more than rendered content since rendered content does not repeat as much. Think of each frame being a picture, each picture constructs a major set of pixels defined by color RGB(A) and position X, Y. Say that each image was in a 1280x1024 resolution.. you would have to give the Color and Position for each of the 1,310,720 pixels. Say that each color and co-ordinate was in hex and then compressed, at least they would be 1 byte each. Max color = 255/FF so
FFAB03FF would mean 255 red, 171 green, 003 green and 255 opacity. That's already 8 bytes for one pixel, add the co-ordinates, say giving a max of 4095/FFF you add another 6 bytes, 14 bytes per pixel * 1,310,720 pixels = 18,350,080 bytes (17,920kb/17.5mb)
per frame. That size would be assuming every single pixel was a different color because if color is in mass you can compress that as well by giving co-ordinates for repeats. But in saying that, assume there is 30 frames per second in the movie, 30*17.5=525mb, now that would be 525 mb for 1 second of uncompressed data. Of course the method I've used for calculating is way off from modern compression algorithm's it gives you a fair idea of the size.
Now if you use command-driven text through out a file, you're going to be repeating
a lot of things which can be re-positioned at will, Say bungie could have implemented some code that would suggest: a = Move north 1 step, or A=move 2steps/repeat.. blah blah blah.. you get the idea. I'm too tired to finish this explanation lol.
This is my first post, so hey people. =)
Btw.. without going over all the text above, there's a post by one of the bungie staff somewhere on their site saying that it's content and not actual media. Well.. at least you learnt something
or maybe try to..?