Hardsub ASS avec mencoder

Yop :-)

Les fansubbeurs le savent, pour hardsubber (ou “burn” en anglais) des sous-titres ASS/SSA (à effets donc), les outils ne sont pas légion. Avidemux est le plus simple d'usage, en fait il exploite une fonctionnalité d'un autre outil, lui très puissant (pas autant que ffmpeg je trouve): mencoder. (on ajouterait Avisynth+MeGUI, mais non en fait). Avidemux a une fonction d'encodage par lot, mais c'est super-fastidieux à préparer (avant je copiais-collais le script et l'éditais avec un bête éditeur de texte pour ne pas devoir me taper toutes les étapes dans Avidemux). Bon entrons dans le vif du sujet: exploitons mencoder, qui fait partie de mplayer.

hardsub.run
#!/bin/bash
for file in *; do
mkfifo fifo.y4m
mplayer -ass -sub "sub/$file.ass" -nosound -quiet -benchmark -vo yuv4mpeg:file=fifo.y4m "$file" &
mencoder -cache 8192 -audiofile "$file" -mc 0 -oac mp3lame -lameopts cbr=1:br=128 -ovc x264 -x264encopts crf=18:frameref=8:bframes=3:b_adapt:weight_b:partitions=all:8x8dct:me=esa:subq=7:trellis=2:threads=auto -o "${file%.???}.avi" fifo.y4m
rm fifo.y4m
done