Как сконвертить видео для телефона.
Для начала нужен правильно собраный ffmpeg, например, как я описывал 8-ю записями ранее (
Сборка ffmpeg с поддержкой amr). Если необходим звук в aac, то нужно к опциям сборки добавить: --enable-gpl --enable-libfaac --enable-libfaad . Предварительно установив из репозиториев libfaac0 libfaac-dev libfaad0 libfaad-dev.
Далее выбираем формат видео и аудио поддерживаемые телефоном. Для старых моделей это могут оказаться только h263 и amr. Недостаток первого в том, что из интересующих разрешений он поддерживает только 128x96 и 176x144. То есть сделать видео 176x120 в нём не получится. Недостатки amr - максимальный битрейт 12,2 кб/с при 8000Гц дискретизации и только моно. Для современных телефонов более выгодна связка mpeg4 + aac. Выходной битрейт выбирается исходя из возможностей телефона. Например то, что отлично идёт на моём Самсунге - на Нокиа и Сони Эриксон может вызывать зависание, иногда даже полное, из-за завышеного битрейта.
После сборки и установки ffmpeg можно приступать. Например так:
# ffmpeg -i file.avi -s 176x144 -r 15 -vb 120k -acodec libamr_nb -ar 8000 -ac 1 -ab 12.2k file.3gp
Где:
-i file.avi - входной файл file.avi
-s 176x144 - размер кадра 176x144
-r 15 - 15 кадров/с
-vcodec h263 - видеокодек h263 (по умолчанию для 3gp, можно не указывать)
-vb 120k - битрейт видео 120 кбит/с
-acodec libamr_nb - аудиокодек amr
-ar 8000 - частота дискретизации 8000Гц
-ac 1 - один аудиоканал (моно)
-ab 12.2k - битрейт аудио 12,2 кбит/с
file.3gp - на выходе файл file.3gp
Или так:
# ffmpeg -i file.avi -s 176x128 -vcodec mpeg4 -r 15 -acodec libfaac -ar 32000 -ac 1 -ab 56k file.3gp
Где:
-i file.avi - входной файл file.avi
-s 176x128 - размер кадра 176x128
-r 15 - 15 кадров/с
-vcodec mpeg4 - видеокодек mpeg4
-vb 200k - битрейт видео 200 кбит/с (по умолчанию, можно не указывать)
-acodec libfaac - аудиокодек aac
-ar 32000 - частота дискретизации 32000Гц
-ac 1 - один аудиоканал (моно)
-ab 56k - битрейт аудио 56 кбит/с
file.3gp - на выходе файл file.3gp