Есть два основных способа показа субтитров. Вы можете кодировать пиксели в самом видео. Это называется "хардсаббинг". Преимущество здесь в простоте для видеоплеера, это просто видеопоток. Недостатки в том, что вам пришлось перекодировать видео, что занимает много времени и приводит к некоторой потере точности. Если вы получите лучший перевод, ну это пиксели в видео. И вы можете иметь только один язык.
Что несколько лучше, так это «мягкая субтитровка», которая должна иметь текстовый файл где-то отдельно от видеопотока. Существует множество различных форматов файлов субтитров, но в основе их всех лежит «текст, в какое время начинать, в какое время удалять» в своей основе. Некоторые из них имеют дополнительные функции, такие как цвета и ориентация на экране. Преимущество этого в том, что у вас может быть несколько языков (например, DVD, у вас есть несколько доступных языков), и вы можете исправить опечатки и тому подобное в файле. И если вам не нужны субтитры, просто выключите их.
Софтсубы могут быть как отдельными файлами - большинство игроков будут автоматически искать субтитры с тем же именем (с другим расширением), что и основное видео. Или определенные форматы контейнерных файлов (например, MKV) могут включать их в себя. Проверьте MKVtoolnix (есть порт Mac) для файловых инструментов MKV. Это должно позволить вам встраивать softtsubs без перекодирования.
Обратите внимание, что не все плееры могут поддерживать все форматы. Мой опыт показывает, что у XBMC есть проблемы с файлами SSA, но намного проще файлы SRT. VLC будет проигрывать что угодно, если это поддерживается на вашей платформе.