Как добавить Хардсабы в видео mencoder'ом
Недавно мне пришлось столкнуться с такой задачек как "вшивание" субтитров в видео, для этого вполне подходил мне раньше virtual dub+плагин для работы с субтитрами.Однако возникла необходимость добавить Хардсабы в flv видео для воспроизведении видео на сайте,притом что роликов было много (сериал).
Ранее для конвертирования в FLV прямо на сервере я использовала ffmpeg,однако им вшить субтитры не получалось.Поэтому покопавшись в мануалах mencoder я таки нашла то что мне было нужно, а именно наличие поддержки работы с субтитрами, и для этого нужно всего лишь добавить к команде конвертации опцию -sub MY_SUB.srt !Однако не все так просто..не обошлось без плясок с бубном ибо mencoder вшивал вместо кириллицы крякозябы.
Порывшись еще в мануалах нашла такую тему что необходимо указать кодировку в данном случаи это делается опцией
-subcp cp1251 ,однако и это не привело кв желаемому результату и на выходе упорно шли крякозябы.Не помогло и заливка файла с TTF шрифтом subfont.ttf в директорию ~/.mplayer После разнообразных экспериментов с кодировками и копания в мануалах проблему удалось решить добавлением опции -nofontconfig
В итоге получаем такую команду:
mencoder film.avi -ofps 25 -o film.flv -of lavf -oac mp3lame -lameopts abr:br=64 -srate 22050 -ovc lavc -lavcopts vcodec=flv:keyint=50:vbitrate=300:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=320:240 -sub sub_file.srt -nofontconfig -subcp cp1251
Если же вам надо вшить хардсабы не в FLV а какой-то другой формат то просто добавьте к вашей строке опции -sub sub_file.srt -subcp cp1251 ,(где sub_file.srt файл с вашими субтитрами) возможно еще и -nofontconfig (еслим при конвертации будет ошибка fontconfig error)