Help me play or convert old video file formats
October 3, 2022 12:42 PM   Subscribe

I have old video files of animations I created as a student in the late 90s or early 2000s, and I'm not able to play them anymore. They are mainly .SWF, .MOV, or .FLC format.

At the time I deliberately saved them in several formats in an attempt at future-proofing, but I didn't reckon with the rate of file format obsolescence. The only files that are still playable are .AVI (using VLC) and .GIF, but some things I only have as .FLC (Autodesk Animator FLIC), .MOV, .SWF (Flash player file), or .FLA (the original Flash file). The .MOV files would have been created on a ~2000 era Mac, but current Macs refuse to play them.

I've tried some online file converters, but all failed with error messages. I tried SWF File Player on Windows, but it didn't work.

Examples on Dropbox: SWF, FLC, MOV

I'm hoping someone could point me to something that will open them, or even better, convert them.
posted by snarfois to Computers & Internet (14 answers total) 3 users marked this as a favorite
 
Response by poster: Oops, the SWF link above actually links to a folder with all 3 files.
posted by snarfois at 12:44 PM on October 3, 2022


Response by poster: The SWF files are non-interactive, they are video only.
posted by snarfois at 12:47 PM on October 3, 2022


On my Debian Linux system, mplayer plays SABANC.FLC just fine, but not the other two. I think that means it can be reencoded with mencoder (if you can figure out the command line.)
posted by fritley at 12:48 PM on October 3, 2022 [1 favorite]


The .mov file is looking for a Flash Media Handler, so it looks like it's a Flash movie in a QuickTime container.
posted by under_petticoat_rule at 1:00 PM on October 3, 2022 [3 favorites]


Same result as @fritley. VLC will play the FLC file fine. VLC was able to detect the number of seconds in the SWF file, but not able to play it. Did not load the MOV file at all.

Tried Irfanview, says I don't have the right codec installed, but I already have K-lite standard pack loaded. :)
posted by kschang at 1:28 PM on October 3, 2022


Best answer: I was able to convert your SWF example (helvetica-mule1.swf) into an H264-encoded MPEG 4 video file using Swivel (Swivel is an open-source tool - its GitHub repo is here - based on FFmpeg).
posted by CahootsMalone at 1:42 PM on October 3, 2022 [2 favorites]


Best answer: I was able to open and convert SABANK.FLC to a .mov file using the Animation codec with QuickTime Pro 7. I also opened helvetica-mule1.swf using the ruffle.rs desktop tool, and made a screencast recording of it. I'll dm you a link to download those if you want.

I haven't been able to figure out any way to unwrap the 96degree.mov file. I feel like someone smarter than me should be able to unwrap the Flash media from the mov container and convert it. Changing the extension didn't work, and ruffle and QuickTime wouldn't open it as a mov. I tried replacing the header in the file with the header from a swf file but that also didn't work - it was a longshot anyway.
posted by under_petticoat_rule at 1:57 PM on October 3, 2022 [1 favorite]


The files seem a bit malformed, with the codecs not defined. ffmpeg doesn't like 'em. Here's the ffprobe output:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5615d9daefc0] Found duplicated MOOV Atom. Skipped it
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '96degree.mov':
  Metadata:
    creation_time   : 2000-04-12T14:44:00.000000Z
  Duration: 00:00:21.17, start: 0.000000, bitrate: 5758 kb/s
    Stream #0:0(eng): Data: none, 5757 kb/s (default)
    Metadata:
      creation_time   : 2000-04-12T14:44:00.000000Z
      handler_name    : Flash Media Handler
Unsupported codec with id 0 for input stream 0

[swf @ 0x55b26901cfc0] Could not find codec parameters for stream 0 (Audio: pcm_u8, 5512 Hz, mono, 44 kb/s): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, swf, from 'helvetica-mule1.swf':
  Duration: 00:00:12.26, bitrate: 6299 kb/s
    Stream #0:0: Audio: pcm_u8, 5512 Hz, mono, 44 kb/s
    Stream #0:1: Video: rawvideo (PAL[8] / 0x84C4150), pal8, 320x400, 12 fps, 12 tbr, 12 tbn
    Stream #0:2: Audio: mp3, 11025 Hz, mono, fltp, 16 kb/s
    Stream #0:3: Audio: mp3, 11025 Hz, mono, fltp, 16 kb/s
    Stream #0:4: Audio: mp3, 11025 Hz, mono, fltp, 16 kb/s

Input #0, flic, from 'SABANK.FLC':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: flic, pal8, 300x400, 15.15 tbr, 15.15 tbn, 15.15 tbc

posted by neckro23 at 2:02 PM on October 3, 2022 [3 favorites]


helvetica-mule1.swf played through the Ruffle SWF player seemingly perfectly
posted by scruss at 4:16 PM on October 3, 2022 [1 favorite]


Response by poster: This is great, thanks everyone! This gives me plenty to follow up.

96degree.mov may have been output from FLIC from a .AAS batch file, which played back several .FLC files at different speeds, eg.


FLIC2AVG.FLC -S20.0 -MF
FLIC3.FLC -L4 -S4.0 -F
FLIC4D~1.FLC -S20.0 -F


You're right, VLC can play back .FLC files! Unfortunately I can't play them at different speeds as originally intended so I might look for a DOS version of FLIC.
posted by snarfois at 4:43 PM on October 3, 2022


The Internet Archive has a project to preserve Flash content -- so maybe they have resources for converting your files.

Tweet at Jason Scott and ask for help, if a web search doesn't turn up anything. That dude looooooves to save content!
posted by wenestvedt at 4:57 PM on October 3, 2022


Best answer: ffmpeg is always my first port of call for anything video-related. Its friend ffprobe is good for finding out what's in a video file, and I can confirm neckro23's results: it has no particular difficulty figuring out SABANK.FLC or helvetica-mule1.swf but it doesn't know what to make of an apparently zero codec ID in 96degree.mov even after skipping an apparently duplicated MOOV atom.

It was therefore no real surprise to learn that ffplay will play both SABANK.FLC and helvetica-mule1.swf but not 96degree.mov.

I tried poking about inside 96degree.mov with a hex editor to identify the MOOV atoms by eye, and there are indeed two of them, one at each end, each 0x2E0 bytes long; so I removed each of those in turn and fed the remainder back through ffprobe in case that helped it, but the only difference it made was removing the warning about skipping a duplicate MOOV atom. Which makes sense, I guess.

Do you have any clue what codec (as opposed to container format) 96degree.mov would actually have been constructed with?

VLC can play back .FLC files! Unfortunately I can't play them at different speeds as originally intended so I might look for a DOS version of FLIC.

If VLC will play something there's a good chance that ffplay will too, and anything that ffplay will play, ffmpeg can munge for you in arbitrary ways. So in the interest of further future resistance, at this point the path I'd be following if I were you would be to try to get the original components of your .aac batch file to play at some speed with ffplay, then work up an ffmpeg command line that builds a final edit that looks the same as your original .aac did but runs at a consistent (and preferably popular) frame rate, and output it into a nice general-purpose container like Matroska that's well-designed enough that it will probably stick around for at least another few decades.

I'd also make and archive another version with the video re-coded as H.264 and the audio as AAC, because I think those codec standards will be around for a while as well and both are easily good enough to make visually and audibly lossless versions of what you already have. They might even save you a bit of storage space in the process :-)
posted by flabdablet at 1:22 AM on October 4, 2022 [2 favorites]


I opened 96degree.mov in notepad++ (this is not as completely bizarre as it sounds - I had to do that to some of my old animations to change the codec entry in the header to generic mjpeg because they were originally hardware locked, and it worked).

The header (or "atom" I guess) includes the string "Flash Media Handler" plus a couple others that look like internal strings referencing Flash apps. That's why I think it's somehow Flash-encoded content in a .mov wrapper. I used to work with Flash a bit and I seem to remember that being possible, but I don't know for sure.

There are retro computing people out there, it might be possible to find someone running a Windows XP box with Flash and Quicktime installed who could try to open (and possibly convert) the video for you.
posted by under_petticoat_rule at 6:19 AM on October 4, 2022 [1 favorite]


Unlike SWF as an open-ish standard, the source FLA files are a proprietary format that other programs will not be able to read. Do you know what version of Flash they might have been created in? (newer versions can't all read the early pre-Adobe formats, and vice versa - per Wikipedia, your timeline means they would have likely been made in Flash 3 - 9, and SWF video was added in 6, FLV in 7, both using a propritary variant of H.263 codec called Sorenson Spark; and then moving to MP4 in version 9). I only have Flash 4 in my legacy stuff, so I don't know if I could open them, but would be willing to try.
posted by CyberSlug Labs at 11:36 AM on October 4, 2022 [1 favorite]


« Older Addressing Constructive Feedback in Year-End...   |   Is it possible for such a career to exist? Newer »
This thread is closed to new comments.