Convert Video to Amiga CDXL with FFmpeg
This guide explains how to convert modern digital video files into the classic Amiga CDXL format using the FFmpeg command-line tool. You will learn the specific video and audio parameters required to ensure the output file plays smoothly on vintage Amiga hardware, such as the Amiga CD32 or CDTV, along with a breakdown of the exact FFmpeg command needed to perform the conversion.
Understanding Amiga CDXL Constraints
The CDXL format was designed in the early 1990s for low-bandwidth CD-ROM drives (specifically single-speed 150 KB/s drives). Because of these hardware limitations, you must downscale your source video and audio significantly. If your file exceeds the bandwidth limits of the Amiga’s CD-ROM drive, playback will stutter.
To ensure compatibility, your target specifications should generally adhere to the following: * Resolution: 320x200 pixels (standard NTSC) or 320x256 pixels (PAL). You can also use lower resolutions like 160x100 to save bandwidth. * Frame Rate: 12 frames per second (fps) is standard. You can go up to 15 fps, but 24 or 30 fps will overwhelm classic hardware. * Color Depth: CDXL uses an indexed color palette (usually 8-bit/256 colors or HAM6). * Audio: 8-bit mono, sampled at 11025 Hz or 22050 Hz.
The FFmpeg Conversion Command
FFmpeg includes a native CDXL muxer and encoder. To convert your video, open your terminal or command prompt and run the following command:
ffmpeg -i input.mp4 -c:v cdxl -pix_fmt bgr8 -s 320x200 -r 12 -c:a pcm_s8 -ar 11025 -ac 1 output.cdxlCommand Parameter Breakdown
Here is what each part of the FFmpeg command does:
-i input.mp4: Specifies your source video file.-c:v cdxl: Sets the video codec to CDXL.-pix_fmt bgr8: Sets the pixel format to 8-bit color. This is necessary because modern video formats use 24-bit color or higher, which the CDXL encoder cannot process directly.-s 320x200: Resizes the video frame. Change this to320x256if you are targeting PAL systems.-r 12: Sets the output frame rate to 12 frames per second.-c:a pcm_s8: Sets the audio codec to 8-bit signed PCM, which is the standard audio format compatible with the CDXL container.-ar 11025: Downsamples the audio to 11025 Hz. You can increase this to22050if you have a double-speed (2x) CD-ROM drive.-ac 1: Redefines the audio channels to 1 (mono) to save precious bandwidth. If stereo is absolutely necessary, change this to2.output.cdxl: The name of your finished Amiga-compatible video file.
Testing and Playback
Once the conversion is complete, the resulting .cdxl
file can be transferred to an Amiga-formatted media, such as a CF card,
floppy disk, or CD-ROM image.
You can play the video on a real Amiga using classic players like CDXLPlay or Multiview (with the appropriate datatypes installed). You can also test the file on modern computers using retro emulators like WinUAE or FS-UAE to verify that the frame rate and audio sync are correct before writing the file to physical media.