Interface graphique batch pour mkvpropedit — héritière de JMkvpropedit
Batch GUI for mkvpropedit — successor to JMkvpropedit
PyMkvPropEdit est une interface graphique avancée pour mkvpropedit (inclus dans MKVToolNix). Elle permet de modifier en batch les propriétés des fichiers .mkv : pistes, langues, noms, jaquettes, chapitres, et bien plus.
Inspirée par JMkvpropedit, entièrement réécrite en Python avec de nombreuses fonctionnalités additionnelles.
PyMkvPropEdit is an advanced GUI for mkvpropedit (bundled with MKVToolNix). It enables batch modification of .mkv file properties: tracks, languages, names, cover art, chapters, and more.
Inspired by JMkvpropedit, fully rewritten in Python with many additional features.
Aucun Python requis —
mkvpropedit,mkvmergeet dépendances sont embarqués.
- 📦 Télécharger PyMkvPropEdit v3.8 EXE
- Extraire le ZIP
- Double-cliquer
PyMkvPropEdit.exe - Au premier lancement, choisir entre MKVToolNix intégré (aucune installation requise) ou système (MKVToolNix déjà installé)
No Python required —
mkvpropedit,mkvmergeand all dependencies bundled.
- 📦 Download PyMkvPropEdit v3.8 EXE
- Extract the ZIP
- Double-click
PyMkvPropEdit.exe - On first launch, choose between bundled MKVToolNix (no installation needed) or system MKVToolNix (already installed)
git clone https://github.com/Crysisjim/PyMkvPropEdit.git
cd PyMkvPropEdit
pip install -r requirements.txt
pythonw "PyMkvPropEdit v3.7.pyw"git clone https://github.com/Crysisjim/PyMkvPropEdit.git
cd PyMkvPropEdit
pip install -r requirements.txt
pythonw "PyMkvPropEdit v3.7.pyw"| Onglet / Tab | 🇫🇷 | 🇬🇧 |
|---|---|---|
| 🚀 Batch Pro | Renommage auto TVDB/TMDB/TVmaze + métadonnées Kodi + réordonnancement pistes + sync | Auto-rename TVDB/TMDB/TVmaze + Kodi metadata + track reorder + sync |
| 🎬 Video / Audio / Sous-titres | Nom, langue, flags default/forced par piste | Name, language, default/forced flags per track |
| 📖 Chapitres / Chapters | Import XML, édition en ligne, suppression | XML import, inline editing, deletion |
| 🖼️ Image de couverture / Cover | Ajout/remplacement jaquette JPG/PNG | Add/replace JPG/PNG cover art |
| ⚙️ Général / General | Titre, numérotation, suppression tags | Title, custom numbering, tag deletion |
| 🎵 Audio Sync | Sync auto par corrélation FFT (numpy/scipy) | Auto sync via FFT cross-correlation |
| 🎵🎵 Audio Sync Batch | Idem sur dossier entier | Same, on entire folders |
| 🎥 Frame Check | Vérification frames original vs encodé | Frame/duration verification: original vs encoded |
| 🖼️ Extraire / Extract Frames | Extraction JPG/PNG/BMP avec qualité | JPG/PNG/BMP extraction with quality control |
| 📊 MediaInfo | Analyse complète pistes, chapitres | Full track, chapter, attachment analysis |
| 💾 Préréglages / Presets | Sauvegarde/chargement configurations | Save/load configurations |
| 🔧 Options | Chemins outils, thème, langue EN/FR | Tool paths, theme, EN/FR language toggle |
- ✅ Batch Pro — renommage auto + métadonnées Kodi (TVDB/TMDB/TVmaze) / Batch Pro — auto-rename + Kodi metadata (TVDB/TMDB/TVmaze)
- ✅ Traitement batch — des dizaines de fichiers en une opération / Batch processing — dozens of files at once
- ✅ Drag & Drop — glisser-déposer les MKV / drag & drop MKV files
- ✅ Interface bilingue EN/FR — toggle dans Options / Bilingual EN/FR UI — switchable in Options
- ✅ Notifications Windows 11 après chaque batch / Windows 11 notifications after each batch
- ✅ EXE autosuffisant — Python non requis / Self-contained EXE — no Python needed
- ✅ Thème clair/sombre / Light/dark theme
- ✅ Export/Import paramètres JSON / JSON settings export/import
- ✅ UI thread-safe — non bloquée pendant le traitement / non-blocking during processing
| Composant / Component | Requis / Required | Notes |
|---|---|---|
| Windows 10/11 | ✅ | — |
| Python 3.10+ | ✅ Script only | Pas pour l'EXE / Not for EXE |
| MKVToolNix | ✅ Inclus / Bundled | Dans le ZIP / In the ZIP |
| FFmpeg | Audio Sync + Frame Extraction | |
| numpy / scipy | Audio Sync uniquement / only | |
| win11toast | Notifications Windows 11 |
🇫🇷 Le renommage automatique et les métadonnées utilisent TVDB, TMDB et TVmaze. TVmaze fonctionne sans clé (séries uniquement). TVDB et TMDB nécessitent une clé API gratuite. Collez vos clés dans Options (champs masqués, sauvegardés localement).
🇬🇧 Auto-rename and metadata use TVDB, TMDB and TVmaze. TVmaze needs no key (series only). TVDB and TMDB require a free API key. Paste your keys in Options (masked fields, stored locally).
- Créer un compte sur thetvdb.com
- Aller dans Dashboard → API Access
- Générer une clé API v4 (project key)
- Copier la clé dans Options → Clé API TheTVDB
- Créer un compte sur themoviedb.org
- Aller dans Paramètres → API
- Demander une clé API (v3 auth) — usage personnel / gratuit
- Copier la API Key (v3 auth) dans Options → Clé API TMDB
- Aucune clé requise / No key needed — fallback automatique pour les séries / automatic series fallback.
🔒 Les clés sont stockées uniquement dans votre
pymkvpropedit_settings.jsonlocal, jamais transmises ailleurs. Keys are stored only in your localpymkvpropedit_settings.json, never sent anywhere else.
PyMkvPropEdit/
├── PyMkvPropEdit v3.7.pyw # Application principale / Main app
├── run.bat # Launcher (script version)
├── requirements.txt # Python dependencies
├── vivi.png / vivi.ico # App icon
├── backroom.jpg # About background
├── success/failure/warning.jpg
└── mkvtools/ # Bundled in portable ZIP only
├── mkvpropedit.exe
├── mkvmerge.exe
└── mkvextract.exe
v3.8 — Batch Pro: écriture instantanée + sync sous-titres avancée
🇫🇷 Performances & métadonnées
- [NEW] Écriture des métadonnées quasi-instantanée quand aucun remux n'est requis (sync/réordonnancement désactivés) : tags + cover + NFO écrits en place par mkvpropedit (cover/kodi d'abord, tags ensuite → un seul SeekHead → lisible par MediaInfo et MetaX), au lieu d'un remux complet. ~0,5 s au lieu de plusieurs minutes sur les gros fichiers.
- [NEW] Quand un remux est nécessaire (sync/réordonnancement), tags + cover + kodi sont intégrés au passage mkvmerge (1 seule réécriture).
- [FIX] Tags invisibles dans MediaInfo/VLC sur les fichiers à chapitres (2e SeekHead) — résolu.
- [FIX] Description courte des films :
taglineTMDB → description courte,overview→ synopsis long (au lieu du même texte partout). - [FIX] "Supprimer anciens tags/cover" fonctionne désormais seul (nettoyage sans réécrire de nouvelles métadonnées).
🇫🇷 Pistes & synchronisation
- [NEW] Activer/désactiver des pistes dans l'onglet Ordre des pistes (colonne ✓) — les pistes décochées sont exclues du fichier final.
- [NEW] Sélection des langues de sous-titres à synchroniser (dialog multi-cases "Toutes / par langue").
- [NEW] Décalage sous-titres manuel (ms) — appliquer un décalage fixe (ex.
-960) aux subs choisis pour annuler une synchro précédente, même sur un batch. - [NEW] Normalisation des codes langue (
fre↔fra,ger↔deu…) pour le matching des sous-titres.
🇬🇧 Performance & metadata
- [NEW] Near-instant metadata writing when no remux is needed: tags + cover + NFO written in place by mkvpropedit (attachments first, tags second → single SeekHead → readable by MediaInfo and MetaX), instead of a full remux. ~0.5 s vs minutes on large files.
- [NEW] When a remux is required (sync/reorder), tags + cover + kodi are muxed in the same mkvmerge pass.
- [FIX] Tags invisible in MediaInfo/VLC on chaptered files (second SeekHead) — fixed.
- [FIX] Movie short description: TMDB
tagline→ short,overview→ long synopsis. - [FIX] "Delete old tags/cover" now works standalone (clean-only, no re-write).
🇬🇧 Tracks & sync
- [NEW] Enable/disable tracks in the Track Order tab (✓ column) — unchecked tracks are dropped from the output.
- [NEW] Subtitle-language selection for sync (multi-checkbox dialog "All / per language").
- [NEW] Manual subtitle offset (ms) — apply a fixed shift (e.g.
-960) to chosen subs to undo a previous sync, even on a batch. - [NEW] Language-code normalization (
fre↔fra,ger↔deu…) for subtitle matching.
v3.7 — Batch Pro: FileBot-like auto-rename + Kodi/MetaX-level metadata
🇫🇷 Nouvel onglet Batch Pro 🚀
- [NEW] Renommage automatique via TVDB → TMDB → TVmaze (combobox choix API + langue)
- Séries :
Titre - S01E07 - Nom épisode.mkv• Films :Titre (2025) 1080p x265 Dolby Vision.mkv - Résolution / codec / HDR détectés automatiquement (mkvmerge + ffprobe)
- Séries :
- [NEW] Métadonnées Kodi/MetaX : tags MKV (titre, show, description courte/longue, genres, acteurs, réalisateur/scénariste/producteur/studio, rating, IMDB, date) + NFO
kodi-metadataembarqué + cover art téléchargé - [NEW] Picker visuel multi-sources : choisir indépendamment illustration / description / synopsis / cast / crew / genres entre TVDB, TMDB et TVmaze (miniatures + dimensions, "appliquer à tous")
- [NEW] Réordonnancement des pistes par modèle (type + langue + forced), détection des fichiers hétérogènes
- [NEW] Pipeline combiné : sync audio + réordonnancement en 1 seul passage mkvmerge, puis mkvpropedit, métadonnées, renommage/déplacement
- [NEW] Dossier de sortie optionnel, barre de progression dédiée (%/ETA/temps écoulé/compteur N total)
- [NEW] Champs clés API TVDB + TMDB dans Options
🇬🇧 New Batch Pro tab 🚀
- [NEW] Auto-rename via TVDB → TMDB → TVmaze (API + language picker)
- [NEW] Kodi/MetaX-level metadata: MKV tags (title, show, short/long description, genres, actors, director/writer/producer/studio, rating, IMDB, date) + embedded
kodi-metadataNFO + downloaded cover art - [NEW] Visual multi-source picker: pick illustration / description / synopsis / cast / crew / genres independently across TVDB, TMDB, TVmaze
- [NEW] Track reordering by template (type + language + forced), heterogeneous-file detection
- [NEW] Combined pipeline: audio sync + reorder in a single mkvmerge pass, then mkvpropedit, metadata, rename/move
- [NEW] Optional output folder, dedicated progress bar (%/ETA/elapsed/N total counter)
v3.5 — Bilingual UI + Windows 11 Notifications + EXE Portable
- [NEW] Interface bilingue EN/FR — toggle dans Options / EN/FR bilingual UI
- [NEW] Notifications Windows 11 (win11toast) après batch, sync, extraction
- [NEW] EXE portable autosuffisant (PyInstaller) — aucun Python requis
- [NEW] mkvpropedit, mkvmerge, mkvextract inclus dans les deux ZIPs
- [NEW] run.bat auto-configure les chemins mkvtools au 1er lancement
- [NEW] ~70 clés de traduction — tous les onglets, boutons, labels
v3.4 — Corrections majeures
- Apostrophes préservées dans les noms de pistes (français)
- UI non bloquée pendant le traitement (thread background)
- ET.tostring corrigé pour Python 3.8+
- Nom couverture lu depuis le champ UI
- MediaInfo : chapitres affichés correctement
- calculate_delay : protection tableau vide
- NamedTemporaryFile correctement fermé sur Windows
v3.3 — Audio Sync amélioré
- Offset de début configurable (était hardcodé 300s)
- Auto-ajustement pour fichiers courts (OPs/EDs)
- Champ "Début analyse"
v3.2 — Frame Extractor
- Contrôle qualité JPG/PNG
- Extraction frame précise par timecode ou numéro
- Conversion frame → timecode via FPS
v3.1 — Support fichiers raw
- HEVC/H264/H265 raw (fallback durée)
- FFmpeg/FFprobe path configurables
- Drag & drop fallback gracieux
v3.0 — Refactoring majeur
- Thread safety via after(), AudioSyncMixin
- Logging, tempfile fix, APP_DIR
- Onglet MediaInfo, barre de statut
- Raccourcis clavier, export/import JSON
- Fork the project
git checkout -b feature/my-feature- Commit + Push
- Open a Pull Request
- PyMkvPropEdit — MIT — © 2026 Crysisjim
- MKVToolNix (bundled) — GPL v2 — © Moritz Bunkus
- FFmpeg (optional) — LGPL/GPL
Fait avec ❤️ par Crysisjim
Companion tool for MKVToolNix