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.movFFmpeg 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-i input.mp4: Specifies your source video.-pix_fmt pal8: Forces the pixel format to an 8-bit color palette (essential for SMC compatibility).-c:v rawvideo: Keeps the video uncompressed to prevent generational quality loss before the final encode.
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).
- Open
output_pal8.movin QuickTime Player 7 Pro. - Click File > Export…
- In the “Export:” dropdown, select Movie to QuickTime Movie and click Options…
- Under the Video panel, click Settings…
- In the Compression Type dropdown, select Graphics (which is the official name for the SMC codec).
- Set the color depth to 256 Colors (SMC’s limit).
- 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.movThis 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.