Flash to DVD, Anyone else try it?

A group of weekly cartoon shows on the internet backed by an internet company? It's like the dotcom boom all over again! Party like it's 1999 and share your love for KeenTOONS.com here.

Moderators: Chris Crosby, Matt Wilson

Flash to DVD, Anyone else try it?

Postby Kisai on Mon Feb 19, 2007 10:19 am

Hey all,

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)

Caveat: You can absolutely NOT use any javascript/actionscript in the flash file, this includes the "scripted camera" trick, preloaders, and subtitle switches, if you've used any of these tricks, this will not work.

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.

Encodeing caveats:
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.

Audio concerns:
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]
"The Guide" for ComicGenesis comics
Comic Genesis , free webcomic hosting.
*tag* you're IT!
User avatar
Cliche Catgirl Admin
Posts: 1068
Joined: Fri Mar 30, 2001 12:00 am
Location: Vancouver, BC, Canada

Postby Eggie on Tue Mar 06, 2007 5:42 am

Here's one that should let you use actionscript and movieclips etc

1. Download RAD Video Tools: http://www.radgametools.com/bnkdown.htm

2. Open up the swf file in it, click on convert and select 'convert to .png'.

3. Do the same for the audio. Use 'convert to .wav'

4. Compile in the program of your choice(I haven't actually found a program that's very appropriate for this kind of thing).

5. Marvel at your ingenuinty (or mine, as it so happens).

WARNING: Not recommened for large chunks of flash movies or anything, really. Use at your own risk.
User avatar
Grand Poobah Keenspotter
Posts: 263
Joined: Sat Oct 16, 2004 1:55 am
Location: Hertfordshire

Postby Kisai on Fri Mar 09, 2007 4:48 pm

Wow RAD is still in business, I thought they disappeared after Blizzard stopped using it. Bink is still used on consoles last time I checked.

Anyway, I haven't tried it, but the problem appears to be the same as one windows app that does it, in that if there is any interactive pieces, it won't work, and it essentially works by taking screenshots at the same rate the flash plays back at. I'll have to try it with the one flash I originally wanted to do it with to see what happens. It wound up being GB's just for the 30 seconds. Which in real world data is unusable. To see why:

1280x720(720p HTDV)x32bppx30=110.5MB/sec
640x480x32bppx30= 36.86MB/sec
Unless your hard drive actually keeps up or you have a RAID system, it's impossible to record SDTV quality from flash using the framesnap method. Even though RAD will output a png set, which reduces the bandwidth required, it increases the cpu, which would reduce the cpu available for rendering the flash, possibly skipping frames. Once you drop a frame you will never get the audio in sync.

The main issue with flash, in converting it to another format, is the original fact that it's not a "movie" format but rather a pMachine like Java. The Flash program converts to other movie formats not by emulating the pMachine, but by 'taking snapshots' of the movie inside the Flash program. This I feel was a fundamental mistake on Macromedia's part. It should be using the flash player to generate the output and when being output to something like quicktime or video for windows or mpeg, should be frame controlled (render frame, send output, render frame, send output), but then again, that would make it too easy and not require people to have the flash plugin.

The inverse is true too, adobe does not want to support h.264 or any part of mpeg4 because it would let people not use their video codec. I see in the future they will eventually have to support it, since h.264 video in the wild is supported on portable media devices, and not flash.

But I don't see adobe fixing the flash player or Flash editor/IDE anytime soon to transcode a movie fully intact.

Though if you really want to get 'camera' effects you'd have to use ToonBoom Studio, and then reimport to flash instead of the 'scripted camera'
"The Guide" for ComicGenesis comics
Comic Genesis , free webcomic hosting.
*tag* you're IT!
User avatar
Cliche Catgirl Admin
Posts: 1068
Joined: Fri Mar 30, 2001 12:00 am
Location: Vancouver, BC, Canada

Postby McBean on Sat Mar 24, 2007 5:13 pm

I don't know what all those fancy words mean, but I finally found a program that actually converts my flash files to video file formats, mp4/avi/etc
it's called swf to video by moyea. costs like 80 bucks though.
Matt C. "mcbean"
User avatar
Grand Poobah Keenspotter
Posts: 569
Joined: Sat Jan 18, 2003 4:19 pm
Location: Virginia

Postby youngoldnnew on Fri Sep 14, 2007 1:16 am

Hey, men, good ideas.
Keenspotter Supreme
Posts: 19
Joined: Fri Sep 14, 2007 1:08 am


Return to KeenTOONS Central

Who is online

Users browsing this forum: No registered users and 1 guest