Покоряй и Властвуй: Изменение размера видео с помощью FFMPEG Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
fullcircle:22:ffmpeg [2010/04/11 22:36]
создано
fullcircle:22:ffmpeg [2014/03/05 17:04] (текущий)
старая ревизия восстановлена. http://forum.ubuntu.ru/index.php?topic=190583.msg1663840#msg1663840
Строка 1: Строка 1:
 +======Покоряй и Властвуй:​ Изменение размера видео с помощью FFMPEG======
 +
 +<style right>
 +//​Автор:​ Лукас Вестерман (Lucas Westermann)//​
 +</​style>​
 +
 Сталкивались ли вы с необходимостью уменьшить размер видеоклипа и добавить его в слайдшоу для презентации?​ Или изменить формат клипа, чтобы посмотреть его? Сегодня я расскажу,​ как это сделать при помощи инструмента командной строки '​ffmpeg'​. Ещё я познакомлю вас с командой '​mogrify'​. Это инструмент для работы с изображениями,​ входящий в пакет imagemagick. У него много возможностей,​ но я расскажу об основах,​ главным образом,​ об изменении размера изображений ​ (например,​ для создания миниатюр). Сталкивались ли вы с необходимостью уменьшить размер видеоклипа и добавить его в слайдшоу для презентации?​ Или изменить формат клипа, чтобы посмотреть его? Сегодня я расскажу,​ как это сделать при помощи инструмента командной строки '​ffmpeg'​. Ещё я познакомлю вас с командой '​mogrify'​. Это инструмент для работы с изображениями,​ входящий в пакет imagemagick. У него много возможностей,​ но я расскажу об основах,​ главным образом,​ об изменении размера изображений ​ (например,​ для создания миниатюр).
 +
 Для начала установите ffmpeg и imagemagick c помощью Менеджера Пакетов Synaptic или через Установку/​Удаление Приложений. Либо, в духе этой статьи,​ воспользуйтесь командной строкой:​ Для начала установите ffmpeg и imagemagick c помощью Менеджера Пакетов Synaptic или через Установку/​Удаление Приложений. Либо, в духе этой статьи,​ воспользуйтесь командной строкой:​
-sudo apt-get install ffmpeg imagemagick+ 
 +<​code>​sudo apt-get install ffmpeg imagemagick</​code>​
  
 Смело запускайте команду,​ даже если вы не уверены,​ что программа не установлена. Apt-get не станет перезаписывать уже существующую программу,​ а лишь уведомит вас об этом. Далее придётся ввести пароль (ведь вы используете sudo), и вас может удивить,​ что вводимый пароль не отображается. Это нормально,​ просто введите пароль и нажмите клавишу enter. Смело запускайте команду,​ даже если вы не уверены,​ что программа не установлена. Apt-get не станет перезаписывать уже существующую программу,​ а лишь уведомит вас об этом. Далее придётся ввести пароль (ведь вы используете sudo), и вас может удивить,​ что вводимый пароль не отображается. Это нормально,​ просто введите пароль и нажмите клавишу enter.
 +
 В этой статье я буду работать с коротким клипом из "​Freedom Downtime",​ который я использовал в презентации. ffmpeg предлагает множество опций (воспользуйтесь командой "man ffmpeg",​ чтобы прочитать детальное,​ почти 13-страничное руководство),​ но я чаще всего пользуюсь опцией преобразования файлов. Вот как выглядит команда:​ В этой статье я буду работать с коротким клипом из "​Freedom Downtime",​ который я использовал в презентации. ffmpeg предлагает множество опций (воспользуйтесь командой "man ffmpeg",​ чтобы прочитать детальное,​ почти 13-страничное руководство),​ но я чаще всего пользуюсь опцией преобразования файлов. Вот как выглядит команда:​
-ffmpeg -i inputfile.filetype outputfile.filetype*+ 
 +<​code>​ffmpeg -i inputfile.filetype outputfile.filetype</​code>​ 
 Эта команда просто преобразует исходный файл в "​файл_на_выходе.тип_файла",​ не меняя его размер (мы не указываем размер,​ поэтому ffmpeg использует размер исходного файла). Команда,​ преобразующая "​Freedom Downtime"​ (с размером 640x480) в клип меньшего размера (скажем,​ 320x240), будет выглядеть так: Эта команда просто преобразует исходный файл в "​файл_на_выходе.тип_файла",​ не меняя его размер (мы не указываем размер,​ поэтому ffmpeg использует размер исходного файла). Команда,​ преобразующая "​Freedom Downtime"​ (с размером 640x480) в клип меньшего размера (скажем,​ 320x240), будет выглядеть так:
-ffmpeg -i freedom\ downtime.mpg -s 320x240 freedom\ downtime\ resized.mpg*+ 
 +<​code>​ffmpeg -i freedom\ downtime.mpg -s 320x240 freedom\ downtime\ resized.mpg</​code>​ 
 Заодно можно преобразовать файл в другой формат,​ просто сменив его расширение. Это не должно занять много времени (конечно,​ всё зависит от размера клипа). На преобразование моего клипа длиной в несколько минут ушло около 30 секунд. Заодно можно преобразовать файл в другой формат,​ просто сменив его расширение. Это не должно занять много времени (конечно,​ всё зависит от размера клипа). На преобразование моего клипа длиной в несколько минут ушло около 30 секунд.
-Mogrify - это весьма удобный инструмент,​ особенно если вы часто размещаете картинки на веб-форумах,​ запрещающих загрузку изображений,​ превышающих определённый размер,​ и не позволяющих ссылаться на большие изображения. В основном я использую mogrify для создания миниатюр изображений,​ но его возможности гораздо шире. Можно добавлять текст, применять эффекты (рисунок углём, раскраска и т.д.) и многое другое. Опять же, обо всём этом можно прочитать в руководстве ("man mogrify"​). Для изменения размера изображения можно указывать значения в пикселях или процентах. К примеру,​ у вас есть изображение размером 1280x800 пикселей,​ и вы хотите уменьшить его до 640x400. Это можно сделать так: + 
-mogrify -resize 50 in.jpg out.jpg*+**Mogrify** - это весьма удобный инструмент,​ особенно если вы часто размещаете картинки на веб-форумах,​ запрещающих загрузку изображений,​ превышающих определённый размер,​ и не позволяющих ссылаться на большие изображения. В основном я использую mogrify для создания миниатюр изображений,​ но его возможности гораздо шире. Можно добавлять текст, применять эффекты (рисунок углём, раскраска и т.д.) и многое другое. Опять же, обо всём этом можно прочитать в руководстве ("man mogrify"​). Для изменения размера изображения можно указывать значения в пикселях или процентах. К примеру,​ у вас есть изображение размером 1280x800 пикселей,​ и вы хотите уменьшить его до 640x400. Это можно сделать так: 
 + 
 +<​code>​mogrify -resize 50 in.jpg out.jpg</​code>​ 
 или так: или так:
-mogrify -resize 640x400 in.jpg out.jpg*+ 
 +<​code>​mogrify -resize 640x400 in.jpg out.jpg</​code>​ 
 или даже так: или даже так:
-mogrify -resize 50% in.jpg out.jpg*+ 
 +<​code>​mogrify -resize 50% in.jpg out.jpg</​code>​ 
 Однако если вы зададите размер в пикселях с иным соотношением сторон,​ то изображение в результате может оказаться меньше,​ чем ожидалось. Размер будет изменён таким образом,​ чтобы сохранялась пропорция. Аргумент thumbnail делает практически то же самое, что и resize, и вдобавок удаляет необязательную информацию (комментарии и прочее) из заголовка файла, чтобы уменьшить его размер. Команда будет выглядеть так: Однако если вы зададите размер в пикселях с иным соотношением сторон,​ то изображение в результате может оказаться меньше,​ чем ожидалось. Размер будет изменён таким образом,​ чтобы сохранялась пропорция. Аргумент thumbnail делает практически то же самое, что и resize, и вдобавок удаляет необязательную информацию (комментарии и прочее) из заголовка файла, чтобы уменьшить его размер. Команда будет выглядеть так:
-mogrify -thumbnail 50 in.jpg out.jpg*+ 
 +<​code>​mogrify -thumbnail 50 in.jpg out.jpg</​code>​ 
 Используя аргумент "​-format",​ можно преобразовать изображение в другой формат. Таким образом,​ команда:​ Используя аргумент "​-format",​ можно преобразовать изображение в другой формат. Таким образом,​ команда:​
-mogrify -format jpg *.png*+ 
 +<​code>​mogrify -format jpg *.png</​code>​ 
 преобразует все файлы .png в текущей директории в формат .jpg. Имена файлов останутся прежними. преобразует все файлы .png в текущей директории в формат .jpg. Имена файлов останутся прежними.
 +
 Как видите,​ вопреки распространённому убеждению,​ командная строка бывает полезна при работе с графикой. Зачастую командная строка эффективнее и быстрее,​ чем программа с графическим интерфейсом (запутанные меню и меняющийся от версии к версии внешний вид). Команды же, как правило,​ не меняются,​ а аргументы меняются крайне редко. Командная строка универсальна. По этой причине пользователи ubuntuforums.org обычно предлагают в качестве решений команды,​ а не GUI-методы. Команды работают и в Kubuntu, и в Xubuntu, и в Ubuntu, и в прочих системах. Надеюсь,​ вы сочли мою статью полезной,​ и в следующий раз, когда возникнет необходимость преобразовать видео или изображение,​ вы вспомните о командах mogrify и ffmpeg. В конце концов,​ дело мастера боится. Как видите,​ вопреки распространённому убеждению,​ командная строка бывает полезна при работе с графикой. Зачастую командная строка эффективнее и быстрее,​ чем программа с графическим интерфейсом (запутанные меню и меняющийся от версии к версии внешний вид). Команды же, как правило,​ не меняются,​ а аргументы меняются крайне редко. Командная строка универсальна. По этой причине пользователи ubuntuforums.org обычно предлагают в качестве решений команды,​ а не GUI-методы. Команды работают и в Kubuntu, и в Xubuntu, и в Ubuntu, и в прочих системах. Надеюсь,​ вы сочли мою статью полезной,​ и в следующий раз, когда возникнет необходимость преобразовать видео или изображение,​ вы вспомните о командах mogrify и ffmpeg. В конце концов,​ дело мастера боится.
-Рекомендуемые источники:​+ 
 +<note important>​Рекомендуемые источники:​
 http://​www.imagemagick.org/​www/​mogrify.html – Очень полезное руководство по imagemagick в целом, с сайта автора. http://​www.imagemagick.org/​www/​mogrify.html – Очень полезное руководство по imagemagick в целом, с сайта автора.
-http://​www.ffmpeg.org/​documentation.html - Официальная документация по ffmpeg: полезная информация,​ FAQ и т.д.+http://​www.ffmpeg.org/​documentation.html - Официальная документация по ffmpeg: полезная информация,​ FAQ и т.д.</​note>​ 
 + 
 +<note tip>​Lucas научился всему, что знает, ломая систему,​ которую потом приходится учиться восстанавливать. Когда есть время, он также ведёт блог http://​lswest-ubuntu.blogspot.com.</​note>​ 
 + 
 +---- 
 +<style center>​ 
 +//​[[..:​22|К содержанию номера]]//​ 
 + 
 +//​[[:​fullcircle|К архиву журналов]]//​ 
 +</​style>​ 
 + 
 +{{tag>​Full_Circle}}