четверг, 30 июля 2009 г.

Конвертим видео для просмотра на телефоне

Решил переконвертить несколько видео для просмотра на телефоне. У меня HTC Dream, а у жены Iphone. Оба эти телефона обьединяет одинаковое разрешение экрана и практически одинаковое железо, поэтому параметры кодирования которые я опишу дальше подойдут для обоих телефонов.

Итак приступим. Для перекодирования видео воспользуемся замечательной программкой ffmpeg, программа относительно быстрая и она отлично себя зарекомендовала в рабочих проектах.

Итак устанавливаем: $ sudo apt-get install ffmpeg

И дальше запускаем с такими параметрами (ниже я опишу что какой параметр делает):

$ ffmpeg -i file_to_convert.mpg -f mp4 -s 480x320 -b 384000 -r 29.97 -ar 48000 -ab 128000 final_file_name.mp4

И вот объяснение параметров:

-i file_to_convert.mpg - путь к исходному файлу

-f mp4 - формат конечного файла

-s 480x320 - разрешение видео

-b 384000 - битрейт видео. 384kbps - оптимальный по размеру видео, но если хочется качество повыше, то поставте 768000.

-r 29.97 - frame rate - оптимальным считается показатель близкий к 30ти, но для уменьшения размера файла можно уменьшить это значение до 24 или 20 или даже 15.

-ar 48000 - audio rate 48000 Hz - оптимально

-ab 64000 - audio bitrate Может быть от 32kbps до 320kbps.

final_file_name.mp4 - имя конечного файла

Решение проблем:

На моем сервере конвертирование в mp4 сразу не заработало. Попытка конвертации завершалась с ошибкой:

Unsupported codec for output stream #0.0

Проблема в том что по умолчанию не была установлена поддержка кодирования формата mp4. Проблема решилась установкой пакета libavcodec-unstripped-51

$ sudo apt-get install libavcodec-unstripped-51

Комментариев нет:

Отправить комментарий