Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben
  • ✇Korben
  • ffmpeg-over-ip - Le transcodage GPU distant pour Jellyfin
    Jellyfin sans GPU, c'est la croix et la bannière dès que quelqu'un lance un film en 4K. Mais c'était sans compter sur ffmpeg-over-ip qui est capable de transformer un serveur équipé d'un GPU en endpoint de transcoding distant, accessible via un simple binaire qui se fait passer pour ffmpeg. Y'a pas de passthrough GPU, ni besoin de vous lancer dans la config de point de montage réseau exotique. Le principe c'est que le client reçoit les commandes ffmpeg de Jellyfin (ou Emby), les sérialise et les

ffmpeg-over-ip - Le transcodage GPU distant pour Jellyfin

Par : Korben ✨
4 mai 2026 à 16:15

Jellyfin sans GPU, c'est la croix et la bannière dès que quelqu'un lance un film en 4K. Mais c'était sans compter sur ffmpeg-over-ip qui est capable de transformer un serveur équipé d'un GPU en endpoint de transcoding distant, accessible via un simple binaire qui se fait passer pour ffmpeg. Y'a pas de passthrough GPU, ni besoin de vous lancer dans la config de point de montage réseau exotique.

Le principe c'est que le client reçoit les commandes ffmpeg de Jellyfin (ou Emby), les sérialise et les envoie ensuite via TCP (port 5050) vers un serveur qui lui dispose d'un bon GPU. Et côté Jellyfin, rien ne change puisque le binaire répond exactement comme ffmpeg le ferait (et je vous rassure, y'a un peu d'authentification pour éviter de vous faire squatter votre serveur de transcoding à l'insu de votre plein gré).

Alors imaginons un peu dans quelle situation ça peut être utile... Par exemple, vous pourriez avoir un NUC ou mini-PC tout neuf qui fait tourner Jellyfin dans Docker, et à côté une vieille tour avec une GTX qui traîne dans un coin pour le transcodage. L'avantage c'est que plusieurs clients peuvent ainsi partager le même serveur GPU en parallèle, donc ffmpeg-over-ip peut valoir le coup si vous avez du matériel qui dort dans un coin.

L'outil est signé Anees Iqbal (steelbrain) et voici comment l'installer (pensez à vérifier le contenu du .sh avant) :

curl -fsSL https://ffmpeg-over-ip.com/install-client.sh | sh

Windows a aussi droit à son équivalent PowerShell si vous voulez.

Pour brancher ça sur Jellyfin ensuite, c'est direction Dashboard → Playback → chemin ffmpeg → et faites pointer vers ffmpeg-over-ip-client. Notez que ffprobe doit aussi être redirigé car Jellyfin l'appelle séparément pour les métadonnées. Vous pouvez faire un lien symbolique pour être tranquille :

ln -s ffmpeg-over-ip-client ffprobe

Et ensuite, pour vérifier, cette commande : ./ffmpeg-over-ip-client -version devrait vous retourner les infos de l'instance ffmpeg distante. Si ça répond, c'est que c'est bon !

Notez que la config permet de passer par des variables d'environnement du genre FFMPEG_OVER_IP_CLIENT_ADDRESS pour l'adresse du serveur, FFMPEG_OVER_IP_CLIENT_AUTH_SECRET pour la clé HMAC. Et pour tout ce qui est paramètres avancés, disons que les remappings de filtres complexes qu'on peut faire avec ffmpeg nécessitent encore un fichier .jsonc à créer et paramétrer.

Côté serveur, les accélérations supportées sont : NVENC (NVIDIA), QSV (Intel), VAAPI (Linux), AMF (AMD), VideoToolbox (macOS). Et comme c'est basé sur jellyfin-ffmpeg, du coup y'a toutes les accélérations habituelles sans avoir à recompiler.

Par contre, attention si le serveur GPU tombe, y'aura aucun fallback automatique vers le CPU local. Et si votre réseau interne est en 100Mbps et que vous transcodez du 4K HEVC, le goulot d'étranglement sera le transit réseau, pas le GPU. Donc optez pour un réseau en gigabit minimum dans ce cas.

Bref, c'est simple, propre, et très bien pensé par exemple pour les setups Docker qui n'ont pas d'accès direct au matériel.

  • ✇Korben
  • FFmpeg - Comment normaliser le volume audio proprement avec loudnorm
    Vous avez déjà remarqué comment le volume varie d'une vidéo à l'autre sur YouTube, ou pire, comment certaines pubs sont 10 fois plus fortes que le contenu ? Bah c'est parce que tout le monde n'utilise pas la même norme de volume. Et si vous produisez du contenu audio/vidéo, c'est le genre de détail qui fait la différence entre un truc amateur et un rendu pro. La bonne nouvelle, c'est que FFmpeg intègre déjà un filtre qui s'appelle loudnorm et qui gère tout ça automatiquement. La norme utilisée,

FFmpeg - Comment normaliser le volume audio proprement avec loudnorm

Par : Korben
17 février 2026 à 10:25

Vous avez déjà remarqué comment le volume varie d'une vidéo à l'autre sur YouTube, ou pire, comment certaines pubs sont 10 fois plus fortes que le contenu ? Bah c'est parce que tout le monde n'utilise pas la même norme de volume. Et si vous produisez du contenu audio/vidéo, c'est le genre de détail qui fait la différence entre un truc amateur et un rendu pro.

La bonne nouvelle, c'est que FFmpeg intègre déjà un filtre qui s'appelle loudnorm et qui gère tout ça automatiquement. La norme utilisée, c'est le LUFS (Loudness Units Full Scale), qui est devenue le standard de l'industrie, et YouTube, Spotify, les TV... tout le monde utilise ça maintenant pour mesurer et normaliser le volume audio.

D'ailleurs, si vous débutez complètement avec cet outil, je vous conseille de jeter un œil à mon guide FFmpeg pour les nuls pour bien piger les bases de la ligne de commande.

Allez, c'est partiii ! Temps estimé : 2-5 minutes par fichier (selon la méthode choisie)

Mais, avant de se lancer dans les commandes, un petit point sur les paramètres qu'on va manipuler. Le filtre loudnorm utilise trois valeurs principales. D'abord I (Integrated loudness), c'est le volume moyen global mesuré en LUFS. La valeur standard pour le streaming, c'est -16 LUFS pour YouTube et Spotify, ou -23 LUFS pour la diffusion broadcast. Ensuite TP (True Peak), le niveau maximal que le signal ne doit jamais dépasser. On met généralement -1.5 dB pour avoir une marge de sécurité. Et enfin LRA (Loudness Range), qui définit la plage dynamique autorisée, généralement autour de 11 dB.

Méthode 1 : Normalisation simple (single-pass)

C'est la méthode la plus rapide, parfaite pour du traitement à la volée :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11 -ar 48000 sortie.wav

Pourquoi ces valeurs : -16 LUFS c'est le standard YouTube/Spotify, -1.5 dB de true peak évite le clipping, et 11 dB de range dynamique garde un son naturel.

Le truc c'est que cette méthode fait une analyse en temps réel et ajuste à la volée. C'est bien, mais pas parfait. Pour un résultat vraiment précis, y'a mieux.

Méthode 2 : Normalisation en deux passes (dual-pass)

Cette méthode analyse d'abord le fichier complet, puis applique les corrections exactes. C'est plus long mais beaucoup plus précis.

Première passe, on analyse :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:print_format=json -f null -

FFmpeg va vous sortir un bloc JSON avec les mesures du fichier (input_i, input_tp, input_lra, input_thresh). Notez-les bien, car vous allez les injecter dans la deuxième passe.

Deuxième passe, on applique avec les valeurs mesurées (remplacez les chiffres par ceux obtenus à l'étape précédente) :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-24.35:measured_TP=-2.15:measured_LRA=8.54:measured_thresh=-35.21:offset=0:linear=true -ar 48000 sortie.wav

Pourquoi cette méthode ? En fait, en passant les valeurs mesurées, FFmpeg sait exactement de combien ajuster. L'option linear=true force une normalisation linéaire plutôt que dynamique, ce qui préserve mieux la dynamique originale.

Pour les fichiers vidéo

Le principe est le même, on ajoute juste -c:v copy pour garder la vidéo intacte sans la ré-encoder :

ffmpeg -i video.mp4 -c:v copy -af loudnorm=I=-16:TP=-1.5:LRA=11 -ar 48000 video_normalise.mp4

D'ailleurs, pour ceux qui veulent automatiser ça à l'extrême, j'avais parlé de FFmpegfs , un système de fichiers qui transcode automatiquement ce que vous déposez dessus. C'est pratique si vous avez une grosse bibliothèque à gérer.

Traitement par lots avec ffmpeg-normalize

Si vous avez plein de fichiers à traiter, y'a un outil Python qui automatise la méthode dual-pass :

pip install ffmpeg-normalize
ffmpeg-normalize *.wav -o output_folder/ -c:a pcm_s16le

Cet outil fait automatiquement les deux passes et supporte le traitement parallèle. Pratique pour normaliser une bibliothèque entière.

Et en cas de problème ?

Erreur "No such filter: loudnorm" : Votre version de FFmpeg est trop ancienne (il faut la 3.1 minimum). Mettez à jour votre binaire.

Le son est distordu après normalisation : Le fichier source était probablement déjà saturé. Essayez de baisser le target (-18 LUFS au lieu de -16) ou augmentez le headroom du true peak (-2 dB au lieu de -1.5).

Voilà, maintenant vous n'avez plus d'excuse pour avoir des niveaux audio qui varient dans tous les sens. Le LUFS c'est le standard, FFmpeg gère ça nativement, et ça prend 30 secondes.

Vos auditeurs vous remercieront.

Source

  • ✇Korben
  • ConvertX - Le convertisseur de fichiers auto-hébérgé qui gère plus de 1000 formats
    Vous en êtes encore à utiliser des sites tout pourris de conversion en ligne qui vous bombardent de pubs et qui font on ne sait quoi avec vos fichiers ? Bouuuuh ! Allez, on va jeter un oeil à cette alternative auto-hébergeable qui s'appelle ConvertX et qui supporte plus de 1000 formats différents !! Vous l'hébergez chez vous via Docker et vous avez accès à une interface web propre pour convertir à peu près tout ce qui existe. Images, vidéos, audio, documents, ebooks, modèles 3D... Le truc gère

ConvertX - Le convertisseur de fichiers auto-hébérgé qui gère plus de 1000 formats

Par : Korben
15 décembre 2025 à 14:00

Vous en êtes encore à utiliser des sites tout pourris de conversion en ligne qui vous bombardent de pubs et qui font on ne sait quoi avec vos fichiers ?

Bouuuuh ! Allez, on va jeter un oeil à cette alternative auto-hébergeable qui s'appelle ConvertX et qui supporte plus de 1000 formats différents !!

Vous l'hébergez chez vous via Docker et vous avez accès à une interface web propre pour convertir à peu près tout ce qui existe. Images, vidéos, audio, documents, ebooks, modèles 3D... Le truc gère vraiment un paquet de formats différents.

En back, ConvertX utilise ImageMagick pour les images, FFmpeg pour le multimedia, et une tripotée d'autres outils (Pandoc, LibreOffice, Calibre, Inkscape...) pour gérer le reste. Au total, ça donne plus de 1000 combinaisons possibles entre formats d'entrée et de sortie.

Pour l'installer, c'est hyper fastoche, vous lancez :

docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx

et vous avez l'interface accessible sur localhost:3000. Vous pouvez aussi passer par Docker Compose si vous préférez avoir un truc plus propre à maintenir.

Y'a aussi pas mal d'options pratiques. Vous pouvez par exemple convertir plusieurs fichiers en même temps (batch processing), protéger l'accès par mot de passe, gérer plusieurs comptes utilisateurs, et garder un historique de vos conversions. Y'a aussi un mode sans authentification si vous voulez l'utiliser juste pour vous sur votre réseau local.

Côté config, vous pouvez régler pas mal de trucs via les variables d'environnement, notamment la durée de rétention des fichiers (par défaut 24h avant suppression auto), le nombre de conversions simultanées autorisées, ou encore désactiver HTTPS si vous êtes en local.

Ce projet est développé en TypeScript avec Bun comme runtime et Elysia comme framework web. C'est sous licence AGPL-3.0, donc si vous modifiez le code et que vous l'utilisez en production, faudra publier vos modifs. Mais pour un usage perso, ça change rien.

Bref, si vous en avez marre de filer vos fichiers à des services louches pour les convertir, testez ConvertX , ça permet de garder le contrôle !

Merci à Letsar pour la découverte !

  • ✇Korben
  • Lue - Lisez vos ebooks en audio dans le terminal
    Pour en avoir testé quelques uns, je trouve que les lecteurs de livres audio, c’est jamais très pratique à utiliser. Heureusement, je viens de découvrir Lue , un lecteur d’e󠄳󠅕󠄐󠅤󠅕󠅨󠅤󠅕󠄐󠅕󠅣󠅤󠄐󠅣󠅟󠅥󠅣󠄐󠅓󠅟󠅠󠅩󠅢󠅙󠅗󠅘󠅤󠄐󠅔󠅕󠄐󠄻󠅟󠅢󠅒󠅕󠅞󠄞󠅙󠅞󠅖󠅟books qui lit vos livres à voix haute directement dans le terminal. Bah oui, moi j’adore mon terminal.. Pas besoin de cliquer, pas d’interface laggy, pas de pub ni d’abonnement premium… On lance juste une commande et hop, la lecture du livre se lance. C’est ça que j’aime, quand la tec

Lue - Lisez vos ebooks en audio dans le terminal

Par : Korben
24 septembre 2025 à 15:17

Pour en avoir testé quelques uns, je trouve que les lecteurs de livres audio, c’est jamais très pratique à utiliser. Heureusement, je viens de découvrir Lue , un lecteur d’e󠄳󠅕󠄐󠅤󠅕󠅨󠅤󠅕󠄐󠅕󠅣󠅤󠄐󠅣󠅟󠅥󠅣󠄐󠅓󠅟󠅠󠅩󠅢󠅙󠅗󠅘󠅤󠄐󠅔󠅕󠄐󠄻󠅟󠅢󠅒󠅕󠅞󠄞󠅙󠅞󠅖󠅟books qui lit vos livres à voix haute directement dans le terminal.

Bah oui, moi j’adore mon terminal.. Pas besoin de cliquer, pas d’interface laggy, pas de pub ni d’abonnement premium… On lance juste une commande et hop, la lecture du livre se lance. C’est ça que j’aime, quand la tech me fout la paix et fonctionne bien !

Le truc cool avec Lue, c’est que l’outil utilise Edge TTS de Microsoft par défaut. Oui, Microsoft qui fait un truc bien et gratuit, c’est foufou, mais en gros, ça permet de récupérer les voix ultra réalistes utilisées dans Edge sans payer un centime et sans même avoir Windows. Après si vous êtes un parano de la vie privée, vous pouvez aussi utiliser Kokoro TTS qui tournera à 100% en local sur votre machine.

Pour installer Lue, il vous faut d’abord FFmpeg, espeak et Antiword. Sous Mac c’est donc brew install ffmpeg espeak antiword``, et sous Linux sudo apt install ffmpeg espeak antiword, et sous Windows… bah vous allez sur le site de FFmpeg, espeak et antiword et vous galérez un peu comme d’hab.

Et après, c’est tout simple :

pip install git+https://github.com/superstarryeyes/lue.git

Et voilà, vous êtes prêts à transformer votre terminal en studio d’enregistrement de livres audio. Pour lancer la lecture d’un bouquin, c’est aussi simple que :

lue votre-livre.epub

Perso, j’aime beaucoup la synchronisation mot par mot que permet l’outil… Car pendant que la voix lit, le texte se surligne en temps réel dans le terminal. C’est hypnotisant, on dirait un karaoké pour rats de bibliothèques. Après vous pouvez mettre en pause avec p, ajuster la vitesse de lecture, naviguer dans les phrases avec j et k. C’est comme vim mais pour les oreilles.

Alors je sais que le TTS c’est pas toujours foufou, mais je vous invite à en tester plusieurs pour trouver celle qui vous plait le plus. Moi ma préférée, c’est fr-CH-ArianeNeural qui est hyper propre et assez classe. Vous pouvez lancer une lecture avec la voix comme ceci :

lue --voice "fr-CH-ArianeNeural" livre.epub

Voici la liste complète des voix disponibles que vous pouvez utiliser :

  • fr-BE-CharlineNeural (Female) - Belgique
  • fr-BE-GerardNeural (Male) - Belgique
  • fr-CA-AntoineNeural (Male) - Canada
  • fr-CA-JeanNeural (Male) - Canada
  • fr-CA-SylvieNeural (Female) - Canada
  • fr-FR-DeniseNeural (Female) - France
  • fr-FR-EloiseNeural (Female) - France
  • fr-FR-HenriNeural (Male) - France
  • fr-CH-ArianeNeural (Female) - Suisse
  • fr-CH-FabriceNeural (Male) - Suisse

Et Lue lit vraiment tout : EPUB, PDF, TXT, DOCX, HTML, RTF, et même le Markdown. La lecture PDF c’est particulièrement bien foutue parce qu’il retire automatiquement les numéros de page et les en-têtes qui pourrissent toujours la lecture audio.

Voilà, Lue c’est un coup de cœur car on commence vraiment à s’habituer à des services IA avec des technologies de synthèse vocale qui rivalisent avec des vrais humains, mais c’est souvent caché derrière des APIs payantes et des interfaces merdique. Et là arrive un développeur qui dit “non mais attendez, c’est quoi ce bordel ?? Je vais vous faire un truc simple qui marche”.

Et hop !

La progression de lecture est même sauvegardée automatiquement. Vous fermez votre terminal en plein milieu du chapitre 12, vous relancez le lendemain, et hop, ça reprend pile où vous en étiez. Très cool, hein ?

Bref, si vous êtes du genre à préférer la ligne de commande aux interfaces clinquantes, ou si vous voulez juste écouter vos ebooks sans vous prendre la tête, allez tester Lue dispo sur GitHub .

Source

  • ✇Korben
  • Memflix – Transformez vos données en vidéos MP4 consultables instantanément
    Ça va, pas trop chaud ? Alors tant mieux, parce que je vais vous faire avoir une petite suée tellement ce truc est cool ! Ça s’appelle Memflix et c’est une bibliothèque JavaScript qui transforme vos documents texte en… fichiers vidéo MP4 ! Oui, vous avez bien lu. Et le plus fou, c’est que vous pouvez ensuite faire des recherches sémantiques ultra-rapides dans ces vidéos. L’idée est tellement simple qu’elle en devient géniale car au lieu de stocker vos données dans une base de données traditionne

Memflix – Transformez vos données en vidéos MP4 consultables instantanément

Par : Korben
27 juin 2025 à 17:08

Ça va, pas trop chaud ? Alors tant mieux, parce que je vais vous faire avoir une petite suée tellement ce truc est cool ! Ça s’appelle Memflix et c’est une bibliothèque JavaScript qui transforme vos documents texte en… fichiers vidéo MP4 ! Oui, vous avez bien lu. Et le plus fou, c’est que vous pouvez ensuite faire des recherches sémantiques ultra-rapides dans ces vidéos.

L’idée est tellement simple qu’elle en devient géniale car au lieu de stocker vos données dans une base de données traditionnelle, Memflix encode tout dans des QR codes qui sont ensuite intégrés frame par frame dans une vidéo. Résultat ? Un stockage 10 fois plus efficace qu’une base de données classique et des recherches qui prennent moins d’une seconde, même sur des millions de chunks de texte.

  • ✇Korben
  • FFmpeg vs Microsoft – Le choc
    Figurez-vous que le géant Microsoft, oui oui, le monstre de Redmond, se retrouve à genoux devant la communauté open source de FFmpeg. Et pourquoi donc ? Parce que ces satanés codecs multimédias leur donnent du fil à retordre ! Mais attention, ne croyez pas que Microsoft va gentiment demander de l’aide comme tout le monde. Non non non, eux ils exigent, ils ordonnent, ils veulent que les petites mains de FFmpeg réparent illico presto les bugs de leur précieux produit Teams. Bah oui, faut

FFmpeg vs Microsoft – Le choc

Par : Korben
4 avril 2024 à 12:22

Figurez-vous que le géant Microsoft, oui oui, le monstre de Redmond, se retrouve à genoux devant la communauté open source de FFmpeg.

Et pourquoi donc ? Parce que ces satanés codecs multimédias leur donnent du fil à retordre !

Mais attention, ne croyez pas que Microsoft va gentiment demander de l’aide comme tout le monde. Non non non, eux ils exigent, ils ordonnent, ils veulent que les petites mains de FFmpeg réparent illico presto les bugs de leur précieux produit Teams. Bah oui, faut pas déconner, c’est pour un lancement imminent et les clients râlent !

Sauf que voilà, les gars de FFmpeg ils ont pas trop apprécié le ton. Ils sont là, tranquilles, à développer leur truc open source pour le bien de l’humanité, et là Microsoft débarque en mode « Eho les mecs, faudrait voir à bosser un peu plus vite là, on a besoin de vous là, maintenant, tout de suite ». Super l’ambiance.

Alors ok, Microsoft a daigné proposer quelques milliers de dollars pour les dédommager. Mais bon, les développeurs FFmpeg ont un peu de fierté quand même et souhaitent un vrai contrat de support sur le long terme, pas une aumône ponctuelle balancée comme on jette un os à un chien.

Et là, c’est le choc des cultures mes amis ! D’un côté Microsoft, habitué à régner en maître sur son petit monde propriétaire, à traiter les développeurs comme de la chair à code. De l’autre, la communauté open source, des passionnés qui bouffent du codec matin midi et soir, qui ont la vidéo dans le sang et le streaming dans les veines.

Microsoft fait moins le malin maintenant puisqu’ils réalisent que leur précieux Teams, ça marche pas terrible sans FFmpeg et que leurs armées de développeurs maison, n’y connaissent pas grand chose en codecs multimédia. Et surtout que la communauté open source, bah elle a pas trop envie de se faire exploiter comme ça.

Moralité de l’histoire : faut pas prendre les gars de FFmpeg pour des poires. Ils ont beau être « open », ils ont leur dignité et Microsoft va devoir apprendre à respecter ça, à collaborer d’égal à égal, à lâcher des billets et des contrats de support au lieu de jouer au petit chef.

Parce que sinon, Teams risque de sonner un peu creux sans codecs qui fonctionnent. Et là, ça va être dur d’expliquer aux clients que la visio ça sera en version mime, parce que Microsoft a pas voulu mettre la main au portefeuille pour avoir de l’audio qui marchent.

Et, si vous voulez en savoir plus sur ce choc des titans, foncez sur https://sopuli.xyz/post/11143769 , vous n’allez pas être déçu du voyage !

❌
❌