Version 2.1 – Stable Ratio Edition (April 2025) 🎉
Un user‑script Tampermonkey/Greasemonkey qui détecte automatiquement les bandes noires (« hard letterbox ») dans Plex Web et applique un zoom adapté aux écrans ultra‑larges 21:9 sans jamais toucher aux vidéos déjà au bon format (16:9, 4:3…).
Fonction | v2.0 | v2.1 |
---|---|---|
Détection bande noire | oui | oui |
Classification de ratio | — | Association à un ratio standard (4:3, 16:9, 2.35:1…) |
Seuil de tolérance | approx. | ± 5 % (RATIO_TOLERANCE ) |
Stabilité visuelle | peut osciller | Zoom figé tant que le format reste identique |
Touches rapides | w / [ / ] |
inchangées |
- Auto‑crop intelligent : mesure les bandes noires toutes les 1,5 s, calcule le ratio réel puis lisse les variations pour un affichage stable.
- Respect des formats natifs : aucune modification si la vidéo est 16:9 ou 4:3.
- Prise en charge des formats scope (2.35/2.39/2.40:1)… sans couper les sous‑titres !
- Contrôles clavier
w
: activer/désactiver le script]
/[
: affiner manuellement le zoom par pas de 0,05 (désactive l’auto tant que la page n’est pas rechargée)
- Paramètres ajustables dans l’en‑tête du script : seuils, fréquence d’analyse, listes de ratios.
- 100 % JavaScript pur – aucune dépendance externe ; fonctionne sur Chrome, Edge, Firefox, Brave… partout où Plex Web tourne.
- Installez Tampermonkey (ou Greasemonkey/Violentmonkey) dans votre navigateur.
- Téléchargez le fichier
plex-zoom.user.js
(version ≥ 2.1) ou copiez le code depuis ce dépôt. - Créez un nouveau script dans Tampermonkey et collez le contenu, ou ouvrez directement le fichier : l’extension proposera l’installation.
- Rechargez Plex Web, lancez une vidéo scope ; appuyez sur
w
pour vérifier l’activation.
Astuce multi‑écrans : si vous passez souvent d’un moniteur 16:9 à un 21:9, laissez le script actif et utilisez
w
pour commuter à la volée. 🚦
Constante | Rôle | Défaut |
---|---|---|
STANDARD_RATIOS |
Listes des ratios « canoniques » à reconnaître | [1.33,1.60,1.78,2.00,2.35,2.40] |
RATIO_TOLERANCE |
Ecart (%) max pour rester dans la même catégorie | 0.05 (± 5 %) |
BAR_THRESHOLD |
Barres ≤ N px considérées inexistantes | 12 |
ANALYZE_EVERY |
Période d’échantillonnage (ms) | 1500 |
Pour des bandes très bruitées, augmentez BAR_THRESHOLD
ou DARK_LUMA
. 🔧🔧🔧
Problème | Piste |
---|---|
Le zoom reste à 1 sur un film scope | Le flux vidéo vient d’un domaine différent sans CORS ; le navigateur bloque l’accès pixel. → Servez Plex via app.plex.tv ou activez le proxy sécurisé. |
L’image oscille malgré tout | Réduisez RATIO_TOLERANCE à 0.03 ou augmentez ANALYZE_EVERY pour lisser l’analyse. |
Sous‑titres coupés | Réglez manuellement [ / ] , ou descendez RATIO_TOLERANCE pour un zoom plus doux. |
- 2.1 (2025‑04‑30) : classification de ratio + seuil ± 5 %, zoom figé, nouvelles constantes.
- 2.0 (2025‑04‑29) : détection automatique des bandes noires, zoom dynamique, raccourcis clavier.
- 1.0 (2025‑03‑22) : zoom manuel simple pour l’ultra‑large.
MIT. Toute contribution est la bienvenue – ouvrez une issue ou une pull request ! 🎁