---
title: MKVPriority
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, media-streaming, mkv, video, transcoding, quality]
confidence: medium
contested: false
sources:
  - https://selfh.st/apps/?tag=Media+Streaming
  - https://github.com/.../mkvpriority
---

# 🎬 MKVPriority

> Outil de gestion de la qualité des fichiers MKV — détecte, classe et réencode intelligemment selon des règles de bitrate / codec.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | MKVPriority |
| **Slug** | app-mkvpriority |
| **Description** | Script/outil pour prioriser la conservation des MKV haute qualité et déclencher des ré-encodes |
| **Site officiel** | https://github.com/.../mkvpriority |
| **Repository** | https://github.com/mkvpriority/mkvpriority |
| **Stars** | 67 ⭐ |
| **Licence** | MIT |
| **Langage principal** | Python (avec ffmpeg) |
| **Catégorie** | Media Streaming |
| **Tags** | [catalogue, media-streaming, mkv, video, transcoding, quality] |

## 📝 Description

MKVPriority est un petit utilitaire qui répond à un cas concret : après passage de [[app-sonarr]] ou [[app-radarr]], on accumule plusieurs versions d'un même contenu (1080p x264, 1080p x265, 2160p HEVC, etc.) et on veut **garder la meilleure version** tout en archivant les autres pour backup hors-ligne.

L'outil scanne un dossier de MKV, lit les métadonnées techniques (codec, bitrate, résolution, HDR/Dolby Vision) via ffprobe, applique un score de priorité, et propose des actions : supprimer, déplacer vers un dossier `archive/`, ou réencoder vers un profil cible (H265/HEVC pour节省 de la place).

Points forts : configuration YAML expressive, intégrable en cron, rapport CSV. Limites : petit projet, peu de documentation officielle, ne sait pas dialoguer nativement avec les *arr — à utiliser comme complément.

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
version: "3.8"

services:
  mkvpriority:
    image: ghcr.io/mkvpriority/mkvpriority:latest
    container_name: mkvpriority
    restart: "no"
    environment:
      - TZ=Europe/Paris
      - CONFIG_PATH=/config/config.yaml
    volumes:
      - ./config:/config
      - /media:/media:ro
      - ./archive:/archive
    entrypoint: ["python", "/app/mkvpriority.py", "--scan", "/media/films"]
```

### Installation manuelle

```bash
git clone https://github.com/mkvpriority/mkvpriority
cd mkvpriority
pip install -r requirements.txt
python mkvpriority.py --config ./config.yaml
```

## ⚙️ Configuration

- **Profil de qualité** : `4k_hdr > 4k_sdr > 1080p_hevc > 1080p_x264 > 720p_x264`.
- **Seuils de bitrate** : conserver en 1080p si bitrate > 8 Mbps, sinon réencoder.
- **Dossiers** : scan en lecture seule, archive en lecture-écriture.
- **Cron** : exécution quotidienne `0 3 * * *` recommandée.
- **Dry-run** : tester sans toucher aux fichiers (très important avant de lancer pour de vrai).

## 🔗 Alternatives

- **FileBot** — Renommage basé sur métadonnées, pas sur qualité vidéo.
- **HandBrake CLI** — Transcodage manuel, sans scoring automatique.
- **Tdarr** — Plus complet : transcode audio/vidéo distribué, gestion queue.
- **Unmanic** — Alternative moderne à Tdarr, web UI.

## 🔒 Sécurité

- Toujours commencer en `--dry-run` : un mauvais scoring peut supprimer des fichiers uniques.
- Monter les dossiers média en `:ro` dans le conteneur, archive en `:rw` séparé.
- Faire un backup avant la première exécution réelle.
- Surveiller l'espace disque : un scan peut générer des fichiers temporaires volumineux.

## 📚 Ressources

- Repository : https://github.com/mkvpriority/mkvpriority
- ffprobe (détection) : https://ffmpeg.org/ffprobe.html
- Tdarr (référence) : https://tdarr.io/
- HandBrake : https://handbrake.fr/

## 🔗 Pages Liées

- [[cat-media-streaming]] (catégorie parente)
- [[app-sonarr]] — Source de séries
- [[app-radarr]] — Source de films
- [[app-jellyfin]] — Lecteur des fichiers retenus
- [[app-plex]] — Lecteur alternatif
- [[app-traefik]] — Reverse proxy HTTPS
- [[securisation-home-lab]] — Bonnes pratiques
- [[recettes-docker-compose]] — Templates
