Convert Video to Apple Graphics SMC with FFmpeg

This article explains how to transcode video files into the legacy Apple Graphics (SMC) format. While FFmpeg natively supports decoding SMC video, it does not feature a native SMC encoder; therefore, this guide covers how to use FFmpeg to prepare compatible intermediate files, utilize FFmpeg’s closest active alternative (QuickTime Animation), and use legacy tools to complete the Apple Graphics (SMC) encoding process.


The FFmpeg Limitation: Decoding vs. Encoding

FFmpeg includes a decoder for the Apple Graphics codec (identified by the format tag smc), which allows you to read and play these legacy files. However, FFmpeg does not have a native encoder for SMC.

If you attempt to run a command forcing the SMC encoder, such as:

ffmpeg -i input.mp4 -c:v smc output.mov

FFmpeg will return an error stating that the encoder ‘smc’ is not found. To successfully transcode a video to Apple Graphics (SMC) today, you must use a two-step process: export a compatible 8-bit palettized file using FFmpeg, and then compress it using legacy Apple software.


Step 1: Export a Compatible Intermediate File using FFmpeg

The Apple Graphics (SMC) codec is an 8-bit palettized format originally designed for 8-bit color displays in the early 1990s. To prepare your modern video for SMC encoding, you should use FFmpeg to downsample the video to an 8-bit palette and save it in a lossless QuickTime format.

Run the following command to convert your modern video into an 8-bit palettized uncompressed QuickTime file:

ffmpeg -i input.mp4 -pix_fmt pal8 -c:v rawvideo output_pal8.mov

Step 2: Encode to Apple Graphics (SMC) via Legacy Tools

Because FFmpeg cannot write the SMC stream itself, you must import the output_pal8.mov file generated in Step 1 into a legacy QuickTime-compatible application.

The most reliable tools for this are QuickTime Player 7 Pro (on macOS Mojave or older, or Windows) or Adobe Media Encoder (CS6 or older).

  1. Open output_pal8.mov in QuickTime Player 7 Pro.
  2. Click File > Export…
  3. In the “Export:” dropdown, select Movie to QuickTime Movie and click Options…
  4. Under the Video panel, click Settings…
  5. In the Compression Type dropdown, select Graphics (which is the official name for the SMC codec).
  6. Set the color depth to 256 Colors (SMC’s limit).
  7. Click OK and save your newly compressed SMC video.

The FFmpeg Alternative: QuickTime Animation (RLE)

If you need a retro-compatible codec but require a 100% automated FFmpeg workflow without legacy GUI tools, you should use the QuickTime Animation (RLE) codec instead. It is from the same era, supported by the same legacy machines, and FFmpeg can encode it directly.

To transcode your video to QuickTime Animation RLE using FFmpeg, run:

ffmpeg -i input.mp4 -c:v qtrle -pix_fmt rgb24 output_animation.mov

This will produce a .mov file encoded with the qtrle codec, which offers similar legacy compatibility to SMC but can be created entirely within command-line workflows.