Редактирование и преобразование аудио и видео файлов

Материал из MediaWiki
Перейти к навигации Перейти к поиску

Как в Linux работать с видео? Какие есть программы для работы с видео?

Обычно для работы нужны:

Программа для примитивного монтирования — avidemux. Программы посложнее: OpenShot, PiTiVi, Kino, Kdenlive, Jahshaka и LiVES. Для профессиональной обработки видео или для выполнения задач аниматоров и дизайнеров подойдет Cinelerra.

А ещё есть неплохой обзор со скриншотами и сводной таблицы возможностей некоторых вышеперечисленных.

Если очень нравится mencoder, но хочется получить графический интерфейс — вам поможет страница на сайте mplayer, на которой перечислены все возможные фронтенды как к MPlayer, так и к Mencoder.

Какой есть софт для работы со звуком? Для создания музыки?

/* FIXME: Написать подробно что и как */

Проще всего использовать Planetccrma, это репозиторий для Fedora, позволяющий превратить дистрибутив в рабочую станцию с low-latency ядром и множеством для работы со звуком. На сайте есть описание программ.

Существует свободная профессиональная DAW под названием Ardour. Проект обладает всеми необходимыми фичами, удобен в использовании и постоянно развивается. К недостаткам можно отнести отсутствие версии под оффтопик и относительно высокий порог вхождения для тех, кто ранее не работал с такого рода программами (например cubase).

Из более простого существует wave-редактор Audacity. Он умеет несколько дорожек, некоторые эффекты, само собой, обрезать и перетаскивать фрагменты и даже записывать звук с микрофона или линейного входа. Если проводить аналогию, то это что-то вроде adobe audition, только ещё чуть попроще и легче. Запускается и работает быстро. Пригодится в тех случаях, когда надо сделать что-то по-быстрому, и запускать относительно тяжёлый Ardour не хочется.

Драм-машин уровня DfH Superior или Battery нет, но есть LMMS, в котором можно использовать сэмплы оттуда, правда с гуманизацией придётся колдовать как-то самому.

Для коммуникации между разными программами, а также для уменьшения задержки существует звуковой сервер JACK. Он автоматически запускается в том числе Ardour'ом, но можно его запустить и вручную.

/* FIXME: Не забыть и про UbuntuStudio и 64 Studio */

Как работать с форматом mkv (добавлять/удалять дорожки, настраивать задержки, выбирать языки)?

Вам поможет MKVToolNix, там есть всё необходимое, в том числе и GUI-фронтэнд ко всем консольным командам с интуитивно понятным интерфейсом.

Чем разрезать avi-файл?

Проще и лучше всего программой avisplit из комплекта transcode. Еще можно колдовать, используя mencoder с ключами -ss (-sb) и -frames, но это сложновато.

Чем склеить avi-файл?

Проще всего с помощью программы avimerge из того же комплекта transcode. Например:

avimerge -i input1.avi input2.avi -o new_input12.avi

Можно с помощью mencoder. Например:

cat input1.avi input2.avi | mencoder - -forceidx -oac copy -ovc copy -o new_input12.avi

Минус в строчке не лишний - он означает, что видео берется из потока. Файлы должны иметь одинаковые параметры - т.е. видео должно быть зажато одним и тем же кодеком, аудио - то же самое, плюс параметры сжатия должны быть одинаковы (т.е. разрешение видео, битрейт). Опция -forceidx нужна, чтобы после склейки не "съехали" индексы и фильм можно было нормально перематывать.

Как сделать видеоролик из набора фотографий?

Для объединения нескольких изображений в видеоролик с наложением звуковой дорожки можно использовать ffmpeg:

ffmpeg -i sound.mp3 -f image2 -i img/image%d.jpg video.avi

Тоже самое средствами mencoder:

mencoder mf://*jpg -mf w=640:h=480:fps=10:type=jpg -ovc lavc -lavcopts \
      vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi

Плюс добавляем звуковую дорожку:

mencoder -oac copy -ovc copy -audiofile sound.mp3 output.avi -o video.avi

Преобразуем в mpeg4:

mencoder Alex.avi -oac mp3lame -lameopts abr:br=32 -ovc lavc \
      -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=160  -vf scale=320:240  -o films.avi

Как исправить индексы в видеофайле? Почему у меня перемотка в некоторых видеофайлах не работает?

Довольно просто - индексы нужно перестроить. Воспользуемся mencoder. Например:

mencoder input.avi -forceidx -oac copy -ovc copy -o output.avi

Также можно использовать утилиту avifix из из комплекта transcode. Например:

avifix -i input.avi

Как приклеить звук к avi-файлу? Как приклеить вторую звуковую дорожку?

Проще всего с помощью программы avimerge из комплекта transcode. Например:

avimerge -i input.avi -p input.wav -o output.avi

Соответственно, клеится звук на первую свободную дорожку. Для avi-файлов, это дорожки с номерами от 0 до 31. Если дорожка 0 уже занята, то звук приклеится к дорожке 1 и получится avi с несколькими дорожками.

Как убрать нулевую звуковую дорожку из avi-файла?

На самом деле как убрать определенную дорожку я не знаю. Но если в файле одна дорожка или несколько, их все можно убрать с помощью mencoder так:

mencoder input.avi -ovc copy -nosound -o output.avi

Помните, что любая операция, произведенная с помощью mencoder, убьет дополнительные звуковые дорожки из видеофайла.

Как выделить звуковую дорожку из avi-файла?

Тут есть два варианта:

1. В помощью MPlayer. Так мы сможем получить чистый звуковой файл так, как он закодирован. Например:

mplayer input.avi -vo null -dumpaudio -dumpfile mysound.mp3

Соответственно, запишется файл mysound.mp3. Правда звук запишется в том формате, в котором был - т.е. если PCM, то в PCM, если в AC3, то в AC3 и т.п.

2. С помощью mencoder:

mencoder input.avi -of rawaudio -oac mp3lame -ovc lavc -o output.mp3

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

3. Тоже при помощи mencoder. Этим способом мы получим звук в контейнере avi (просто не будет видео):

mencoder input.avi -ovc null -oac copy -o sound.avi

Такой звук отлично подходит для работы с видеофайлами (типа подклейки и т.п.). К тому же часто звук ac3 играется без проблем именно из avi-контейнера.

Пережал звук из wav в mp3 и подклеил к avi-файлу, теперь видео не синхронизировано с аудио. Что делать?

Вообще это нехорошая практика жать звук отдельно. Тем не менее, если жмешь звук с помощью lame, нужно воспользоваться ключиком --cbr (т.е. никакого переменного битрейта). Должно помочь .

Либо можно приклеить к avi этот wav-файл, после чего жать его средствами mencoder. Например:

avimerge -i input.avi -p input.wav -o input-wav.avi
mencoder input-wav.avi -ovc copy -oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 -o output-mp3.avi

Avimerge не подклеивает wav и/или mp3 к avi

В некоторых дистрибутивах avimerge так собран. Его придется пересобрать (например, в случае с дистрибутивом Fedora avimerge из репозитория livna.org не воспринимает mp3).

А можно пойти другим путем, используя mencoder:

mencoder input.avi -audiofile audio.avi -oac copy -ovc copy -o output.avi

Как перегнать mp3 в ogg (в том числе из консоли)?

Вы можете воспользоваться программой ecasound.

Для преобразования из консоли воспользуйтесь скриптом mp32ogg. Это не домашняя страница проекта, а сам скрипт, исправленный svyatorog для перекодировки тэгов сразу в unicode. Домашняя страница проекта - [1].

Есть второй вариант - поместить mp3 в контейнер ogg, единственное, что не все плееры понимают такой ogg. Утилита для такой операции называется ogmmerge, входит в состав OGMtools.

На самом деле перекодирование из одного lossy-формата в другой проводить не стоит.

Как создать тег mp3-файла в кодировке UTF-8 (например, для MPD)?

Кодировка UTF-8 поддерживается только id3 тэгами версии 2.4 (id3v2.4). Есть CLI утилита eyeD3, написанная на python, которая умеет создавать/редактировать id3 теги версии 2.4.

Как массово преобразовать все теги моей коллекции в UTF-8?

Для массовой перекодировки можно воспользоваться утилитой mid3iconv из пакета mutagen. В Debian соответствующий пакет называется python-mutagen. Предполагается, что первоначально теги были в кодировке CP1251

find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

Замечание: если тэги уже в ID3v2.4 и UTF-8, ничего страшного не произойдет, так что эту команду можно использовать на смешанной коллекции.

Если нужен GUI, используйте ExFalso или QuodLibet.

Чем изменить частоту в wav-файле (и не только)?

С помощью утилиты sox. Достаточно добавить нужную частоту в список параметров выходного файла. Например:

sox input.wav -r 44100 output.wav

При конвертации в ogg утилитой oggenc можно использовать ключ --resample.

Чем объединить несколько mp3 или ogg в один?

Как перекодировать фильм для КПК (PDA,avi,DVD)?

Точно так же, как и для обычного компьютера. Разница заключается в разрешении и битрейте. Так же не стоит пользоваться экзотическими кодеками.

Фильмы, закодированные так, как описано, прекрасно смотрятся с помощью tcpmp (преемник betaplayer).

Будь то КПК с разрешением VGA или QVGA для обоих прекрасно подойдет классическое разрешение 320x240 и его вариации. Битрейт - от 170 до 220 кбит/сек. Поставите меньше - получите квадраты на быстрых сценах. Поставите больше и увеличите размер файла без заметного улучшения качества.

Не советую ухудшать звук, если пережимаете из avi-файла, потому что если экран у вас меньше, то звук-то как раз не ухудшается. Более того, в наушниках некачественный звук раздражает больше. Хотя, если места совсем мало, можете сделать звук mono, 22050 Гц на 80кбит/с. Это минимум того, что я видел. Экономит примерно 30-40Мб.

Итак, скрипт для перекодировки фильма из avi-файла с помощью mencoder (кодируется реальный полуторачасовой фильм "К оружию" из серии "Вавилон-5"):

#!/bin/bash

PH=/mnt/dos/media/Video
READYPH=/mnt/dos/media/Video/ready
NAME=Babylon5_Call_to_Arms
BITRATE=230
NICE=15
ENG=129
RUS=128

nice -n $NICE mencoder /mnt/dos/media/Video/$NAME".avi" -ni \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=320:176,pp=hb/vb/dr -sws 2 \
-oac copy \
-o $READYPH/$NAME"-pda.avi"

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

Можно еще число кадров снизить. Тогда добавим в строчку команду -ofps 25 для того, чтобы получить 25 кадров в секунду. Правда есть засада - на некоторых сценах изображение может дергаться.

Размер фильма будет около 200 Мб. Так что на гигабайтную карту легко поместятся четыре фильма.

Точно так же кодируется фильм из DVD. Меняем строчку с параметрами на нижеприведенные:

cat $PH/*vob | nice -n $NICE mencoder - -ni -aid $RUS \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$RUS".avi"
cat $PH/*.vob | nice -n $NICE mencoder - \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=320:176,pp=hb/vb/dr -sws 2 \
-nosound \
-o $READYPH/fin_noso.avi
nice -n $NICE avimerge -i $READYPH/fin_noso.avi -p $READYPH/"sound-"$RUS".avi" -o $READYPH/final.a
vi

Как перекодировать DVD в mpeg4 (dvd2mpeg)?

Пришлось отдельно выносить этот вопрос, потому что предыдущий вопрос-ответ никто не читает.

Перекодировать ваш DVD в mpeg4 можно с помощью консольных утилит mencoder и transcode.

Посчитать битрейт можно с помощью калькулятора DivXcalc.

Кодирование в 2 прохода с двумя звуковыми дорожками на два cd можно сделать таким скриптом (в mpeg4):

#!/bin/bash

PH=/mnt/dos/dvd
READYPH=/mnt/dos/dvd/ready
BITRATE=1600
NICE=15
ENG=129
RUS=128
FPS=25
DATE="`date +%H%M%d`"

cp divx2pass.log "divx2pass-"$DATE".log"

cat $PH/*vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $RUS \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$RUS".avi"

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -ni -aid $ENG \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$ENG".avi"

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=640:360,pp=hb/vb/dr -sws 2 \
-nosound \
-o /dev/null

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS \
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=640:360,pp=hb/vb/dr -sws 2 \
-nosound \
-o $READYPH/final-f1.avi

rm -f $PH/*.vob

nice -n $NICE avimerge -i $READYPH/final-rc1.avi -p $READYPH/"sound-"$RUS".avi" -o $READYPH/final-rc2.avi
nice -n $NICE avimerge -i $READYPH/final-rc2.avi -p $READYPH/"sound-"$ENG".avi" -o $READYPH/final.avi

Для кодирования в три прохода понадобится mplayer версии не ниже 1.0pre7 и кодек lavc.

Или в этом скрипте можно поменять несколько строчек и кодировать в xvid:

меняем строчку с cp:

cp xvid-twopass.stats "xvid-twopass-"$DATE".stats"

и меняем строчки с кодированием видео

cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -ni \
-ovc xvid -xvidencopts pass=1:vhq=1:qpel:trellis \
-nosound \
-vf crop=718:422:2:66,scale=640:356,pp=hb/vb/dr -sws 2 \
-o /dev/null
cat $PH/*.vob | nice -n $NICE mencoder - -ofps $FPS -aid $RUS -ni \
-ovc xvid -xvidencopts bitrate=$BITRATE:pass=2:vhq=1:qpel:trellis \
-nosound \
-vf crop=718:422:2:66,scale=640:356,pp=hb/vb/dr -sws 2 \
-o $READYPH/final-rc1.avi

Если вы хотите оставить звук в ac3 (как он идет в dvd), то вместо строчек перекодирования в mp3 поставьте

-oac copy

Как пережать DVD9 в DVD5?

Взято отсюда. Автор Vladimir Kurtukov. Переписано в FAQ, дабы не потерялось.

Hеобходимые программы: 1. dvdauthor, dvdunauthor - [2]

2. mplex mjpegtools не ниже 1.6.2 - [3]

3. extract_mpeg2 libmpeg2 - [4]

4. extract_a52 liba52 - [5]

5. tcprobe - [6]

6. M2VRequantizer - [7]

7. growisofs, mkisofs

Сам процесс:

1. dvdunauthor-ом делаем с dvd проект. он его делает не совсем правильно и надо либо выкинуть vmgm и menus секции, либо как-то дописать недостающее. для компьютерных dvd можно выкинуть.

2. Надо посмотреть, что собой представляет vob.

        # tcprobe -i vob_01_001t.vob
        [tcprobe] MPEG program stream (PS)
        [tcprobe] summary for vob_01_001t.vob, (*) = not default, 0 = not detected
        import frame size: -g 720x576 [720x576]
             aspect ratio: 16:9 (*)
               frame rate: -f 25.000 [25.000] frc=3
                           PTS=0.2873, frame_time=40 ms, bitrate=9800 kbps
              audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
                           PTS=0.2873, bitrate=384 kbps
        detected (2) subtitle(s)

3. затем большой vob расчленяем на video и audio потоки

        extract_mpeg2 <vob_01_001t.vob >vob_01_001t.m2v
        extract_a52 -s 1 <vob_01_001t.vob >vob_01_001t.ac3

В ключик -s подставить номер нужной дорожки, см. -a в выводе tcprobe

Проверить, какая же именно дорожка нам нужна, можно задав mplayer-у ключик -aid 128+<номер нужной дорожки>

4. Берем софтину M2VRequantizer.

user@localhost~ $ ls -l vob_01_001t.m2v

        -rw-r--r--  1 root  wheel  1833868872 Mar  5 22:58 vob_01_001t.m2v

        # ./M2VReqiantizer 1.2 3 1833868872 <vob_01_001t.m2v >vob_01_001t-out.m2v
        M2VRequantiser by Makira.
        Using 1.200000 as factor, 1833868872 as m2v size.

factor - число, во сколько раз будет уменьшен размер файла

user@localhost~ $ ls -l vob_01_001t-out.m2v
        -rw-r--r--  1 root  wheel  1525283645 Mar  5 23:36 vob_01_001t-out.m2v

5. Собираем обратно vob.

user@localhost~ $ mplex -f 8 -o vob_01_001t.vob vob_01_001t-out.m2v vob_01_001t.ac3

где -f 8 - формат DVD

6. Остается запустить dvdauthor.

        # dvdauthor -o dvd -x dvdauthor.xml
        # dvdauthor -T -o dvd

и в каталоге dvd будет результат

7. Запись на болванку.

user@localhost~ $ growisofs -Z /dev/cd0c -speed=4 -dvd-video -V LABEL dvd

Чем под Linux сделать DVD из avi-файла? Как сделать DVD с помощью mencoder, или transcode?

Можно попробовать графические утилиты (они вам пригодятся для создания менюшек и т.п.) под названием QDVDAuthor или DeVeDe.

Можно прочитать вот эту статью или же сделать все скриптами как показано ниже.

Алгоритм кодирования в dvd такой:

  1. Звук конвертируете в pcm, ac3, mp2 (mpeg 1 layer2).
  2. Видео конвертируете в mpeg2video. Это можно сделать с помощью mplex из комплекта mjpegtools, или с помощью mencoder (output format: -of mpeg), но лучше первым. К тому же mencoder не умеет делать звук mp2.
  3. Далее можно пропустить это через dvdauthor, чтобы сформировать структуру каталогов.
  4. Затем делается image.
  5. Запись.

Все прочитали? Можно автоматизировать процесс с помощью mkdvd. Или скрипта Obidos'а:

1-й случай. PAL (в исходном avi 25fps).

#!/bin/sh

mkdir tmp
ORIG=tmp/`basename $1 .avi`
echo "Doing transcode..."
transcode -i $1 -V -y mpeg2enc,mp2enc -F "5,-S 800" -E 44100 -b 128  -o $ORIG -Z 480x576
echo "Doing mplex..."
mplex -f 4 -S 800 -o $ORIG%d.mpg $ORIG.m2v $ORIG.mpa

2-й случай. NTSC (в исходном avi 29.97fps либо 23.976fps).

#!/bin/sh

mkdir tmp
ORIG=tmp/`basename $1 .avi`
echo "Doing transcode..."
transcode -i $1 -V -y mpeg2enc,mp2enc -F "5,-S 800" -E 44100 -b 128  -o $ORIG -j -92 -Z 480x480
echo "Doing mplex..."
mplex -f 4 -S 800 -o $ORIG%d.mpg $ORIG.m2v $ORIG.mpa
#end

3. Скрипт сборки образа диска для прожига

#!/bin/sh

TITLE=`basename $1 .mpg`
echo "Doing VCDImager..."
vcdimager -p -t svcd -b $TITLE.bin -c $TITLE.cue $@

4. Скрипт прожига

#!/bin/sh
# первый параметр -- имя .cue-файла, второй -- скорость.

cdrdao write -v 2 --speed $2 $1

Замечания

  1. Для NTSC материала нужно правильно подобрать значение параметра -j. Указанное значение (-92) корректно для фильмов им. тов. Гоблина (тех, что я кодировал).
  2. Максимальный размер диска — 800Мб, что отлично влезает на 700Мб болванку из-за того, что пишется «полный» сектор. Грубо можно считать "800Мб == 80 мин".

Где взять: mkdvd, mjpegtools, dvdauthor, mencoder, transcode

См. также дополнительное инфо:

Как преобразовать .ape + .cue во .flac с потрековым разбиением?

Вариант 1

По причине отсутствия поддержки .ape + .cue во многих плейерах для Linux, иногда возникает необходимость перекодирования .ape в хорошо поддерживаемый .flac с потрековым разбиением. Для достижения цели нам понадобятся следующие инструменты: shntool, mac и flac. Прежде чем качать исходники и собирать поищите их в репозитории своего дистрибутива.

Сама по себе команда перекодирования умещается в одну строчку:

$ shntool split your_ape_file.ape -f cue_list_for_your_ape_file.cue -o flac -t "%n - %t"

Приведённая выше команда означает следующее: разрезать your_ape_file.ape, извлекая данные о длительности треков и их названиях из файла cue_list_for_your_ape_file.cue, закодировав выходные данные в формате flac. Полученные файлы именовать по маске "Номер дорожки - Название дорожки".

Данной командой можно резать как ape + cue, так и flac + cue-файлы.

Кроме ключей названия %n и %t так же можно использовать ключ %p, который задает исполнителя (от англ. performer).

Вариант 2

$ sudo aptitude install cuetools shntool flac wavpack
$ ffmpeg -i CDImage.ape CDImage.flac
$ cuebreakpoints CDImage.cue | shnsplit -a "Miles Gurtu" -o flac CDImage.flac
$ cuetag CDImage.cue Miles*.flac

Как создать gif-анимацию?

Получить gif-анимацию из видеоролика в Linux очень легко, для этого вам потребуется MPlayer и всего лишь одна команда в консоли:

$ mplayer myvideo -ao null -ss 0:00:00 -endpos 00 -nosub -vf scale=320:240 -vo gif89a:fps=24:output=mygif.gif

Здесь:

  • myvideo - видео из которого вы хотите создать анимацию
  • -ao null - не выводить звук
  • -ss 0:00:00 - стартовая позиция видеофрагмента в видеоролике, из которого будет получена анимация (формат - часы:минуты:секунды)
  • -endpos 00 - длина видеофрагмента в секундах
  • -nosub - без субтитров
  • -vf scale=320:240 - разрешение получаемой анимации в пикселях (формат ширина:высота)
  • -vo gif89a:fps=24:output=mygif.gif - количество кадров в секунду (fps=24) и название итоговой анимации (mygif.gif)

Если по каким-либо причинам вам не понравилось качество или размер анимации, существует иной, более сложный способ ее изготовления при помощи редактора GIMP:

Первым шагом экспортируем необходимый фрагмент видео в набор jpg картинок:

$ mplayer myvideo -ao null -ss 0:00:00 -endpos 00 -nosub -vf scale=320:240 -vo jpeg:outdir=picturesdirectory

Здесь:

  • -vo jpeg:outdir=picturesdirectory - картинки сохраняются в директорию picturesdirectory

Следующим шагом обрабатываем в GIMP полученные картинки:

  • "File / Open As Layers", "Файл / Открыть как слои" - открываем картинки как слои
  • "File / Export As", "Файл / Экспортировать как" - экспортируем и сохраняем картинки как анимированный gif

Необходимо заметить, что GIMP позволяет творчески обрабатывать получаемую анимацию, что является несомненным плюсом его использования, также при помощи GIMP можно оптимизировать полученную анимацию, сократив ее размер:

  • "Filters / Animation / Optimization", "Фильтры / Анимация / Оптимизация"

Как для первого, так и для второго способа получения gif-анимации удобным способом оптимизации полученных гифок будет использование программы gifsicle:

$ gifsicle --optimize -O3 --colors 128 mygif.gif > mygifoptimized.gif

Здесь:

  • --optimize -O3 - уровень оптимизации
  • --colors 128 - количество цветов (от 2 до 256)