Convert linux все файлы

FFmpeg | Пакетная обработка. Конвертирование всех файлов в папке

%%i — это переменная, куда на каждой итерации будет попадать путь к webm-файлу. Вместо i можно использовать любую другую букву латинского алфавита.
В скобках после do идут команды. В данном случае, просто выводим в консоль значение переменной %%i .
Уже можно запускать скрипт:

Скрипт выводит имена webm-видео и сами команды. Чтобы убрать вывод команд, добавляем в начало @echo off

Для того, чтобы заменить в имени файла webm на mp4, необходимо получить имя файла без расширения. Вот примеры:
%%i — имя файла и расширение: video1.webm
%%~ni — имя файла без расширения: video1
%%~xi — только расширение: webm
Возьмём имя файла без расширения и добавим в конец .mp4
%%~ni.mp4 — имя файла и расширение mp4: video1.mp4

Теперь попробуем таким образом выстроить команду для ffmpeg:

Всё правильно подставилось и команда уже выглядит рабочей. Однако, последний файл содержит пробелы, которые служат разделением команд. Чтобы ffmpeg понял, что Моё прекрасное видео.webm и Моё прекрасное видео.mp4 это целое имя входного и выходного файлов, нужно взять эти параметры в двойные кавычки:

Запускаем, и видим, что ffmpeg успешно конвертирует все webm файлы в текущей папке.

Если нужно положить результирующие файлы в отдельную папку, можно добавить
mkdir out — создаёт новую папку при старте скрипта
И добавить out/ в результирующий путь:

Конвертирование всех файлов в папке (Linux) Создаём текстовый файл convert.sh , это будет наш первый скрипт.
Чтобы выбрать все webm файлы используется цикл for:

file — это переменная, куда на каждой итерации будет попадать путь к webm-файлу.
Между do и done идут команды. В данном случае, просто выводим в консоль значение переменной file . Знак $ используется для обращения к переменной.
Запускаем

Для того, чтобы заменить в имени файла webm на mp4, необходимо получить имя файла без расширения. Вот примеры:
$file / $ — получение значения переменной file, то есть имя и расширение: video1.webm
$ — имя файла без расширения webm: video1
Возьмём имя файла без расширения и добавим в конец .mp4
$.mp4 — имя файла и расширение mp4: video1.mp4

Теперь попробуем таким образом выстроить команду для ffmpeg:

Читайте также:  Linux with windows xp theme

Всё правильно подставилось и команда уже выглядит рабочей. Однако, последний файл содержит пробелы, которые служат разделением команд. Чтобы ffmpeg понял, что Моё прекрасное видео.webm и Моё прекрасное видео.mp4 это целое имя входного и выходного файлов, нужно взять эти параметры в двойные кавычки.
Остаётся только убрать echo:

Запускаем, и видим, что ffmpeg успешно конвертирует все webm файлы в текущей папке.

Если нужно положить результирующие файлы в отдельную папку, можно добавить
mkdir out — создаёт новую папку при старте скрипта
И добавить out/ в результирующий путь:

Источник

Команда Linux convert

В Linux команда convert библиотеки ImageMagick используется для пакетной обработки изображений, выполняя изменение формата, размера и многое другое.

Примеры использования команды convert в Linux

Синтаксис

$ convert [параметры_ввода] файл_ввода [параметры_вывода] файл_вывода

Опции

Количество параметров настолько велико, что представлять их все в одной статье нереально. Использование опций будет показано в примерах.

Для вывода всех параметров достаточно запустить следующую команду:

По умолчанию формат изображения (файла) определяется его магическим номером. Определённый формат изображения указывается перед именем файла и их разделяет двоеточие (например, ps:image ). Можно также указать тип изображения в качестве суффикса имени файла (например, image.ps ). Для стандартного ввода или вывода файл указывается как — .

Использование команды convert в Linux

Преобразование формата изображения

Преобразовать изображение из одного формата в другой с помощью команды convert чрезвычайно просто. Преобразуем файл tux.jpg в tux.png :

oleg@mobile:~/ImageMagick:$ convert tux.jpg tux.png oleg@mobile:~/ImageMagick:$

Исзодное изображение, преобразуемое в другой формат

Результат преобразования формата изображения

Изображение tux.png выглядит так же, как исходный файл tux.jpg , но при этом изменился не только формат, но и размер.

oleg@mobile:~/ImageMagick:$ ls -l итого 56 -rw-r--r-- 1 oleg users 10956 июн 8 13:46 tux.jpg -rw-r--r-- 1 oleg users 41649 июн 8 13:47 tux.png oleg@mobile:~/ImageMagick:$

Преобразование формата больших групп файлов

Команду convert можно с успехом использовать для пакетного преобразования формата, например, сотен файлов .jpg из сотен файлов .png (или наоборот). В зависимости от количества файлов выполнение задачи займёт от нескольких секунд до нескольких минут.

Рекомендую для выполнения задачи следующий скрипт:

#!/bin/bash for file in `ls *.png` do newfile=`echo $file | sed 's/png/jpg/'` convert $file $newfile done

Для преобразования формата .jpg в формат .png используется, конечно, sed ‘s/jpg/png/’ .

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

Вращение и переворот

Для поворота файла необходимо сообщить утилите нужный угол поворота в градусах. Поворачиваем изображение на 45° по часовой стрелке, используя опцию -rotate :

oleg@mobile:~/ImageMagick:$ convert tux.jpg -rotate 45 tux45.png oleg@mobile:~/ImageMagick:$

Поворот изображения

Результат поворота изображения

Читайте также:  Linux library loading path

Переворачиваем изображения, используя опцию -flip :

oleg@mobile:~/ImageMagick:$ convert tux.jpg -flip tux_flip.jpg oleg@mobile:~/ImageMagick:$

Переворот изображения

Результат переворота изображения

Обратите внимание, что в первой команде мы выполняем поворот и преобразование в файл .png с помощью одной команды.

Поворот на 180° и переворот приводят к разным результатам. После переворота изображение не изменяется, а после команды переворота создаётся зеркальное отражение исходного изображения.

Аннотирование

Добавление аннотации к изображению немного «геморройно», так как необходимо выбрать шрифт, размер, цвет и положение текста.

oleg@mobile:~/ImageMagick:$ convert tux.jpg -font courier -fill black -pointsize 24 -annotate +17+243 'Крутой пингвин' tux_annot.jpg oleg@mobile:~/ImageMagick:$

Аннотированное изображение

Координаты указываются относительно левого верхнего угла изображения. Поэкспериментировав с настройками всегда можно найти подходящий вариант.

Объединение

Создаём из двух изображений одно:

oleg@mobile:~/ImageMagick:$ convert tux.jpg tux_flip.jpg -append tux_append.jpg oleg@mobile:~/ImageMagick:$

Объединение изображений

В полученном файле находятся исходное и перевёрнутое изображения.

Масштабирование

Изменение размеров изображения выполняется очень просто:

oleg@mobile:~/ImageMagick:$ convert -geometry 120x160 tux.jpg tux_out.jpg oleg@mobile:~/ImageMagick:$

Изображение tux.jpg масштабировано до ширины — 120 и высоты — 160 пикселей, а полученное изображение записано в файл tux_out.jpg .

Операции с цветом

При операциях с цветом изменяются цветовые пространства: RGB/CMYK, grayscale и BW. Здесь используется опция -colorspase . Параметр -colorspace позволяет переводить изображения между разными цветовыми пространствами: GRAY, OHTA, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK.

Переводим изображение в оттенки серого:

oleg@mobile:~/ImageMagick:$ convert -colorspace GRAY tux.jpg tux_gray.jpg oleg@mobile:~/ImageMagick:$

Изображение, переведённое в оттенки серого

Изображение в оттенках серого

Заключение

В статье были приведены лишь базовые примеры преобразования изображений в Linux командой convert , входящей в библиотеку ImageMagick. Был приведён пример пакетной обработки изображений.

Возможности утилиты огромны. Она позволяет: преобразовывать изображение в чёрно-белое; постеризовать; инвертировать; изменять разрядность и контраст; нормализовать; кадрировать и выполнять многие иные операции.

Источник

convert в Linux

Изображение баннера

Command ‘convert’ not found, but can be installed with: sudo apt install graphicsmagick-imagemagick-compat # version 1.4+really1.3.38-1, or sudo apt install imagemagick-6.q16 # version 8:6.9.11.60+dfsg-1.3build2 sudo apt install imagemagick-6.q16hdri # version 8:6.9.11.60+dfsg-1.3build2

Нужно установить imagemagick

sudo apt -y install imagemagick

Пример

Сконвертируем изображение с граффити из города Торремолинос

graffity

Уменьшим ширину до 800 пикселей

convert graffiti.jpg -resize 800 graffiti800.jpg

graffity

Уменьшим ширину до 500 пикселей

convert graffiti.jpg -resize 500 graffiti500.jpg

graffity

Скрипты

Скрипт, который сжимает все изображения jpg и png до заданной ширины

#!/bin/bash WIDTH = 1600 for file in ./*; do EXT = » $ » FULLNAME = » $ » if [[ $EXT = «jpg» ]] || [[ $EXT = «png» ]] ; then convert $FULLNAME -resize $WIDTH $FULLNAME fi done

Читайте также:  Автоматическое установка драйверов linux

#!/bin/bash WIDTH = 1000 resize_image() file = $1 EXT = » $ » FULLNAME = » $ » echo $FULLNAME if [[ $EXT = «jpg» ]] || [[ $EXT = «png» ]] ; then convert $FULLNAME -resize $WIDTH $FULLNAME fi > for file in ./*; do resize_image $file done

Источник

compizomania

Мы очень часто в повседневной жизни сталкиваемся с словом — Конвертировать. Конвертировать — преобразовывать из одного формата в другой. Это касается когда мы конвертируем/преобразовываем деньги из одной валюты в другую, например, евро в доллар или любую другую денежную единицу, конвертация в производстве, когда определённый вид продукции преобразовывается в иной, например, в металлургии получить металл путём обработки исходного продукта (руды) в конвертере (металлургическая печь) и т.п.
В данной статье пойдёт речь о конвертации (преобразовании) формата файла изображения из PNG в JPG и наоборот, с помощью командной строки.

Программа convert входит в набор программ (консольных утилит) для чтения и редактирования файлов множества графических форматов — ImageMagick.

Как использовать команду Convert

Прежде всего в вашей системе должна быть установлена программа ImageMagick. Если она не установлена, выполните следующую команду в терминале для установки в Ubuntu и производные:

sudo apt-get install imagemagick

После того как вы убедитесь, что ImageMagick установлен в системе, можно приступить к конвертации путём применения команды convert входной файл выходной файл.

Например, у меня в папке Изображения, файлового менеджера, находится снимок в формате .png:

Прежде всего необходимо войти в данную папку командой в терминале:

Примечание. Если у вас снимок находится в другой папке, то нужно войти в эту папку, изменив в команде Изображения на название данной папки. Например, если у вас снимок находится в папке Загрузки, то команда будет выглядеть: cd ~/Загрузки и т.п.

После того как вы вошли в искомую папку, выполните в терминале команду, которая конвертирует (преобразует) формат файла из .png в .jpg:

convert терминал.png терминал.jpg

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

Таким же образом можно преобразовать изображение и наоборот, из формата .jpg в .png.

Команда convert может быть использована более чем в 100 различных опциях.
Например, для изменения размеров снимка. Уменьшить размер изображения, прежде чем он превратится в формат .png:

convert терминал.jpg -resize 200 терминал.png

Для получения списка поддерживаемых форматов команды convert введите и выполните в терминале команду:

Источник

Оцените статью
Adblock
detector