Super 8 Digitization

By Craig Thomas, Thu 09 May 2019, in category Image manipulation

image_processing

I was lucky to come across some old Super 8 film reels that my parents took when I was growing up in the 1980's. Most of the film that was shot was taken using Kodak Kodachrome Super 8 film, with a few on Kodak Ektachrome. Unfortunately, these reels won't last forever. Over time the colors on the developed film can fade, or the film itself will decay. I was very interested in how I could preserve these old films, so I investigated various solutions to digitizing them.

Wolverine

Looking around online, I found that there were two different methods to get Super 8 film digitized. The first was to go via a commercial route, and send the film reels in to a photo processing store. Typically, this cost about $20 per 50 foot roll of film. Seeing as I had 14 of them to do, this would have cost about $280 before tax. This wasn't a terrible cost, but seeing as I had no idea if the film was even still viable, I didn't want to go that route unless I had to.

The second option was to go the DIY route. There are plenty of film digitizers available on Amazon, but most of them were only for still photography or slides. However, one option that showed up consistently among my searching was the Wolverine Film2digital MovieMaker. This particular digitizer was meant specifically for Super 8 or other 8 mm film. This was exactly what I was looking for.

A quick Amazon search showed that the digitizer cost several hundred dollars new (anywhere in the price range of $700 - $1,200 depending on the source). eBay had several used options available ranging from $200 - $600. Given that I still didn't know the quality of the film, and that purchasing on eBay can be somewhat hit or miss, I figured there had to be another option.

Local Library for the Win!

After reaching out on a local Facebook Group, I learned that our local library had a digitization lab, complete with a Wolverine digitizer! This was beyond perfect, as it meant that I could attempt to do my own digitization, and if things didn't work out, I could try a different approach later. Below is a snapshot of the digitizer as it was running.

Wolverine Digitizer

The Process

Using the Wolverine was surprisingly easy. Simply thread the film through the specified path, insert an SD card, make any adjustments to the frame capture, and press start. The digitizer advances the film one frame at a time and takes a snapshot of what is currently on the screen. The results are written to the SD card. When it's complete, you simply swap the reels, and select the rewind option from the menu. The whole caputre operation takes approximately 30 minutes for a standard Super 8 reel. When complete, simply remove the SD card from the machine and copy to your own local computer. The finished capture is stored as a H264 MP4 file.

Post-processing

There were a few problems once the film was captured. This meant there was some post-processing that had to be completed once the digitization had finished.

Super 8 Frames Per Second Adjustment

The first problem is that Super 8 is shot and played back at a rate of 18 frames per second (fps). By default, most media players will be played back at a rate of 30 fps, making any movement look very fast. To fix this issue, I needed to convert the recorded movie so that it played at a rate of 18 fps instead of 30. This means properly doubling up the recorded frames where appropriate. A simple Linux tool called mkvmerge has an option to do this for you. The command below will translate the MP4 to an MKV with a corrected frame count. It copies it into a temporary file first to do the copy.

mkvmerge --default-duration 0:18fps --fix-bitstream-timing-information 0 \
./digitized_film.mp4 -o temp.mkv

With that complete, it's then simple to convert back to an MP4 file with the following ffmpeg command:

ffmpeg -i ./temp.mkv -c:v copy ./digitized_film_18fps.mp4

The end result is a file that should play at the correct number of frames per second on a media player.

Cropping

Despite several attempts to make sure that the film was aligned correctly, there were still instances where the frame would be accidentally too high or too low in the digitized output, resulting in a black bar either at the top or the bottom of the video, along with a portion of the previous or next frame spilling into the picture. While I could go back and re-digitize the film with an attempt at a better setup, the process takes sufficiently long that it wouldn't be worth the hassle. Instead, I opted to simply crop out the offending frame leakage with a simple command using ffmpeg. The command below will essentially resize the resulting file so that it is 960 wide by 700 high. The crop=960:700:0:20 is what controls the adjustment. The 960 specifies that the resultant width should be 960 pixels (the original size), the 700 specifies that the height should be 700 pixels (cropped down from 720), the 0 means the starting x offset should be at the original origin point (left side of the video), and the 20 means to position the y offset 20 pixels down from the original origin (the top of the video).

ffmpeg -i ./digitized_film_18fps.mp4 -filter:v "crop=960:700:0:20" ./cropped.mp4

The above command essentially crops the first 20 pixels from the top of the film. To crop the bottom, you would essentially make the y offset 0.

Trimming

Some of the films that I scanned contained a leader of several frames that basically had the Kodak brand name and other information about processing.

An example frame of the film leader

While this makes the film feel authentic, there are times when I didn't want to keep the leader in place. When I digitized the film, I could have advanced the reel sufficiently far to skip the leader, but I was worried about losing frames at the beginning. The film leader can be effectively cropped out by a simple ffmpeg command. The command below takes the input file, and generates a new one that starts from 20 seconds in from the original, and spans a 30 second timeframe:

ffmpeg -i ./digitized_film.mp4 -ss 00:00:20 -t 00:00:30 -async 1 trimmed.mp4

The -ss switch is what controls were the starting place begins for the trimmed output, in this case, 20 seconds in. The -t option specifies how many seconds you want to copy, not the position that you want to copy to, so you need to do a little math to figure out how much time you need to specify with the option.

Conclusion

Using the Wovlerine Film2digital MovieMaker was extremely easy. The resultant files are of sufficiently high quality that I feel pretty good about not having them professionally done. A small amount of post-processing is usually necessary to make the film perfect, but for the most part, even without post-processing, the resultant videos are really good.