videoscripts

Ma collection de scripts PowerShell pour réencoder et "repackager" les fichiers issues de la copie d'un DVD ou disque Blu-Ray. Le but principal étant de produire des fichiers .mkv de taille raisonnable.

Medium Taille copie Taille cible
DVD ~ 4 Go ~ 1 Go
Blu-Ray ~ 35 Go ~ 2 Go
Tableau: tailles des fichiers.

Ces scripts font des appels à ffmpeg et mkvmerge pour effectuer l'encodage et le muxing.
Les pistes audio et vidéo à convertir sont automatiquement détectées. Les pistes de sous-titres à conserver doivent être précisées manuellement.

Pour les pistes audio, une méthode de normalisation peut être spécifiée parmi:

  • "peak" : l'audio est ajusté pour avoir un pic à -0.1dB ;
  • "dynaudnorm" : filtre éponyme de ffmpeg (doc).

Pour la piste vidéo, on peut appliquer les filtres suivants:

  • "Crop" : pour supprimer les bandes noires ;
  • "Scale" : pour réduire la taille de la vidéo (e.g., passage de 1080p à 720p) ;
  • "Deinterlace" : désentrelacement des frames (pour les DVD) ;
  • "Denoise" : réduction du grain (pour les vieux films) ;

Lien: GitHub.


OneMillionMines.com

The Wall of Mines

Lancé en septembre 2025, onemillionmines.com est une grille de Démineur collaborative contenant un million de mines.
Les joueurs se connectent via PC ou smartphone et peuvent immédiatement commencer à ouvrir ou marquer des cases. C'est très amusant, mais il ne faut pas jouer trop vite sous peine de se faire exploser ! 😅

Technologies utilisées : C++, Javascript, <canvas>.

Good to know : la grille a été résolue algorithmiquement avant d'être mise en production ; c'est-à-dire que contrairement à beaucoup d'implémentations il n'est ici jamais nécessaire de jouer au hasard pour se débloquer.


cppscanner

(2024, en pause)

Un utilitaire en ligne de commande, basé sur la LibTooling de clang, qui permet de sauvegarder dans une base de données SQLite un snapshot d'un programme écrit en C++.
Sont notamment sauvegardés:

  • la liste des fichiers (arborescence, contenu, sha1) ;
  • la liste des "#include" (quels fichiers incluent quels fichiers) ;
  • la liste des symboles C++ utilisés ;
  • les références aux symboles.

Le projet s'inspire du Woboq Code Browser tout en essayant de se démarquer par plusieurs aspects :

  • parsing des fichiers sources sur plusieurs threads ;
  • sauvegarde des données dans une base de données plutôt que génération de fichiers HTML.

Le projet est accompagné de cppbrowser, un outil permettant de visualiser un snapshot directement depuis un navigateur web.
Ce projet "companion" utilise Node.js pour le partie backend et Vue.js pour le frontend.

Lien: GitHub, Demo.