AGAConv - Commodore Amiga CDXL Video Converter

Recent Updates

You can follow release updates on X/Twitter: https://twitter.com/AGABlaster

AGABlaster YouTube channel showing agaconv converted Amiga videos.

How to upgrade to new versions of the binary distribution of AGAConv

When a new version of agaconv is released, run the following commands to upgrade to the new version

  1. sudo apt update (updates database)
  2. sudo apt upgrade (upgrades to new agaconv version)

For more information on how to install AGAConv see the Installation Instructions.

Overview

This is a retro computing just-for-fun project started in 2019. AGAConv is a CDXL video converter for Commodore-Amiga computers. It combines some existing tools to convert videos (MP4, etc.) into the CDXL format which can be played with AGABlaster or other CDXL players 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+.

Overview of supported features

The generated videos were tested on a classic Amiga 4000/60 with AGABlaster and Amiga OS with original graphics and sound hardware.

Integrated Tools in AGAConv

Documentation (Manual)

The AGAConv Manual describes all command line options, the use of configuration files, and contains a list with several usage examples (see Section Examples).

Distribution

Linux Binary Distribution - PPA Installer - Installation Instructions

Binary distribution is available for

The binary distribution can be downloaded and installed with apt on Ubuntu as follows (the right Ubuntu version is selected automatically):

This downloads and installs the AGAConv package and all required dependencies. After these steps AGAConv is ready to convert any MPEG4 video (and other formats) to CDXL for Amiga AGAx and OCSx screen modes. For HAM6/8 videos ham_convert must be installed as well.

After installation a video can be converted as follows: agaconv myvideo.mp4 myvideo.cdxl

The package also installs the manual as a Linux man page. The manual can be viewed with the command man agaconv.

Details about the PPA Package can be found on the AGAConv PPA page. However, above command lines are sufficient for installation, you do not need to visit the PPA webpage for installation of the package.

Upgrading to New Versions of AGAConv

When a new version of agaconv is released, run the following commands to upgrade to the new version

  1. sudo apt update (updates database)
  2. sudo apt upgrade (upgrades to new agaconv version)

Installation of ham_convert (optional)

For HAM conversions the tool ham_convert can be added to AGAConv. It is not included in the PPA package because it is not open-source software. Here are the steps to download and integrate it with AGAConv:

  1. sudo apt install wget zip default-jdk xvfb (xvfb is only required when using the Microsoft Ubuntu App)
  2. wget -O ham_convert.zip http://mrsebe2.bplaced.net/ham_convert/ham_convert_latest.zip (Download ham_convert)
  3. unzip ham_convert.zip
  4. agaconv --change-config --hc-path=$PWD/ham_convert

ham_convert is now installed on your system and integrated into the AGAConv conversion pipeline. Step 4 stores the absolute path to ham_convert in AGAConv's default config file. agaconv --help should show this path as default value for the '--hc-path' option now.

To convert a video into a HAM8 CDXL file: agaconv --color-mode=ham8 myvideo.mp4 myvideo.cdxl

Note that ham_convert is about 10-15 times slower than ffmpeg. If you want to see some output during conversion use the additional option --verbose=2. This produces some output for each converted frame.

Reporting bugs and resolving installation issues: visit the following EAB forum thread

Open-Source Distribution

Available on github: https://github.com/mschordan/agaconv

License

AGAConv is distributed with a GPL v3 open-source license.

Getting Started - Converting Your First CDXL Video (with test video download)

In this quick example session we (1) install wget, a program for downloading files, (2) download a test video, (3) and convert it with agaconv. It can then be played on an Amiga or Amiga emulator such as WinUAE or fs-uae.

  1. sudo apt install wget
  2. wget -O testvideo.mp4 https://docs.google.com/uc?id=1gA5wr7O-FKzBFOesZej03fPZ-WxqL_UH
  3. agaconv testvideo.mp4 testvideo.cdxl

The CDXL video testvideo.cdxl is now ready. It runs at 24 FPS with stereo audio at 28032 Hz. It can be played with AGABlaster on an Amiga (or emulator) with

Installation on Windows (in Ubuntu App/Terminal)

On Windows AGAConv can be installed in the Microsoft Ubuntu App. After installation you can see the Ubuntu Linux file system as mounted as a Windows drive 'Linux'. The Windows drives are also mounted drives in the Ubuntu App's file system. Following are instructions for Windows installation.

  1. Install the Microsoft Ubuntu app from the Microsoft App Store (it's free!).
  2. Start the Ubuntu App (search for 'Ubuntu App' in the Windows search box and select it)

Now copy and paste the following commands ('paste" is Windows Key + 'v', or middle mouse button, or on a Laptop 'two-finger click' on touch pad)

  1. sudo apt update
  2. sudo apt install wget software-properties-common
  3. sudo apt upgrade - this also upgrades ffmpeg to the newest version and may take a while
  4. sudo add-apt-repository ppa:m-schordan/agaconv - now we are ready to install AGAConv
  5. sudo apt update
  6. sudo apt install agaconv - this installs the newest version

Now let's convert our first CDXL video. We will download a test video and convert it to a CDXL video.

  1. wget -O testvideo.mp4 https://docs.google.com/uc?id=1gA5wr7O-FKzBFOesZej03fPZ-WxqL_UH
  2. agaconv testvideo.mp4 testvideo.cdxl

That's it. We have created a CDXL video 'testvideo.cdxl' in AGA8 color mode, with 24 FPS and stereo audio at 28032 Hz. This video can be played on an AGA Amiga with AGABlaster.

To copy the video from the Ubuntu Terminal's file system to the Videos folder on Windows we can use

We are done!

Making things even easier for future sessions on Windows

To make things even easier in future we can create some symbolic links and for example convert any videos directly into an Amiga emulator's directory.

To make the file path shorter, we can create a symbolic link to the Windows folder:

Now we can copy the test video from the Ubuntu terminal to the Windows file system's Video directory with

If WinUAE is installed with the default file path C:\Users\Public\Documents\Amiga Files\WinUAE we can also create a symbolic link to the WinUAE directory as follows and copy the file directly into the WinUAE folder:

Now that we have these two symbolic links, we can in future sessions also simply go to the Windows Videos folder right away and convert videos directly into the WinUAE folder:

The tilde ~ is necessary to refer to our home directory, where we created the symbolic link (creating symbolic links in the Windows file system from Ubuntu is not supported).

Start WinUAE, start AGABlaster, select testvideo.cdxl in the File Requester, and play it! Make sure to go full screen in WinUAE!

Note, in the Ubuntu terminal you can use TAB for auto-complete of file names and directory names, hitting TAB twice lists the entire directory (all matches); If there is no match, hit TAB twice to list the entire directory. CURSOR KEY UP/DOWN allows to select previous commands.

Playing AGAConv Generated CDXL videos on an Amiga

There exist several CDXL players. Listed here are only those that were used in testing generated CDXL videos.

AGABlaster (Amiga)

AGABlaster can play 24-bit custom CDXL videos and standard 12-bit CDXL videos. Custom 24-bit CDXL videos give the best quality on AGA systems.

Convert with: agaconv testvideo.mp4 testvideo.cdxl - by default this creates a custom 24-bit CDXL video with stereo audio and 24 FPS.

Play the video on an AGA Amiga with:

  1. agablaster testvideo.cdxl - plays the video that we just generated
  2. agablaster video1.cdxl video2.cdxl - plays a list of videos
  3. agablaster - starts AGABlaster on the workbench and allows to select a list of videos in the file requester
  4. Select the AGABlaster icon on the workbench and select the video in the File Requester.

AGABlaster does not require any additional parameters to play a CDXL video that were generated by AGAConv.

cdgsxl (Amiga)

cdgsxl is a CDXL player from 1995 that can play standard 12-bit CDXL videos. It requires additional command line arguments to run a CDXL file.

cdgsxl myvideo.cdxl dosxl multipal blit lmbabort xlspeed=NUM where NUM is the number of blocks per second (block=2048 bytes).

ffmpeg's ffplay CDXL mode (on multiple platforms)

ffmpeg's ffplay can play standard 12-bit CDXL videos. To my knowledge there is no way to select the display speed, it is the encoded audio frequency that determines the speed. To get a correct display-speed with ffplay select a frequency of 11025 Hz and mono audio videos. The AGAConv default of 24 FPS works fine then.

Example for generating a CDXL video with HD dimensions of 1920x1080, playing at 24 FPS (only playable on PC)

  1. agaconv testvideo.mp4 testvideo.cdxl --format=std-fixed --width=1920 --frequency=11025 --audio-mode=mono --screen-mode=unspecified --force-color-depth=12
  2. ffplay testvideo.cdxl -fs

The option --screen-mode=unspecified is necessary to tell AGAConv not to adjust the aspect ratio of the CDXL video for the Amiga screen mode(s). The other options are required for ffplay to play the CDXL video properly. Note that STD CDXL uses 12-bit colors (not 24-bit AGA colors), so this is a video with 8 bitplanes and 256 colors per frame, but only 4096 color range, because ffplay can only play standard 12-bit CDXLs videos. However, HD resolution is a plus in this CDXL conversion variant.

Release Notes