A simple Python AVF video file (Atari Video Format) player for modern computers.
- To quickly check AVF files without need to launch real hardware.
- To debug output of avi2atari.
-
Hardware-adaptive audio sync
-
GTIA Palette emulation (YIQ/YUV colorspace)
-
Real-time Phase/Saturation adjustment
-
CRT (or rather player) scanline emulation
-
Horizontal Blending (Blur)
-
Looped playback
Open the Command Prompt, then:
winget install Python.Python.3.10
winget install Git.Git
git clone https://github.com/HanJammer/avfplayer.git
cd avfplayer
python -m pip install -r requirements.txt
python avfplayer.py
Install prerequisities:
Python 3.10+
Then:
-
Clone the repository:
git clone https://github.com/HanJammer/avfplayer.git cd avfplayer -
Create a Virtual Environment (Recommended):
-
Windows (Command Prompt / PowerShell):
python -m venv venv .\venv\Scripts\activate -
Linux / macOS:
python3 -m venv venv source venv/bin/activate
-
-
Install dependencies:
pip install -r requirements.txt
Play an AVF file for PAL system:
python avfplayer.py video-PAL.avf PAL
or
python avfplayer.py video-PAL.avf
Play an AVF file for NTSC system:
python avfplayer.py video-NTSC.avf NTSC
usage: avfplayer.py [-h] [--scale SCALE] [--debug] file [system]
| Parameter | Description |
|---|---|
file |
Input AVF file |
system |
Target system: PAL or NTSC. Default: PAL. |
--debug |
Enables debug overlay (currently shows oscilloscope). |
--scale |
Scale of the video window (integer number, 3 is default, 8 fits 4k screen). |
| Key | Description |
|---|---|
S |
Enable/Disable scanlines. Default: Enabled. |
B |
Enable/Disable pixel blending. Default: Enabled. |
[/] |
Tune color phase in 0.05 steps. |
Shift+[/Shift+] |
Tune color saturation (integer number, 3 is default, 8 fits 4k screen). |
L |
Loop video. Default: Disabled. |
D |
Show/Hide oscilloscope. Default: Disabled |
"DAUBLG Makes it Right!" (source video).
| Sample 1 | Sample 2 |
|---|---|
![]() |
![]() |
Don't expect the videos to have the exactly same colors as on original hardware. For now this is the best effort approximation.
This tool was created to modernize the Atari 8-bit video ecosystem.
Testing and debugging was done on the PAL hardware only. NTSC is mostly untested - if you have NTSC computer and can test the output AVFs - this would be a great help to make this program better.
If you find bugs or have ideas for better dithering algorithms:
-
Fork the repo.
-
Create your feature branch.
-
Submit a Pull Request.
Credits:
-
Coding & Engineering: HanJammer & Lumen.
-
Additional ideas: MNEMOS.

