Il existe deux façons de base d'afficher des sous-titres. Vous pouvez encoder les pixels directement dans la vidéo elle-même. Cela s'appelle "hardsubbing". L'avantage ici est la simplicité pour le lecteur vidéo, c'est juste un flux vidéo. Les inconvénients sont que vous devez réencoder la vidéo, ce qui prend du temps, et il y a une perte de fidélité. Si vous obtenez une meilleure traduction, eh bien, ce sont des pixels dans la vidéo. Et vous ne pouvez avoir qu'une seule langue.
Ce qui est un peu mieux est le "softsubbing", qui consiste à avoir un fichier texte quelque part, séparé du flux vidéo. Il existe de nombreux formats différents de fichiers de sous-titres, mais à leur base, ils ont tous "texte, début à quelle heure, fin à quelle heure" au cœur. Certains ont des fonctionnalités supplémentaires comme des couleurs et une orientation à l'écran. L'avantage de cela est que vous pouvez avoir plusieurs langues (pensez à un DVD, vous avez plusieurs langues disponibles) et vous pouvez corriger les fautes de frappe et autres dans le fichier. Et si vous n'avez pas besoin de sous-titres, eh bien, il vous suffit de les désactiver.
Les softsubs peuvent être soit des fichiers séparés - la plupart des lecteurs rechercheront automatiquement des sous-titres ayant le même nom (avec une extension différente) que la vidéo principale. Ou certains formats de fichier conteneur (comme le MKV) peuvent les intégrer à l'intérieur. Consultez MKVtoolnix (il existe un port pour Mac) pour les outils de fichier MKV. Cela devrait vous permettre d'intégrer des sous-titres sans réencoder.
Remarquez que tous les lecteurs ne peuvent pas prendre en charge tous les formats. D'après mon expérience, XBMC a des problèmes avec les fichiers SSA, mais les fichiers SRT beaucoup plus simples fonctionnent bien. VLC lira tout, s'il est pris en charge sur votre plateforme.