This is a retro computing just-for-fun project. AGAConv is a CDXL video converter for Commodore-Amiga computers. It can convert modern videos (MP4, etc.) into the CDXL format which can be played with AGABlaster on an AGA Commodore-Amiga computer. The first Commodore-Amiga computer with the AGA chipset was released in 1992. Commodore went bankrupt in April 1994.
The CDXL format was created by Commodore primarily for the Commodore CDTV, released 1991, to permit playback of video from CD-ROM in the early 1990s. The CDXL format is a simple streaming format, consisting of linear concatenated chunks (packets), each with an uncompressed frame and associated audio data. In addition to the original 12-bit colors, AGAConv also supports 24-bit colors, as supported by Commodore Amiga AGA systems released in 1992+.
AGAConv utilizes ffmpeg to extract video frames and audio data from videos and encodes the extracted data into the CDXL format.
Overview of supported features:
- Configuration file allows to set any options as default.
- Formats:
- Standard CDXL with optimized bitplanes and frequency adjustment
- Standard CDXL with fixed frames and frequency adjustment
- Custom CDXL with optimized color palette and bitplanes, and exact frequency
- Each CDXL frame with its own color palette
- Color modes:
- AGA8 to AGA2, 24 bit colors
- OCS5 to OCS2, 12 bit colors
- HAM8, 24 bit colors (requires ham_convert)
- HAM6, EHB, 12 bit colors (requires ham_convert)
- Screen (resolution) modes:
- Lores, Hires, Superhires
- Audio
- 8-bit mono/stereo
- Encoding of custom CDXL videos (minimal number of bitplanes in each frame)
- With 24-bit color palette and variable length frames
- Any audio frequency
- Encoding of standard CDXL videos (fixed number of bitplanes)
- Audio Frequency is automatically adjusted such that all CDXL frames have the same size
- 12-bit colors (default)
- 24-bit colors are supported in RGB 3-byte format (same as IFF/ANIM CMAP chunk body data)
- More information about video conversions can be found on the AGAConv website.
AGAConv uses ffmpeg to extract video frames and audio data from any video format supported by ffmpeg and encodes them into a CDXL video. For HAM conversions it can integrate the tool ham_convert into the conversion pipeline. The CDXL video can be played with AGABlaster on a Commodore-Amiga computer.
You need to install the following dependencies before you can build:
- sudo apt install make g++ libpng-dev man-db ffmpeg
On MacOS you will need to install dependencies via Homebrew:
- brew install libpng ffmpeg doxygen pandoc
AGAConv can be built from source and run on Ubuntu as follows:
- cd agaconv
- make -j6
Builds the excutable 'bin/agaconv'.
- 'make view-man' shows the man page (without installing it)
- 'make clean' removes all generated files.
- A binary distribution of AGAConv 1.0+ is available as PPA package and can be installed with apt on Ubuntu.
- Instructions for the binary PPA installation can be found on the AGAConv website.
- Website: AGAConv website with binary PPA installer instructions
- Twitter: AGAConv and AGABlaster announcements
- Youtube: AGABlaster channel with Amiga AGAConv videos
Version: 1.1.0
Author: Markus Schordan, Copyright 2019-2024.
Contributor: Emiliano Esposito (2024) - MacOS layer support/fixes, last frame audio spike bugfix
License: GPL v3+ open-source
- Thanks to Jean Bollaërt for testing the pre-release version of AGAConv 0.9.4 on Windows 10 with Microsoft's Ubuntu app/terminal.
- Thanks to Sebastian Sieczko for adding command line options to his graphic converter ham_convert such that it could be integrated into the AGAConv conversion pipeline.