Пока я не нашел проигрыватель для PocketPC, позволяющий смотреть субтитры, передо мной периодически вставала задача конвертации большого количества (не меньше 26) avi-файлов с уменьшением разрешения и внедрения в него субтитров. Обычно в таких случаях я набирался терпения, запускал VirtualDub и вручную набивал кучу job'ов, а потом запускал их на обработку. С появлением у меня плейера Digma DS2410 проблема появилась снова.
У этого гаджета не слишком мощный процессор для проигрывания файлов с высоким битрейтом, да и стандартная прошивка умеет декодировать только xvid. Так что ему необходима предварительная подготовка файлов, благо с дигмой в комплекте идет программа с немудреным названием AVIConverter.
Программа замечательно справляется со своей основной задачей: конвертировать AVI в формат xvid 320x240 22 FPS. Интерфейс у программы тоже простой — выбираешь файлы, выставляешь качество кодирования и конвертируешь. Скорость работы меня сразу впечатлила — на глаз в два раза быстрее VirtualDub'a, но результат оказался как всегда кривой: видео при проигрывании на плейре рассинхронизировалось со звуком.
Пришлось залезть в потроха программы, которые тоже оказались немудреными. AVIConverter на самом деле просто оболочка для опенсорсного конвертера видеофайлов mencoder, хорошо знакомого любителям опенсорсных операционных систем (он входит в состав проигрывателя mplayer).
Настройки программы хранятся в файле converter.ini. В секции [parameter] записаны опции с которыми запускается mencoder и для исправления проблемы с запаздыванием видео достаточно заменить -xvidencopts bitrate=500 на -xvidencopts bitrate=400. Т.е. уменьшим битрейт полученного видеофайла и дигма будет успевать разворачивать кадры.
Кстати mencoder с успехом можно запускать из командной строки, а погуглив можно найти маны с описанием всех его команд, что я и сделал. Оказалось, что у mencoder'а есть куча возможностей, в том числе есть нужные мне функции:
- умеет декодировать DVD и матрешку (matroska), а с этим в VirtualDub'е большие проблемы;
- прошивает субтитры в формате .srt.
В результате изысканий появился батник следующего содержания:
md pda
for %%i in (*.avi) do "c:\Program Files\AVIConverter\mencoder.exe" "%%i" -ofps 22 -vf-add scale=320:240 -vf-add expand=320:240:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=400:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=128 -sub "%%~Ni.srt" -subcp cp1251 -subpos 95 -subfont-autoscale 2 -font "%SystemRoot%\fonts\arialbd.ttf" -o ".\pda\%%~NXi"
Батник перед запуском нужно поместить в папку с файлами. Файлы субтитров должны быть с тем же именем, что и AVI и иметь раcширение SRT. Результат будет помещен в папку pda. Для более мощных устройств можно увеличть FPS до 25 и битрейт. Для других типов файлов достаточно изменить маску.
Работает mencoder на удивление быстро. Пока я пишу эту заметку в фоне конвертируется сериал со средним FPS 100 кадров в секунду (процессор CeleronD/3гГц).
Кстати, эксперимента ради я скачал последнюю версию mencoder'а (версия 4.3.2) — нормально кодировать отказывается. Звука нет, сабов нет, и видео какое-то кривое. И дело не в новых кодеках, т.к. подмена в папке с новым mencoder'ом exe'шника на файл версии 4.1.0 из комплекта AVIConverter'а исправила проблему.
В принципе AVIConverter можно легко найти в гугле, но если не получается, то пишите — выложу у себя.
Начал замечать, что блоггеры свои сайты на WordPress стали переводить на Maxsite CMS. Я-то пока волне доволен скоростью работы WorPress'а, но и мне пришлось из-за перехода на версию 2.5 сменить хостинг. Может тоже попробовать перевести один из блогов на Maxsite? Тем более, что первый мой WP был сборки Макса, до сих пор от него осталось несколько плагинов.
CARMActin опубликовал заметку про черный вторник на фондовом рынке. Действительно страшно смотреть на стремительно тающие активы...
No comments:
Post a Comment