X
    Categories: Практикум

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


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

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

sudo apt-get install winff

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



Вариант 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.


admin-dm2003: