Originally published at
Свалка роботов. You can comment here or
there.
UPD: Если у вас под рукой есть OS X, то вам
СЮДА. А все что ниже можете почитать исключительно в познавательных целях.
Вам может показаться, что ответ на заголовок этого поста - 42. Но не торопитесь с выводами!
Начну я с того, что свободного времени стало мало. На работе к текучке и долгостроям добавились антикризисные меры и офисные пятнашки. Мое же свободное время оказалось полнстью сожрано вирусом под названием «House M.D.». Если кто не знает, это сериал про одного хромого гениального доктора-наркомана известного своим отвратительным характером и полным пренебрежением врачебной этикой. Вобщем никогда не думал что на столько увлекусь сериалом.. Да еще про докторов… Однако было бы неправдой сказать, что все свободное время я трачу на просмотр сериала. Примерно половину времени я трачу на то, чтобы грамотно переконвертировать видео под iPhone. Что значит грамотно? Это значит, что я хочу смотреть сериал на английском, но с русскими субтитрами. Причем субтитры намертво впечатанные в картинку (что умеют делать многие конвертеры) меня не устраивала. Мне хотелось «мягких» субтитров, которые можно включать и выключать на iPhone по своему желанию. Оказалось, это возможно! И вот вам мой рецепт…
1) С помощью любого конвертера пережмите видео- и оригинальную английскую аудио-дорожки в формат понятный iPhone. Простой способ - воспользуйтесь бесплатным
Xvid4PSP. Мало того, что он умеет очень хорошо жать видео под Яблофон, он еще умеет рендерить *.srt файлы субтитров прямо в видео-картинку («жесткие» субтитры). Если такие субтитры Вас устраивают, то дальше можно не читать. Другой способ сконвертировать видео - воспользоваться
mencoder’ом. Это бесплатный кроссплатформенный кодировщик входящий в состав проигрывателя MPlayer. Кому интересно - могу поделиться скриптом под Linux.
2) После пункта нумбер ван у нас есть *.mp4 файл с аудио- и видео-дорожками. Теперь нам надо скормить ему субтитры. Субтитры как правило живут в файликах с расширением *.srt. Для успешного внедрения в *.mp4 файл субтитры должны быть в формате UTF8! Если вам достались некошерные субтитры в формате WIN1251, то вы легко сможете сконвертировать их в вожделенный UTF8 воспользовавшись еще одним бесплатным приложением из разряда must have -
Notepad++! И так, у нас есть *.mp4 файл и правильные субтитры… Чтобы добавить субтитры как еще одну дорожку в mp4 файл воспользуемся бесплатной тулзой
MP4Box из пакета
GPAC. Команда выглядит так:
MP4Box -ipod -add subtitle_rus.srt:lang=Russian -add subtitle_eng.srt:lang=English our_video.mp4
Вместо ручного творчества можно воспользоваться различными GUI для MP4Box. Под Windows это например
YAMB и
MP4TE. Последний даже предпочтительнее ибо сам умеет пункт №3 (см далее)
Казалось бы на этом все? Ан нет! Многие проигрыватели уже на этом этапе будут видеть дорожки субтитров, но не iTunes и не iPhone. Переходим к пункту 3!
3) Дело в том, что в свойствах дорожки субтитров по умолчанию указан тип «text». А iPhone понимает только «subt». Чтобы поправить это дело нам понадобится
dumpster. Запускаем dumpster. Из окна проводника перетаскивайм наш mp4 файл на окно dumpster’а. Далее идем (двойным щелчком мыши) в moov -> trak -> mdia -> hdlr. Trac’ов будет несколько. Нам, скорее всего, нужен самый последний. В поле В поле Component subtype поменяйте значение после последнего символа $ на следующую величину: «7362746c» (без кавычек) и жмем Apply. Тип дорожки сменится с «text» на «subt». Теперь идем в moov -> trak -> tkhd и в поле Alternate Group меняем последний ноль на двойку. Не забываем нажать Apply.
4) И на последок самое главное! Поменяйте расширение файла на m4v! Только тогда iTunes и iPhone согласятся увидеть в нем субтитры!
Надеюсь этот поток сознания кому-то окажется полезен…