27 марта 2009 г.

How to resize video & image

Все мы сталкиваемся с тем, что необходимо уменьшить размер или поменять формат видеоролика или изображения.

На днях прочитал статью в журнале Full Circle, как это делать из командной строки. Ну и конечно, для себя и кому-то еще может будет полезно, решил оставить заметку.

А если кого-то заинтересует сам журнал, то его можно скачать в формате PDF здесь размером в 4.1 Mb
Далее текст из журнала...

... Сегодня я расскажу, как это сделать при помощи инструмента командной строки 'ffmpeg'. Ещё я познакомлю вас с командой 'mogrify'.
Это инструмент для работы с изображениями, входящий в пакет imagemagick.
У него много возможностей, но я расскажу об основах, главным образом, об
изменении размера изображений (например,для создания миниатюр).

В этой статье я буду работать с коротким клипом из "Freedom Downtime", который я использовал в презентации. ffmpeg предлагает множество опций (воспользуйтесь командой "man ffmpeg",чтобы прочитать детальное,почти 13-страничное руководство), но я чаще
всего пользуюсь опцией преобразования файлов.
Вот как выглядит команда:

# ffmpeg -i inputfile.filetype outputfile.filetype

Эта команда просто преобразует исходный файл в "файл_на_выходе.тип_файла",не меняя его размер (мы не указываем
размер, поэтому ffmpeg использует размер исходного файла).

Команда, преобразующая "Freedom Downtime" (с размером 640x480)
в клип меньшего размера (скажем,320x240),будет выглядеть так:

# ffmpeg -i freedom\downtime.mpg -s 320x240 freedom\ downtime\ resized.mpg

Заодно можно преобразовать файл в другой формат, просто сменив его расширение.
Это не должно занять много времени (конечно, всё зависит от размера клипа).
На преобразование моего клипа длиной в несколько минут ушло около 30 секунд.

Mogrify - это весьма удобный инструмент, особенно если вы часто размещаете картинки на веб-форумах,запрещающих загрузку изображений, превышающих определённый размер,и не позволяющих
ссылаться на большие изображения.

В основном я использую mogrify для создания миниатюр изображений, но его возможности гораздо шире. Можно добавлять текст,применять эффекты (рисунок углём, раскраска и т.д.) и многое другое.

Опять же, обо всём этом можно прочитать в pуководстве ("man mogrify").
Для изменения размера изображения можно указывать значения в пикселях или процентах.
К примеру, у вас есть изображение размером 1280x800 пикселей, и вы хотите уменьшить его до 640x400.
Это можно сделать так:

# 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.
Имена файлов останутся прежними.

Как видите, вопреки распространённому убеждению,командная строка бывает полезна при работе с графикой.

Зачастую командная строка эффективнее и быстрее, чем программа с графическим интерфейсом (запутанные меню и меняющийся от версии к версии внешний вид).

Команды же, как правило, не меняются, а аргументы меняются крайне редко.

Командная строка универсальна.

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