Автор: Лукас Вестерман (Lucas Westermann)
Сталкивались ли вы с необходимостью уменьшить размер видеоклипа и добавить его в слайдшоу для презентации? Или изменить формат клипа, чтобы посмотреть его? Сегодня я расскажу, как это сделать при помощи инструмента командной строки 'ffmpeg'. Ещё я познакомлю вас с командой 'mogrify'. Это инструмент для работы с изображениями, входящий в пакет imagemagick. У него много возможностей, но я расскажу об основах, главным образом, об изменении размера изображений (например, для создания миниатюр).
Для начала установите ffmpeg и imagemagick c помощью Менеджера Пакетов Synaptic или через Установку/Удаление Приложений. Либо, в духе этой статьи, воспользуйтесь командной строкой:
sudo apt-get install ffmpeg imagemagick
Смело запускайте команду, даже если вы не уверены, что программа не установлена. Apt-get не станет перезаписывать уже существующую программу, а лишь уведомит вас об этом. Далее придётся ввести пароль (ведь вы используете sudo), и вас может удивить, что вводимый пароль не отображается. Это нормально, просто введите пароль и нажмите клавишу enter.
В этой статье я буду работать с коротким клипом из «Freedom Downtime», который я использовал в презентации. ffmpeg предлагает множество опций (воспользуйтесь командой «man ffmpeg», чтобы прочитать детальное, почти 13-страничное руководство), но я чаще всего пользуюсь опцией преобразования файлов. Вот как выглядит команда:
ffmpeg -i inputfile.filetype outputfile.filetype
Эта команда просто преобразует исходный файл в «файл_на_выходе.тип_файла», не меняя его размер (мы не указываем размер, поэтому ffmpeg использует размер исходного файла). Команда, преобразующая «Freedom Downtime» (с размером 640×480) в клип меньшего размера (скажем, 320×240), будет выглядеть так:
ffmpeg -i freedom\ downtime.mpg -s 320x240 freedom\ downtime\ resized.mpg
Заодно можно преобразовать файл в другой формат, просто сменив его расширение. Это не должно занять много времени (конечно, всё зависит от размера клипа). На преобразование моего клипа длиной в несколько минут ушло около 30 секунд.
Mogrify - это весьма удобный инструмент, особенно если вы часто размещаете картинки на веб-форумах, запрещающих загрузку изображений, превышающих определённый размер, и не позволяющих ссылаться на большие изображения. В основном я использую mogrify для создания миниатюр изображений, но его возможности гораздо шире. Можно добавлять текст, применять эффекты (рисунок углём, раскраска и т.д.) и многое другое. Опять же, обо всём этом можно прочитать в руководстве («man mogrify»). Для изменения размера изображения можно указывать значения в пикселях или процентах. К примеру, у вас есть изображение размером 1280×800 пикселей, и вы хотите уменьшить его до 640×400. Это можно сделать так:
mogrify -resize 50 in.jpg out.jpg
или так:
mogrify -resize 640x400 in.jpg out.jpg
или даже так:
mogrify -resize 50% in.jpg out.jpg
Однако если вы зададите размер в пикселях с иным соотношением сторон, то изображение в результате может оказаться меньше, чем ожидалось. Размер будет изменён таким образом, чтобы сохранялась пропорция. Аргумент thumbnail делает практически то же самое, что и resize, и вдобавок удаляет необязательную информацию (комментарии и прочее) из заголовка файла, чтобы уменьшить его размер. Команда будет выглядеть так:
mogrify -thumbnail 50 in.jpg out.jpg
Используя аргумент «-format», можно преобразовать изображение в другой формат. Таким образом, команда:
mogrify -format jpg *.png
преобразует все файлы .png в текущей директории в формат .jpg. Имена файлов останутся прежними.
Как видите, вопреки распространённому убеждению, командная строка бывает полезна при работе с графикой. Зачастую командная строка эффективнее и быстрее, чем программа с графическим интерфейсом (запутанные меню и меняющийся от версии к версии внешний вид). Команды же, как правило, не меняются, а аргументы меняются крайне редко. Командная строка универсальна. По этой причине пользователи ubuntuforums.org обычно предлагают в качестве решений команды, а не GUI-методы. Команды работают и в Kubuntu, и в Xubuntu, и в Ubuntu, и в прочих системах. Надеюсь, вы сочли мою статью полезной, и в следующий раз, когда возникнет необходимость преобразовать видео или изображение, вы вспомните о командах mogrify и ffmpeg. В конце концов, дело мастера боится.