Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Accessible Media Converter

Accessible Media Converter is a Windows desktop transcoding tool built with wxPython and powered by FFmpeg.

The project is designed with accessibility and keyboard-driven workflows in mind, while still offering enough control for real-world media conversion tasks such as audio extraction, multi-track video handling, stream copy, loudness normalization, and batch processing.

Highlights

  • Accessible desktop UI for Windows
  • Application language preference with automatic system detection
  • Audio-to-audio and video-to-audio conversion
  • Video-to-video conversion for MP4 and MKV
  • Image conversion (JPEG, PNG, WebP, TIFF, BMP) with quality/compression controls and resize
  • Explicit track selection for video, audio, and subtitles
  • Audio extraction track selection for multi-audio video files
  • Batch conversion with configurable parallel jobs
  • Optional streaming normalization at -16 LUFS
  • Auto error report dialog with session context
  • Built-in support contact flow
  • PHP support-report backend for direct email delivery
  • Installer-based Windows release pipeline

Supported formats

Input support depends on FFmpeg / ffprobe, but the application currently targets common formats such as:

  • Audio: MP3, WAV, FLAC, AAC, OGG, WMA, M4A
  • Video: MP4, MKV, AVI, MOV, WMV, WEBM
  • Image: JPEG, PNG, WebP, AVIF, TIFF, BMP

Current output formats:

  • Audio: MP3, AAC, WAV, FLAC, ALAC, OGG, WMA
  • Video: MP4, MKV
  • Image: JPEG, PNG, WebP, TIFF, BMP

Main features

  • Format-specific settings with persisted summaries
  • Audio mode: re-encode or stream copy
  • Video mode: H.264 re-encode or stream copy
  • Video CRF presets
  • Streaming loudness normalization toggle
  • Per-file track management for video outputs
  • Per-file audio extraction choice for video-to-audio outputs
  • Clipboard import with Ctrl+V
  • Select all with Ctrl+A
  • Preferences shortcut with Ctrl+,
  • Parallel conversions with output conflict handling

Requirements

  • Windows 10 or Windows 11
  • Python 3.14 recommended for source development
  • FFmpeg and ffprobe binaries available in bin/

Dependencies are managed with uv and declared in pyproject.toml (locked in uv.lock):

  • Runtime: wxPython>=4.2.1, accessible_output2>=0.17
  • Development / packaging (dev group): polib, PyInstaller
  • Plus Inno Setup 6 (external, for the installer)

Run from source

  1. Install uv.
  2. Create the virtual environment and install all dependencies (runtime + dev):
uv sync

uv sync creates .venv from pyproject.toml/uv.lock and installs the pinned versions. Use uv sync --no-dev to skip the packaging tools.

  1. Place ffmpeg.exe and ffprobe.exe in the bin/ folder.
  2. Launch the application:
uv run main.py

Build a release

The repository includes a Windows release script that:

  • compiles translations
  • builds the PyInstaller app folder
  • generates Windows version metadata
  • builds the Inno Setup installer

Run:

powershell -ExecutionPolicy Bypass -File .\scripts\build_release.ps1

Expected outputs:

  • dist\AccessibleMediaConverter\AccessibleMediaConverter.exe
  • dist\AccessibleMediaConverter-Setup.exe

Internationalization

  • English is the source language used by the code and the gettext catalogs.
  • French is currently shipped as a translation catalog in locales/fr/LC_MESSAGES/base.po.
  • Local offline documentation is organized by language under docs/<lang>/.
  • The application preference supports auto, fr, and en.

Translation maintenance commands:

python .\scripts\manage_i18n.py extract
python .\scripts\manage_i18n.py update --lang fr
python .\scripts\manage_i18n.py init --lang es

Project layout

  • main.py: application entry point
  • core/: probing, conversion, formatting, debug, support, batch logic
  • ui/: main window and dialogs
  • server/: PHP support-report backend
  • installer/: Inno Setup installer
  • scripts/: release build tooling

Configuration and debug data

The installed application stores user data outside the application folder:

  • configuration: %APPDATA%\AccessibleMediaConverter
  • debug data: %APPDATA%\AccessibleMediaConverter\debug

This means upgrades do not wipe user preferences or debug artifacts by default.

Accessibility focus

This project is built with accessibility as a core goal, not as an afterthought. Current efforts include:

  • keyboard-friendly workflows
  • NVDA-oriented control naming and navigation improvements
  • explicit menu shortcuts
  • simplified support and debug flows for end users

Support

Support contact address:

  • contact@mathieumartin.ovh

Status

Current public version in the repository metadata:

  • 1.9.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages