|Cassiopei v2.0 - PETSCII Video Converter v220.127.116.11|
PETSCII video encoder
A PETSCII player is nice, but useless if there isn't an encoder to make video files. So an encoder based around ffmpeg (for frame extration) has been created (for Microsoft Windows 7 or higher). Using a relatively simple algorithm a conversion from pixels to PETSCII can be made. Due to the limitations of a characterset, the results works best for simple, high contrast, line based graphics. Like the "La linea" animations (a series funny, linebased, cartoons from the 70's). But feel free to experiment with other material, because a single frame may not look very good, a sequence of frames may smooth out the imperfections of the image that hurt recognition of certian shapes. As long as the used material doesn't rely on details too much the results could be very interesting. Below a screenshot of the conversion tool, using a "La linea" animation. Here you can clearly see that the lines can be represented by the characterset just fine, but the shades/details of the hand suffer quite badly from the limitations of representing blocks of 8x8 pixels by characters from a fixed characterset.
The tool has a workflow that goes from left to right, first you need to select a source video, which will be converted by ffmpeg into single frames. These frames can be corrected in brightness of contrast. And through the listbox you can select the frame you are working on, by scrolling through this listbox, the images in the windows will be updated. By scrolling continuously the frames will be updated continuously and the effect of animation becomes clear. Because this tool is suited for various types of CBM computers, the user must choose the correct resolution, 22x23, 40x25, 80x25.
The center section of the program shows the image converted into pure black and white (no grayscales), due to dithering techniques (Bayer 2x2, 4x4, 8x8 or Floyd and Steinberg) the illusion of shades can be achieved. This increases the accuracy of the result but it does require the user to select the correct thresshold value, to select the appropriate level of ditthering. The textbox display the output from ffmepg, not realy interesting for users but very useful for me (the programmer).
The right side of the program shows the final image, which is heavily depending on the charset used, so there is an option to select a different charset. Charsets are simple bin files (binary images of the charset rom). So if you have a computer with a home-made font, you could make an image of that rom with an (ep)rom reader and use that file in this program. The program also features compression, required to get the framerate to acceptable levels. This is called delta mode, meaning that onlythe changes between frames are stored, saving lot's of data to be handled/transferred during playback. In order to determine if this mode makes sense, there is an indicator that shows how many tiles (groups of 8x8 pixels) have changed. And there is also a way of visualizing the changes with different colors in the "final" screen. That option is disbaled in the screenshot because it looks a bit strange if you never worked with it, though it's not that difficult to work with and it gives a nice insight in what happens. And last but not least there is a setting to show the image in green (which is the default color of PET computers).
When all settings are done, you can export the PETSCII video into a .DAT file, which can be played in the Cassiopei using the PETSCII video player.