L’une de mes activités favorites du samedi soir est de savourer une pizza devant un bon film.
Le problème ne se situe en général pas au niveau de la pizza, faite maison et sans ananas bien sûr, mais plutôt du côté des films. Avec la multiplication des services de streaming, trouver un bon film est devenu une épreuve. Il y a beaucoup trop de choix et on passe bien souvent une éternité à faire défiler les options pendant que la pizza refroidit ; et quand on sait déjà ce que l’on veut, pas de chance, le film n’est pas disponible sur la plateforme, il faut s’abonner à une autre.
Au fil des années, je me suis donc construit une collection de DVD et de Blu-Ray des films que j’aime revoir régulièrement, pour ne plus dépendre d’aucune plateforme de streaming.
L’expérience n’est pas non plus idéale. Pour vous récompenser d’avoir acheter le DVD, votre film est parfois précédé de 5 bonnes minutes de publicités pour d’autres films, en plus du message du FBI pour vous informer qu’il est interdit de le pirater.
Et non, ce n’est pas une blague.

videoscripts est mon jeu de scripts PowerShell
permettant de convertir (et surtout compresser) DVD et Blu-Ray au format .mkv.
Le projet est né du besoin d’automatiser au maximum la procédure de conversion pour gérer
une collection de plus de 200 épisodes des Looney Tunes.
J’ai appris le PowerShell à cette occasion, pour effectuer automatiquement les
bons appels à ffmpeg et mkvmerge pour convertir la vidéo, les flux audio et
créer le fichier .mkv final.
Précédemment, je faisais les appels à ffmpeg manuellement et j’utilisais MKVToolNix pour
“muxer” les différents flux.
Cela posait plusieurs problèmes, le plus important étant celui de l’absence de traçabilité des
commandes utilisées (codec, filtres vidéo et audio, qualité, etc..).
L’aspect répétitif des tâches était source d’erreurs et d’incohérence entre différentes “releases”.
videoscripts permet d’aller plus vite, de savoir exactement quelles commandes ont été exécutées et de produire des fichiers dont la construction est plus uniforme. C’est tout bénef!
A titre d’exemple, le bloc suivant montre un exemple de script utilisé pour convertir un film avec les pistes audio en français et en anglais, ainsi que les sous-titres.
. "$Env:VIDEO_SCRIPTS_DIR\stdpipeline-1.0.ps1"
$global:FFmpegAudioNormalizationMethod = "dynaudnorm"
Setup-PipelineBluRay `
-Crop "1920:800:0:140" `
-SubEngSDH 6 -SubFre 7 -SubFreForced 8 `
-OriginalLanguage "en"
Run-Pipeline "t00.mkv" -Title "Rogue One: A Star Wars Story" -Output "Rogue.One.mkv"
Il suffit ensuite de laisser la machine mouliner (et c’est parfois assez long), et on obtient un film que l’on peut facilement lire sur une TV Android à partir d’une clé USB. Génial!
Extrait de Rogue One: A Star Wars Story