Lorsqu’on intégre des fichiers de sous-titre ASS dans un MKV il peut être intéressant d’y intégrer aussi les polices utilisées. De cette façon vous êtes sure que le rendu sera exactement le même sur n’importe quel système.
ffmpeg
Pour ajouter la police « DejaVu Sans » à mon fichier MKV j’ai utilisé la commande suivante :
ffmpeg -i in.mkv -vcodec copy -acodec copy -attach /usr/share/fonts/TTF/DejaVuSans.ttf -metadata:s:3 mimetype=application/x-truetype-font out.mkv
Le fichier in.mkv contient les éléments suivants :
Input #0, matroska,webm, from 'in.mkv':
Metadata:
ENCODER : Lavf56.36.100
Duration: 00:04:08.16, start: 0.000000, bitrate: 4463 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, smpte170m/unknown/smpte170m), 720x480 [SAR 8:9 DAR 4:3], max. 9000 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s (default)
Stream #0:2: Subtitle: ass (default)
Avec la commande précédente j’ai copié les streams 0 (vidéo), 1 (audio) et 2 (sous-titre) et j’ai ajouté le stream 3 (s:3) contenant la police de caractère.
Le fichier out.mkv contient les éléments suivants :
Input #0, matroska,webm, from 'out.mkv':
Metadata:
ENCODER : Lavf56.36.100
Duration: 00:04:08.16, start: 0.000000, bitrate: 4487 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, smpte170m/unknown/smpte170m), 720x480 [SAR 8:9 DAR 4:3], max. 9000 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s (default)
Stream #0:2: Subtitle: ass (default)
Stream #0:3: Attachment: ttf
Metadata:
filename : DejaVuSans.ttf
mimetype : application/x-truetype-font
mkvmerge
Pour faire de même avec mkvmerge :
mkvmerge --output out.mkv in.mkv in.ass --attachment-mime-type application/x-truetype-font --attach-file /usr/share/fonts/TTF/DejaVuSans.ttf