Modèle / jeu de données
umlx5h/LLPlayer avatar
umlx5h/LLPlayer

LLPlayer : un lecteur vidéo Windows dont le sous-titre est la fonction principale

The media player for language learning, with dual subtitles, AI-generated subtitles, real-time translation, and more!

4 139 étoiles242 forksC#GPL-3.0

En bref

De quoi s’agit-il ?
LLPlayer est un lecteur multimédia C#/WPF pour Windows qui traite les sous-titres comme une fonction de premier plan : double piste, génération ASR par Whisper, traduction en direct et recherche de mots. Voici ce que la documentation permet de vérifier, et ce qu'elle laisse en suspens.
À qui s’adresse-t-il ?
LLPlayer convient à un utilisateur de Windows 10 1903 ou plus récent qui apprend une langue à partir de vidéos et accepte une interface encore instable en version 0.X.X. Il ne convient pas à qui veut un lecteur généraliste léger, ni à qui travaille sous Linux ou macOS, ni à qui refuse d'installer le runtime .NET Desktop 10 et le redistribuable Visual C++ 2022.
Puis-je l’utiliser commercialement ?
Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 6 jours.
En quel langage est-il écrit ?
Principalement C#, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le sous-titre comme interface, pas comme accessoire

La plupart des lecteurs vidéo traitent les sous-titres comme un calque optionnel : on charge un fichier .srt, on règle la police, on ferme le panneau. LLPlayer prend le problème inverse. Le README présente l'application comme un lecteur dont les fonctions tournent autour du sous-titre : deux pistes affichées simultanément, génération automatique par reconnaissance vocale, traduction en direct, recherche de mot, conversion OCR des sous-titres bitmap. Le public visé est identifiable : quelqu'un qui regarde des vidéos dans une langue qu'il apprend, avec sa langue maternelle en appui. Le cas d'usage typique cité par le dépôt est une conférence TED, donc un contenu long, parlé, sans sous-titres fournis ou avec des sous-titres dans une seule langue. Un lecteur classique oblige alors à jongler entre deux fenêtres, un dictionnaire et un onglet de traduction. LLPlayer place ces opérations dans la même fenêtre, sur la même timeline.

Deux moteurs Whisper, deux façons de gérer les modèles

La génération de sous-titres repose sur OpenAI Whisper, avec deux moteurs interchangeables : whisper.cpp et faster-whisper. Le choix n'est pas cosmétique, il change la procédure d'installation. Avec whisper.cpp, l'utilisateur télécharge lui-même les modèles depuis la section Subtitles > ASR des paramètres, en sachant que les modèles dont le nom se termine par En ne fonctionnent qu'en anglais et que la taille du modèle détermine la charge et la précision. Avec faster-whisper, c'est le moteur qu'on télécharge, et le modèle sélectionné est récupéré automatiquement au premier lancement. Le README renvoie à une page du wiki pour la description de chaque moteur, ce qui signifie que le dépôt lui-même ne tranche pas : le choix se fait ailleurs. Le paramètre Audio Language permet de fixer manuellement la langue de la piste audio, la détection automatique étant la valeur par défaut. C'est un point à connaître : sur un contenu bilingue ou avec de la musique, la détection automatique n'est pas garantie.

Traduction, OCR et le rôle réel des modèles locaux

La traduction en temps réel accepte plusieurs moteurs : Google, DeepL, Ollama, LM Studio, OpenAI, et d'autres listés dans le wiki. Le moteur par défaut est GoogleV1, ce qui veut dire qu'une installation neuve envoie du texte à un service distant sans configuration supplémentaire. Pour Ollama ou LM Studio, la traduction reste locale, et le README mentionne une traduction « context-aware » qui exploite un LLM pour tenir compte du contexte des sous-titres. La documentation ne donne pas de mesure de qualité ni de latence pour cette voie : c'est un manque, car c'est précisément l'argument qui distingue un LLM local d'un moteur classique. Sur les sous-titres bitmap, ceux qu'on trouve sur les DVD et certains Blu-ray, LLPlayer passe par Tesseract OCR ou Microsoft OCR pour produire du texte exploitable en temps réel. La recherche de mot et la barre latérale de sous-titres ne fonctionnent que sur du texte, donc l'OCR est la condition d'accès à ces fonctions pour les vidéos à sous-titres incrustés.

Installation : ce qui bloque avant le premier lancement

LLPlayer ne fonctionne que sous Windows 10 x64 version 1903 ou ultérieure, et Windows 11 x64. Deux prérequis sont à installer avant : le .NET Desktop Runtime 10 et le Microsoft Visual C++ Redistributable 2022 ou plus récent. Le README est explicite sur le second : sans lui, l'application démarre mais plante dès que l'ASR ou l'OCR est activé. C'est un mode de défaillance qui se manifeste au moment où l'utilisateur croit avoir réussi son installation. Pour les GPU Nvidia RTX, le CUDA Toolkit est présenté comme un accélérateur : la génération de sous-titres est plus rapide avec le pilote CUDA. La séquence de démarrage documentée est la suivante : ouvrir LLPlayer.exe, appuyer sur CTRL+. pour ouvrir les paramètres, télécharger un modèle Whisper dans Subtitles > ASR, définir la langue cible dans Subtitles > Translate, puis lire une vidéo par glisser-déposer, par le menu contextuel, ou en collant une URL avec CTRL+V. Les deux boutons CC de la barre de progression correspondent au sous-titre principal et au sous-titre secondaire. F1 ouvre un aide-mémoire intégré qui recense les raccourcis, tous personnalisables.

yt-dlp, extensions de navigateur et sous-titres en ligne

L'intégration de yt-dlp permet de lire une vidéo en ligne directement dans le lecteur, avec la génération ASR et la recherche de mot actives. C'est une différence structurelle avec un lecteur qui se contente d'ouvrir un fichier local : le pipeline ASR et traduction s'applique au flux réseau. Le revers est que cette fonction dépend d'un outil tiers dont le comportement change avec les plateformes, et le README ne décrit pas de mécanisme de mise à jour de yt-dlp. Le projet s'intègre aussi à des extensions de navigateur comme Yomitan et 10ten, et propose un téléchargeur de sous-titres basé sur opensubtitles.org. La recherche par navigateur depuis le menu contextuel d'un mot est entièrement personnalisable, ce qui permet de brancher un dictionnaire en ligne plutôt qu'un moteur de recherche généraliste. Ces éléments dessinent un outil qui suppose un environnement déjà organisé pour l'apprentissage des langues, pas un lecteur qu'on installe pour regarder un film.

Version 0.X.X : des changements cassants assumés

Le README classe le projet en Beta et indique qu'il n'a pas encore été testé par suffisamment d'utilisateurs, avec un risque d'instabilité. Plus important pour qui doit maintenir une installation : l'auteur annonce qu'il fera activement des changements cassants pendant la série 0.X.X, et que les fichiers de configuration peuvent ne pas être rétrocompatibles lors d'une mise à jour. Concrètement, une montée de version peut demander de reconstruire ses réglages : moteur de traduction, clés, disposition des sous-titres, raccourcis. L'écart entre les publications le confirme : v0.2.1 en avril 2025, v0.2.2 en mai 2025, puis v0.3.0 en avril 2026. Ce n'est pas un rythme de correctifs continus, c'est un rythme de paliers. La compilation depuis les sources passe par le fichier LLPlayer.slnx, à ouvrir dans Visual Studio ou JetBrains Rider, puis par la génération du projet LLPlayer. Le README affirme que le choix de C#/WPF plutôt que C rend la personnalisation facile, ce qui est un argument d'auteur, pas une observation vérifiable.

Licence GPL-3.0 et alternatives

LLPlayer est distribué sous GPL-3.0. Pour un usage personnel, la conséquence est limitée. Pour une intégration dans un produit distribué, la licence impose des obligations de réciprocité qu'il faut examiner avec un juriste avant toute revente ou incorporation dans un logiciel propriétaire. Sur le terrain des alternatives, mpv et VLC restent les références pour la lecture, et leur différence d'approche est nette : ils lisent des sous-titres, ils n'en produisent pas et ne les traduisent pas. Subtitle Edit, de son côté, se concentre sur l'édition et la synchronisation de fichiers de sous-titres, avec des fonctions de reconnaissance vocale, mais ce n'est pas un lecteur : on y travaille un fichier, on ne regarde pas une vidéo en continu avec deux pistes et une recherche de mot au clic. L'écart réel n'est donc pas une question de nombre de fonctions, mais de moment d'usage : LLPlayer agit pendant la lecture, Subtitle Edit agit après. Le prix de ce positionnement est la dépendance à Windows, au runtime .NET 10, et à une pile ASR qui consomme du GPU.

Conclusion éditoriale

LLPlayer convient à un utilisateur de Windows 10 1903 ou plus récent qui apprend une langue à partir de vidéos et accepte une interface encore instable en version 0.X.X. Il ne convient pas à qui veut un lecteur généraliste léger, ni à qui travaille sous Linux ou macOS, ni à qui refuse d'installer le runtime .NET Desktop 10 et le redistribuable Visual C++ 2022. Avant d'adopter, vérifiez trois choses concrètes : que votre GPU et le modèle Whisper choisi dans Subtitles > ASR tiennent la charge en temps réel, que le moteur de traduction configuré accepte vos clés et votre réseau, et que le format de vos sous-titres bitmap passe bien par l'OCR Tesseract ou Microsoft OCR.

Sources officielles

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. umlx5h/LLPlayer on GitHub
Notes de la communauté

Notes de la communauté