I was on another forum when the question of flash cartoons on DVD came up [again]. I, personally know how it all works in theory, but haven't burned any production level dvds and wanted to know if anyone else has.
My method involves abusing the stock software on my Mac, so your mileage will vary.
Flash allows you to export to Quicktime on the Mac into a native codec, but apparently it does -NOT- do this on the PC, so I was not able to use this route on the PC. (It embeds the flash file into the quicktime file instead)
The first trick is to export to Quicktime using the PNG codec. This is the only codec that doesn't balloon in size and keeps the quality up. Other codecs will lose more data. (PNG in theory shouldn't lose any data, but you are converting from vector to raster, so you are already losing data)
Once that's done, open up iMovie (or go straight to iDVD) and burn, done. Your mileage will vary.
On the PC, there are two tricks, one is MUCH more annoying than the other.
The PC you can only export to AVI, and regardless of the codec you pick you will end up with a huge file. Now my original target for this was actually h.264, but any codec can be used once you get it into an AVI. The trick though is to use RAW uncompressed... there's no equivilent to the png video codec for AVI (that I know of), This will result in a massive file either way.
(Alternate scenarios for both the Mac and PC if you do not want to use PNG, but are willing to suffer some data loss is to use the DV codec, this will throw away some data.)
The next step on the PC was to actually do the encode process outside, so I used a bunch of stuff I found on doom9 to encode straight to mpeg2. Now, I realized I could have just used VLC to do it. (see http://wiki.videolan.org/index.php/How_to_Create_a_DVD
if you want to do that)
Then on the PC you need something that will "master a dvd" the easiest product that does this is Nero, but you can get away with others.
a) NTSC colorspace has less colors than the sRGB that flash usually operates in and clamps to YUV colorspace, so if you have really bright or really dark colors, they are going to be lost. On the average a flash file WILL look darker.
b) You have to encode to 720x480 for NTSC, always. But this isn't square pixels, your flash file needs to be 16:9 for wide screen or 4:3 for square type tv's. A file that is 480x480 is STILL going to be 4:3 ratio. I rigged of a flash template a while ago that marked out the 'safety zone' of where all the action has to take place, where the subtitles have to take place etc, using a wide screen base file, and keeping a safety zone for 16:10 PC screens. Suffice it to say, it's EASIER to design the action around a 16:9 zone than a 4:3. In 16:9 your safety area is above or below the action, so at worst, a 4:3 TV just letter boxes it. However you can do an intersting trick with this
- Setup the flash file to only use the 16:9 safety space, but when you export for DVD, don't auto letterbox it, instead leave the 4:3 aspect ratio (add a disclaimer that it works in widescreen maybe?) and tada, you have a video that displays on both 4:3 and 16:9 without throwing away any data. That way widescreen TV's that automatically crop, will simply crop to the safety area.
If you export to DVD, you are going to want to have as high as quality audio, you know garbage in garbage out problem. If you did not initially record your audio in 96/24 or 48/16, or used the mp3 compression in the initial recording... then your audio is going to suffer when it gets transcoded to AC3 or Mpeg-2 audio. The best, though harder method, to work around this is to actually record all the audio outside the flash file in wav format (or whatever native uncompressed format you have available), and then compress that to mp3 first and put it in your flash file, export the flash file to .swf, then take it out and put in the uncompressed track and then export to mov/avi Assuming there is no timing problem you will get a perfectly timed movie.
If not, you can use Audacity on the PC or Mac, or use GarageBand on the Mac to fine tune it.
Important point I can't stress enough:
Do not allow frames to drop. This is typically only an issue if you are real-time capturing, but if you are using any realtime encoder, make sure that it's not set to drop frames, if one frame is dropped, the entire movie will forever remain out of sync.
Secondary trick, if you used actionscript tricks (scripted camera etc):
This is basically a brute force method that you are going to hate, you will need to acquire software that either
a) wraps the flash file in a 1fps wrapper and plays it
b) a screen cap utility that does the same, and you export at 1fps.
I've used this trick, it's annoying as hell, and if you used too many effect layers, it will still lose frames.
You then will need to export the audio as a wav file straight from flash (or if you already mixed it outside flash, then use that.
Then you are going to need VirtualDub or some other software that allows using frame sequences. The software I found that does a, did this for me, I forget what it's called, but it only exported to bmp files so I needed GB's of space for 30 seconds.
The advatage is that you do get uncompressed images... just at a extremely annyoing work around.
Anyway, from that point you continue as above, use vlc or something else to encode the video and then load into nero.
This post probably sounds disorganized, I am not trying to write a tutorial at this point, but am wondering if anyone else (especially not on a mac) found a easier way [that did not require purchasing additional software]