Видео для «мобилок». Кодируем в 3gp в Ubuntu

Стандартный

3gp in ubuntu

Недавно попросили перекодировать несколько фильмов для старенькой Nokia 2700.  Пришлось искать варианты решения проблемы, чтобы кодировать именно в 3gp, хотя телефон поддерживает и mp4.

Вариант 1. Программа WinFF, которая является графической оболочкой для FFmpeg. Установим ее командой в Терминале:

sudo apt-get install winff

Кнопкой «Добавить» добавляем нужные видео файлы. Далее в выпадающем списке «Преобразовать в:» выбираем Mobile Phones. В «Параметры» я выбрал нужное мне разрешение (176х144). Потом указываем папку для сохранения результата и жмем кнопку «Преобразовать«.



WinFF

Вариант 2. Будем использовать Терминал и FFmpeg.

Запускаем Терминал в папке с нужным видео файлом или файлами. Выполним команду:

ffmpeg -i input.mp4 -s 176x144 -vcodec h263 -b:v 250k -r 15 -acodec libopencore_amrnb -b:a 12.8k -ar 8000 -ac 1 output.3gp

Данная команда перекодирует исходный файл input.mp4 в output.3gp. Теперь разберем основные опции из команды выше:

-s 176×144 — указываем нужное разрешение файла
-vcodec h263 — используемый видео кодек
-b:v 250k — битрейт видео
-r 15 — устанавливает количество кадров
-acodec libopencore_amrnb — используемый аудио кодек
-b:a 12.8k — битрейт аудио
-ar 8000 — для частоты дискретизации звука
-ac 1 — количество каналов звука

Если нужно обработать файлы в пакетном режиме, т.е. несколько, то можно применить следующий скрипт:

#!/bin/sh
mkdir convert
for f in *.avi *.MOV *.mkv *.mp4 *.mpeg ; #Добавить нужный формат
do
ffmpeg -i "$f" -s 176x144 -c:v h263 -b:v 250k -r 15 -c:a libopencore_amrnb -b:a 12.8k -ar 8000 -ac 1 convert/$f.3gp
done

Данный скрипт перекодирует все файлы в форматах: avi, mov, mp4, mkv, mpeg в нужной папке в формат 3gp. В папке с видео файлами появится директория convert, в которую и сохранится результат конвертирования в 3gp.


Leave a Reply

Статьи