FFmpeg базовые команды. Полезные команды Ffmpeg Установка ffmpeg на windows xp

Если вы часто работаете с видео в операционной системе Linux, то наверное, слышали об утилите и наборе библиотек ffmpeg. Это мощная кроссплатформенная библиотека, которая позволяет делать почти любые действия с видео. Вы можете склеивать, кодировать, изменять, обрезать видео, но все это через терминал.

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

Она может вас спасти, когда другие программы зайдут в тупик. В этой статье мы рассмотрим полезные команды ffmpeg, которые пригодятся вам в повседневной работе с видео.

ffmpeg - это один из лучших мультимедийных фреймворков, который содержит различные инструменты, для решения разных задач. Например, ffplay - портативный медиа плеер, утилита ffmpeg может использоваться для обработки и инвертирования файлов, ffserver - для потоковой передачи данных, а ffprobe может анализировать мультимедийный поток.

В набор ffmpeg, кроме утилит, входят такие библиотеки: libavutil libavcodec libavformat libavdevice libavfilter libavresample libswscale libswresample libpostproc. Из-за своей архитектуры, этот набор инструментов очень безопасный, и с помощью него вы можете сделать почти все что угодно с видео или аудио. В этой статье мы будем рассматривать в основном утилиту ffmpeg. Давайте рассмотрим ее синтаксис:

[опции источника] -i [источник] [основные опции] [кодеки] [преемник]

  • Опции источника - указывают параметры чтения файла, настройки и так далее;
  • Источник - опция -i задает источник, откуда будет читаться файл, источников может быть несколько и это может быть не только файл, но и устройство;
  • Основные опции - задают параметры работы всей утилиты;
  • Кодеки - кодек, который будет использоваться для сохранения видео и аудио;
  • Преемник - файл или устройство, куда будут записаны данные.

Сейчас мы не будем подробно рассматривать опции, рассмотрим их потом, уже в самих командах.

Полезные команды ffmpeg

Как я уже сказал, утилита ffmpeg поддерживает большинство аудио и видео форматов. Чтобы проверить какие форматы поддерживаются вы можете выполнить:

Если вы новичок в использовании этого инструмента, то вот некоторые команды, которые могут вам очень сильно помочь. Дальше вы узнаете как пользоваться ffmpeg.

1. Получить информацию о видео

Чтобы получить доступную информацию о видео, достаточно просто указать файл источника. Выполните такую команду:

ffmpeg -i video.mp4 -hide_banner

Опция -hide_banner указывает программе, что не нужно показывать информацию о себе, опции сборки и так далее. Вы можете выполнить команду без этой опции, тогда получите всю информацию, в том числе и об ffmpeg:

ffmpeg -i video.mp4

2. Разбить видео на кадры

Чтобы разбить видео на изображения подойдет такая команда:

ffmpeg -i video.mp4 image%d.jpg

Утилита сгенерирует изображения с именами image1.jpg, image2.jpg, image3.jpg и так далее. После завершения вы найдете очень большое количество изображений в папке с видео.

3. Собрать видео из изображений

Вы можете взять полученный набор картинок и собрать все обратно в видео. Для этого выполните:

ffmpeg -f image2 -i image%d.jpg imagestovideo.mpg

Опция -f задает формат входного файла, вы можете использовать jpeg, png, jpg и другие картинки. И вы уже знаете как посмотреть поддерживаемые форматы ffmpeg.

4. Вытянуть звук из видео

Чтобы конвертировать видео в mp3 выполните команду:

ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3

Вот описание новых опций:

  • -vn - не обрабатывать видео, вся видео информация будет отброшена;
  • -ar - частота дискретизации, измеряется в герцах, чем больше, тем лучше качество звука;
  • -ab - устанавливает битрейт аудио;
  • -ac - устанавливает количество каналов;
  • -f - указывает формат полученного файла.

5. Конвертировать flv в mpg

Для конвертирования flv в mpg выполните:

ffmpeg -i video.flv video.mpg

6. Преобразовать видео в gif

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

ffmpeg -i video.flv animated.gif

Мы не указываем кодеки ffmpeg и формат, потому что программа может их сама определить по расширению.

7. Преобразовать mpg в flv

Чтобы конвертировать видео mpg в flv выполните:

ffmpeg -i video.mpg -ab 26k -f flv video1.flv

Здесь мы уже задали битрейт и формат.

8. Преобразовать avi в mpeg

Для этого выполните команду:

ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg

Использованные опции:

  • -target pal-dvd - формат исходящего файла;
  • -ps 2000000000 - максимальный размер полученного файла;
  • -aspect 16:9 - соотношение сторон экрана.

9. Конвертировать видео в CD или DVD формат

Чтобы выполнить конвертирование ffmpeg видео в формат DVD, нужно задать ваш формат с помощью опции -target. Доступны такие форматы: vcd, svcd, dvd, dv, pal-vcd или ntsc-svcd. Чтобы создать VCD выполните:

ffmpeg -i video.mpg -target vcd vcd_video.mpg

10. Склеить аудио и видео вместе

Вы можете собрать видео и звуковой файл в одну дорожку с помощью команды:

ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg

11. Увеличить/уменьшить скорость видео

Чтобы увеличить скорость воспроизведения видео мы будем использовать фильтры, с помощью опции -vf. За скорость отвечает фильтр setpts. Например:

ffmpeg -i video.mpg -vf "setpts=4*PTS" highspeed.mpg

А так можно уменьшить скорость:

ffmpeg -i video.mpg -vf "setpts=0.5*PTS" lowerspeed.mpg -hide_banner

12. Вырезать прямоугольник из видео

Для того чтобы вырезать определенный участок кадра из видео тоже используются фильтры. На этот раз фильтр crop:

ffmpeg -i in.mp4 -vf "crop=out_w:out_h:x:y" out.mp4

  • out_w - ширина нужного прямоугольника;
  • out_h - высота нужного прямоугольника;
  • x,y - задают координаты прямоугольника от начала видео.

Например, обрежем прямоугольник размером 80х60 от позиции 100х200:

ffmpeg -i in.mp4 -vf "crop=80:60:200:100" video.mp4

Кроме этих опций, здесь можно задавать кодеки ffmpeg и форматы, чтобы параллельно выполнить кодирование ffmpeg.

13. Обрезать видео

Тут уже фильтры нам не помогут, но зато мы можем указать опциями из какого момента нужно начать и где завершить, например:

ffmpeg -i video.mp4 -ss 00:01:00 -t 00:01:00 -c copy video_clip.mp4

Начинаем от минуты и пишем еще минуту:

  • -ss задает время на видео, из которого стоит начать запись;
  • -t задает время когда запись нужно завершить относительно ss;
  • задает кодеки для аудио и видео, в нашем случае просто копировать файлы, ничего не перекодируя.

14. Склеить два видео

Чтобы склеить два видео используйте команду:

ffmpeg -i concat:"video1.mpg|video2.mpg" -c copy video.mpg

15. Проиграть видео

Вы можете быстро проиграть видео, чтобы оценить его качество, для этого есть команда:

ffplay video.mp4

Программа открывает и видео, и аудио.

16. Фото-баннер для аудио

Вы можете добавить фото баннер к вашей аудио записи с помощью следующей команды:

ffmpeg -loop 1 -i image.jpg -i Bryan\ Adams\ -\ Heaven.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

Рассмотрим опции:

  • -loop - задает, что нужно всегда повторять оду и ту же картинку;
  • -i - задают входящие файлы, картинку и аудиофайл;
  • -с:v - задает видеокодек, эквивалентно -vc;
  • -c:a - задает аудиокодек, эквивалентно -ac;
  • -b:a - задает битрейт аудио, эквивалентно -ab;
  • -strict experimental - кодек aac для ffmpeg экспериментальный, поэтому чтобы его использовать нужна эта опция.

17. Добавить субтитры к видео

Если у вас есть отдельный файл субтитров, например с именем subtutle.srt, вы можете использовать такую команду, чтобы добавить его к видео:

ffmpeg -i video.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mkv

Выводы

Это все полезные команды ffmpeg, которые сегодня были рассмотрены. Но вы можете найти еще больше команд и еще больше возможностей просмотрев официальную документацию утилиты. Если вы знаете другие очень интересные и полезные команды ffmpeg, напишите в комментариях!

На десерт видео по теме, что такое видеокодеки, кодеры, а также описание основных форматов видео:

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

FFMPEG (1) FFMPEG (1)

НАИМЕНОВАНИЕ

FFmpeg - FFmpeg видео конвертер

СИНТАКСИС

FFmpeg [[Опции_входного_файла] [-i INFILE ]]... {[Опции_выходного_файла] OUTFILE} ...

ОПИСАНИЕ

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

Таким образом, порядок важен, вы можете использовать одну и ту же опцию в

Командной строке несколько раз. В каждом случае применяются к

Входному или выходному файлу.

* Чтобы установить видео битрейт выходного файла в 64 Кбит / с:

FFmpeg -i input.avi -b 64K output.avi

* Чтобы установить частоту кадров выходного файла до 24 кадров в секунду:

FFmpeg -i input.avi -r 24 output.avi

* Чтобы установить частоту кадров входного файла (действителен только для сырых форматов)

1 кадр в секунду, а частоту кадров выходного файла 24 кадра в секунду:

Ffmpeg -r 1 -i input.m2v -r 24 output.avi

Опции формата могут быть необходимы для входных файлов.

По умолчанию, FFmpeg пытается преобразовать без потерь, в качестве возможного образца он

Использует те же аудио и видео параметры выхода как и у входа.

ВАРИАНТЫ ОПЦИЙ

*Общие опции*

Эти опции доступны из инструментов ffmpeg *.

L Показать лицензии.

H, -?,-help, --help.

Показать справку.

Version

Показать версию.

Formats

Показать доступные форматы.

Поля предыдущего формата имеют следующие значения:

D декодирование доступно

E Кодировка доступна

Codecs

Показать доступные кодеки.

Поля названия кодеков, имеют следующие значения:

D декодирование доступно

E Кодировка доступна

V / A / S

Видео / аудио / субтитров кодек

S кодек поддерживает ломтики

D Кодек поддерживает прямой рендеринг

T кодек может обрабатывать входные усечения в случайных местах, а не

Только в границе кадров

Bsfs

Показать доступных битов фильтров.

Protocols

Показать доступные протоколы.

Filters

Показать доступные libavfilter фильтры.

Pix_fmts

Показать доступные форматы пиксела.

LogLevel LogLevel

Установить уровень ведения журнала используется библиотека LogLevel, число или

Строка, содержащая одно из следующих значений:

Quiet

Panic

Fatal

Error

Warning

Info

Verbose

Debug

Основные опции:

F fmt

Группа форматов.

I файла

Входное имя файла

У Переписать выходной файл.

T Продолжительность

Ограничить транскодирование / захватывание видео последовательности с длительностью,

Которое указываются в секундах. "Чч: мм: [. XXX] SS" синтаксис также поддерживается.

Fs limit_size

Устанавливает предельный размер файла.

Ss позиция

Стремитесь данный момент положение в считанные секунды. "Чч: мм: [. XXX] SS" Синтаксис

Также поддерживается.

Itsoffset

Установите входное смещение по времени в секундах. "[-] Чч: мм: сс ". Синтаксис

Также поддерживается. Этот параметр влияет на все входные файлы, которые

Следовавшие за ним. К смещению добавляется метки из входных

Файлов. Указание положительного смещение означает, что соответствующие

Потоки с задержкой "compensation" секунд.

Timestamp время

Установить метку.

Metadata Значение метаданных <ключ ="значение">

Устанавливает метаданные в паре ключ / значение.

Например, для установки титул в выходной файл:

FFmpeg -i in.avi -metadate Title = "мой титул" out.flv

V число

Установить регистрации уровень подробности.

Target Целевого типа

Укажите целевой тип файла ("VCD", "SVCD", "DVD", "DV", "DV50",

"PAL-VCD", "NTSC-SVCD", ...). Все варианты формата (битрейт,

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

Указать тип:

FFmpeg -i myfile.avi -target VCD /tmp/vcd.mpg

Тем не менее вы можете указать дополнительные параметры, как вы знаете

Они не конфликтуют со стандартными, как и в:

FFmpeg -i myfile.avi -target VCD -bf 2 /TMP/vcd.mpg

Dframes число

Устанавливает число кадров данных для записи.

Scodec кодек

Группа субтитров кодека ("copy", чтобы скопировать поток).

Newsubtitle

Slang код

Устанавливает код языка ISO 639 (3 буквы) из текущей строки

Потока.

Параметры видео

B битрейт

Устанавливает скорость передачи видео в бит/с (по умолчанию = 200 Кб/с).

Vframes число

Устанавливает число кадров видео для записи.

R fps

Устанавливает частоту кадров (Гц значения, доли или аббревиатура), (по умолчанию =

25).

S размер

Устанавливает размер кадра. Формат WxH (ffserver по умолчанию = 160x128, ТВМ-

Привязки по умолчанию = такие же, как и исходного). Следующие сокращения

Признаны:

SQCIF

128x96

QCIF

176x144

352x288

4CIF

704x576

16cif

1408x1152

QQVGA

160x120

QVGA

320x240

640x480

SVGA

800x600

1024x768

UXGA

1600x1200

QXGA

2048x1536

SXGA

1280x1024

Qsxga

2560x2048

Hsxga

5120x4096

WVGA

8520x480

WXGA

1366x768

WSXGA

1600x1024

WUXGA

1920x1200

Woxga

2560x1600

Wqsxga

3200x2048

Wquxga

3840x2400

Whsxga

6400x4096

Whuxga

7680x4800

320x200

640x350

Hd480

852x480

Hd720

1280x720

Hd1080

1920x1080

Aspect аспект

Устанавливает соотношение сторон (4:3, 16:9 или 1,3333, 1,7777).

Croptop размер

Установить верхний размер группы культур (в пикселях).

Cropbottom размер

Устанавливает нижний размер группы культур (в пикселях).

Cropleft размер

Обрезать левую полосу (в пикселях).

Cropright размер

Установить правильный размер группы культур (в пикселях).

Padtop размер

Установите верхнюю площадку размером группы (в пикселях).

Padbottom размер

Установить нижний размер группы панели (в пикселях).

Padleft размер

Левый размер площадки (в пикселях).

Padright размер

Установить правильный размер группы площадки (в пикселях).

Padcolor hex_color

Установить цвет проложенной полосы. Соотношение padcolor выражается как

Шесть цифр шестнадцатеричного числа, где первые две цифры представляют

Красный, две средние цифры зеленого и последние две цифры синий (по умолчанию

000000 (черный)).

Отключить запись видео.

Bt толерантности

Установите скорость передачи видео (в битах, по умолчанию 4000K). С минимальным и

Максимальным значением: (target_bitrate / target_framerate). В 1-проходном режиме,

Битрейт толерантности определяет, как далеко <битпоток> готов делить

С битрейтом среднее значение цели. Это не связано с

Мин / макс битрейтом. Снижение толерантности слишком негативно влияет

На качество.

Maxrate битрейт

Установить максимальную скорость передачи видео (в бит / с). Требуется что бы

Bufsize быть установлен.

Minrate битрейт

Установить минимальный видео битрейт (в бит / с). Самые полезные в создании кодирования:

FFmpeg -i myfile.avi -b 4000K -minrate 4000k -maxrate 4000K -bufsize 1835k out.m2v

Это мало пользы elsewise.

Bufsize размер

Устанавливает видео буфер верификатор размера буфера (в битах).

Vcodec кодек

Вызовите видео кодек для кодека. Используйте "copy" что бы задать особое значение с

RAW Codec данные должны быть скопированы, как есть.

Sameq

Использование качество видео в качестве источника (подразумевает VBR).

Pass n

Выберите передать номер (1 или 2). Он используется, чтобы передавать видео

Кодировки. Статистика видео записываются в первом

Перейти в лог-файл (см. также опцию -passlogfile), а в

Второй проход, что лог-файл используется для создания видео,

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

И установить выход к нулю, примеры для Windows и Unix:

FFmpeg -i foo.mov -vcodec libxvid -pass -an -f rawvideo -y NULL

FFmpeg -i foo.mov -vcodec libxvid -pass -an -f rawvideo -y /dev/null

Passlogfile префикса

Установить двухпроходной имя файла журнала префикса имени файла по умолчанию

Префикс `` ffmpeg2pass"". Полное имя файла будет PRE-

FIX-N.log, где N это номер конкретной в выходной поток.

Newvideo

Добавить новый поток видео на текущий выходной поток.

Vlang код

Установите ISO 639 код языка (3 буквы) текущего видео

Потока.

Функции Advanced Video

Pix_fmt формат

Установить формат пикселей. "list" используется в качестве параметра для отображения

Всех поддерживаемых пиксель форматов.

Sws_flags флаги

Установить SwScaler флаги.

G gop_size

Установить группы размер фотографии.

Intra

Используйте только внутри кадра.

Vdt n

Отмена порога.

Qscale q

Использование фиксированного масштаба видео (VBR).

Qmin q

Минимальный масштаб видео (VBR)

Qmax q

Максимальный масштаб видео (VBR)

Qdiff q

Максимальная разница между квантователя веса (VBR)

Qblur размытия

Видео квантователя масштаб размытия (VBR) (диапазон 0,0 - 1,0)

Qcomp сжатия

Масштаб сжатия видео(VBR) (по умолчанию 0,5). Постоянная

Lmin лямбда

Минимальный коэффициент Лагранжа видео (VBR)

Lmax лямбда

Максимальный видео множитель Лагранжа (VBR)

Mblmin лямбда

Минимальный масштаб квантователь макроблоков (VBR)

Mblmax лямбда

Максимальный масштаб квантователь макроблоков (VBR)

Эти четыре варианта (Lmin, Lmax, mblmin, mblmax) единиц "lambda" использования,

Но вы можете использовать значение постоянной QP2LAMBDA легко конвертировать из "Q"

Единиц:

Ffmpeg -i src.ext-Lmax 21 * QP2LAMBDA dst.ext

Rc_init_cplx сложности

Начальные сложности для прохода одной кодировки

B_qfactor-фактор

Qp фактором между P- и B-кадром

I_qfactor-фактор

Qp фактором между Р- и I-кадром

B_qoffset смещение

Qp смещение между P- и B-кадром

I_qoffset смещение

Qp смещение между Р- и I-кадром

Rc_eq уравнения

Установить курс управления уравнение (по умолчанию = "text ^ qComp").

Rc_override переопределить

Контроль переопределение скорости в определенные промежутки времени

Me_method метод

Установить метод оценки движения к методу. Доступные методы

(От самого низкого до самого лучшего качества):

Zero

Попробуйте просто (0, 0) вектор.

Phods

Epzs

(По умолчанию метод)

Full

Исчерпывающий поиск (медленно и незначительно лучше, чем epzs)

Dct_algo алгоритм

Установить DCT алгоритм. Возможные значения:

0 FF_DCT_AUTO (по умолчанию)

1 FF_DCT_FASTINT

2 FF_DCT_INT

3 FF_DCT_MMX

4 FF_DCT_MLIB

5 FF_DCT_ALTIVEC

Idct_algo алгоритм

Установить IDCT алгоритм. Возможные значения:

0 FF_IDCT_AUTO (по умолчанию)

1 FF_IDCT_INT

2 FF_IDCT_SIMPLE

3 FF_IDCT_SIMPLEMMX

4 FF_IDCT_LIBMPEG2MMX

5 FF_IDCT_PS2

6 FF_IDCT_MLIB

7 FF_IDCT_ARM

8 FF_IDCT_ALTIVEC

9 FF_IDCT_SH4

10 FF_IDCT_SIMPLEARM

Er n

Установить устойчивость к ошибкам n:

1 FF_ER_CAREFUL (по умолчанию)

2 FF_ER_COMPLIANT

3 FF_ER_AGGRESSIVE

4 FF_ER_VERY_AGGRESSIVE

Ec bit_mask

Установить маскировки ошибок в bit_mask. bit_mask маски имеют

Следующие значения:

1 FF_EC_GUESS_MVS (по умолчанию = включено)

2 FF_EC_DEBLOCK (по умолчанию = включено)

Bf кадров

Используйте "frame" B-кадрах (поддерживаются MPEG-1, MPEG-2 и MPEG-4).

Mbd режим

Решения макроблоков

0 FF_MB_DECISION_SIMPLE: Используйте mb_cmp (не может изменить его еще в mmpeg).

1 FF_MB_DECISION_BITS: Выберите один, требующий меньшее количество

Бит.

2 FF_MB_DECISION_RD: соотношение сигнал-шум

Используйте четыре вектора движения на макро блоки (только MPEG-4).

Part

Использование секционирования данных (только MPEG-4).

Bug параметра

Обходить ошибки кодировщика, которые автоматически не обнаружены.

Strict строгости

Как строго следовать стандартам.

Включить расширенные внутри кодирования (h263 +).

Включить Неограниченные векторы движения (h263 +)

Deinterlace

Deinterlace фотографии.

Ilme

Группа поддержки в переплетении кодера (только MPEG-2 и MPEG-4). Используйте

Эту опцию, если входной файл с чересстрочной разверткой или вы хотите сохранить

Чересстрочный формат с минимальными потерями. Альтернативой является

Деинтерлейсинг входного потока с -deinterlace, но деинтерлейсинга

Вводит потерь.

Vstats

Дамп кодирования видео статистики vstats_HHMMSS.log.

Vstats_file файл

Дамп кодирования видео статистики в файл.

Top N

Вверху = 1/bottom = 0/auto =- 1 поле первое

Dc точности

Intra_dc_precision.

Vtag FourCC / теги

Вызовите видео теги / FourCC.

Qphist

Показать QP гистограммы.

Vbsf bitstream_filter

Bitstream_filter являются:

Dump_extra

Remove_extra

Noise

H264_mp4toannexb

Imxdump

Mjpegadump

*Аудио Функции*

Aframes aframes

Установить число кадров аудио записи.

Ar частота

Установите частоту дискретизации звука (по умолчанию = 44100 Гц).

Ab битрейт

Установить аудио битрейт в бит / с (по умолчанию = 64K).

Aq Q

Установите качество звука (кодек конкретных, VBR).

Ac каналы

Установите число аудио каналов (по умолчанию = 1).

An Отключить запись звука.

Acodec кодек

Группа аудио кодек для кодека. Используйте "copy" особое значение для указания

Что RAW Codec данные должны быть скопированы, как есть.

Newaudio

Добавить новую звуковую дорожку в выходной файл. Если вы хотите задать

Параметров, сделать это до надо примерно так: "-newaudio" ("-acodec", "-ab" и т.д..).

Отображение будет сделано автоматически, если количество выходных потоков

Равна числу входных потоков, иначе он будет выбирать до первого совпадения.

Вы можете изменить отображение с помощью "-map"

Как обычно.

Пример:

FFmpeg -i file.mpg -vcodec copy -acodec AC3 -ab 384k test.mpg -acodec MP2

Ab 192K -newaudio

Alang-код

Установите ISO 639 код языка (3 буквы) текущего аудио

Поток.

Advanced Audio вариантов:

Atag FourCC / теги

Группа тэг аудио / FourCC.

Absf bitstream_filter

Bitstream_filter являются:

Dump_extra

Remove_extra

Noise

Mp3comp

Добавлены возможности:

Scodec

Группа кодеков субтитров ("copy", чтобы скопировать поток).

Newsubtitle

Добавить новый поток субтитров на текущий выходной поток.

Alang код

Установите ISO 639 код языка (3 буквы) из текущей строки

Потока.

Sn Отключение записи субтитров.

Sbsf bitstream_filter

Bitstream_filer являются:

Mov2textsub

Text2movsub

Ffmpeg -i file.mov -an -vn -sbsf mov2textsub -scodec copy -f rawvideo sub.txt_

* Аудио / Видео варианты захвата*

Vc канал

Установить канал видео захвата (только DV1394).

Tvstd стандарт

Установите телевизионный стандарт (NTSC, PAL (SECAM)).

Isync

* Дополнительные параметры:*

Map input_stream_id [: sync_stream_id]

Установить поток отображение входных потоков в выходные потоки. Просто enu

Merate входных потоков в порядке, вы хотите их на выходе.

Sync_stream_id если указанные множества входного потока для синхронизации против.

Map_meta_data OUTFILE: INFILE

Перенос мета-данных информации от INFILE в OUTFILE.

Debug

Печатать конкретную информацию отладки.

Benchmark

Показать сравнения информации в конце кодирования. Показывает процессор

Время используются и максимальное потребление памяти. Максимальный объем памяти потребления,

(не поддерживается на всех системах). Если он не поддерживается выдается как 0.

Dump

Дамп каждого входного пакета.

Используется когда нужен сброс пакетов, а также свалки полезной нагрузки.

Bitexact

Используется только немного точные алгоритмы для тестирования кодека.

Ps Размер

Установить RTP размер полезной нагрузки в байтах.

Устройства.

Loop_input

Цикл для входного потока. В настоящее время он работает только для потоков

Изображений. Эта опция используется для автоматического тестирования ffserver.

Loop_output number_of_times

Неоднократные петли выхода для форматов, которые поддерживают циклы, таких как

Аминирование GIF (0 будет петли выхода бесконечно).

Threads кол

Нити

VSync параметр

Видео метод синхронизации:

0 Каждый кадр и его метка передается от демультиплексора на мультиплексор

1 Кадры будут дублироваться и выбрасываться для достижения постоянной частоты кадров.

2 Кадры проходят через свои метки или выбрасываются чтобы предотвратить прохождение 2х

Кадров через одну метку.

1 Выбирает между 1 и 2 в зависимости от возможностей мультиплексора

Вы можете выбрать, из которого потока метки и они должны быть

Приняты. Вы можете оставить либо видео или аудио без изменений и синхронизации

Остальные поток (ов) к неизменным.

Async samples_per_second

Аудио метод синхронизации."Расширяет / сжимает" аудио поток в сеансе метки,

Значение максимального количества отсчетов в секунду, в которые звук изменялся.

Async 1 является частным случаем, где меняется только начальный аудио поток без

Каких-либо последующих изменений

Copyts

Копировать метки от входа до выхода.

Shortest

Готово кодировку при кратчайшие входного потока заканчивается.

Dts_delta_threshold

Timestamp разрыва дельта порога.

Muxdelay секунд

Установить максимальную задержку демультиплексированием-декодирования.

Muxpreload секунд

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

Current файлов

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

Линии, с указанием последовательности вариантов, которые бы неудобно ложились

В командной строке. Строки, начинающиеся с символа ('#') хэш

Игнорируются и используются для комментариев. Проверьте ffpresets

Каталога в дереве FFmpeg источник примеров.

Текущих файлов указаны с "vpre", "apre", "spre", и "fpre"

Варианты. "Fpre" опция имеет имя файла из предустановленных вместо

Имя шаблона в качестве входных данных и может быть использован для любого вида кодека. Для

"Vpre", "apre", и "spre" опции, параметры, указанные в заданном

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

Заданной опции.

Аргумент, передаваемый "vpre", "apre", и "spre" предустановленных параметров

Определяет заданный файл для использования в соответствии со следующими правилами:

Первый FFmpeg поиск файла с именем arg.ffpreset в каталогах

$ HOME / .ffmpeg, и в DATADIR определены во время конфигурации (обычно-

Союзника PREFIX / доли / FFmpeg) в таком порядке. Например, если аргумент

Является "libx264-макс", он будет искать файл libx264-max.ffpreset.

Если такой файл найден, то FFmpeg будет искать файл с именем

Codec_name-arg.ffpreset в вышеупомянутых каталогов, где

Codec_name это название кодека для которых предустановленных параметров файла

Будет применяться. Например, если вы выбираете видео кодек

"-Vcodec libx264" и использовать "vpre-макс", то он будет искать файл

Libx264-max.ffpreset.

@ Якорь {FFmpeg формула оценщика}

FFmpeg формула оценщика

При оценке строку контроля скорости, FFmpeg использует внутренние формулы

По оценке.

Следующие бинарные операторы доступны: "+", "-", "*", "/", "^".

Следующие унарные операторы доступны: "+", "-", "(...)".

Следующие инструкции доступны: "LD", "ST", "а".

Доступны следующие функции:

Sinh (х)

Cosh (х)

Tanh (х)

Sin (х)

COS (X)

Тan (х)

Atan (х)

Asin (х)

Acos (х)

Ехр (х)

Log (х)

Abc (X)

Squish (х)

Gauss (х)

Mod (х, у)

Mах (х, у)

Мin (х, у)

Eq (х, у)

Gte (х, у)

Gt (х, у)

Lte (х, у)

Lt (х, у)

Bits2qp (биты)

Qp2bits (QP)

Следующие константы доступны:

ITex

PTex

FCode

ICount

McVar

AvgQP

QComp

AvgIITex

AvgPITex

AvgPPTex

AvgBPTex

AvgTex

ПРИМЕРЫ

Видео и аудио захвата

FFmpeg можете захватить видео и аудио с устройств при условии, что вы укажете

Формат входных и устройства.

Ffmpeg -f OSS -i /dev/DSP -f video4linux2 -i /dev/video0 /tmp/out.mpg

Обратите внимание, что вы должны активировать права источника видеосигнала и канала до

Запуск ffmpeg с любой телезритель, таких как XawTV (

Sex.org / XawTV />) Герд Knorr. Вы также должны установить аудио записей

ING уровнях правильно с стандартного микшера.

X11 захвата

Ffmpeg -f x11grab -х CIF -i: 0,0 /tmp/out.mpg

Переменная среды.

Ffmpeg -f x11grab -х CIF -i: 0.0 +10,20 /tmp/out.mpg

0,0 представляет display.screen номер вашего сервера X11, так же как DISPLAY

Переменная среды. 10, X-смещение и 20 Y-смещение для

Захват.

Видео и аудио файлов формата преобразования

* FFmpeg можно использовать в любом из поддерживаемых форматов файлов и протоколов в качестве входных данных:

Примеры:

* Вы можете использовать YUV файлы в качестве входных данных:

Ffmpeg -i /tmp/испытание% d.Y /tmp/out.mpg

Она будет использовать файлы:

/ Tmp/test0.Y, / tmp/test0.U, / tmp/test0.V,

/ Tmp/test1.Y, / tmp/test1.U, / tmp/test1.V, и т.д. ..

У файлов использовать в два раза разрешение U и V файлов. Они сырья

Файлов, без заголовка. Они могут быть вызваны все порядочные видео

Декодеров. Вы должны указать размер изображения с S-вариант, если

FFmpeg не может догадаться.

* Вы можете ввести от сырья файл YUV420P:

Ffmpeg -i /tmp/test.yuv /tmp/out.avi

Test.yuv это файл, содержащий сырья плоских YUV данных. Каждый кадр COM-

Поставленные в плоскости Y следуют U и V самолетов на половине вертикальной

И горизонтальное разрешение.

* Вы можете вывести на сырье файл YUV420P:

Ffmpeg -i mydivx.avi hugefile.yuv

* Вы можете установить несколько файлов входных и выходных файлов:

FFmpeg -i /tmp/a.wav -х 640x480 -i /tmp/a.yuv /tmp/a.mpg

Конвертирует аудио a.wav файл и сырья видео YUV файл a.yuv в MPEG

Файл a.mpg.

* Вы также можете сделать аудио-и видео-преобразования в то же время:

Ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

Преобразует a.wav аудио MPEG при частоте дискретизации 22050 Гц.

* Вы можете кодировать несколько форматов в то же время и определить карту-

Пинг из входного потока в выходной потоки:

Ffmpeg -i /tmp/a.wav -ab 64k /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0, 0:0 -map

Преобразует a.wav к a.mp2 при 64 кбит и b.mp2 в 128 кбит. '-map

Файл: индекс "указывает, какие входного потока используется для каждого выхода

Поток, в целях определения выходных потоков.

* Вы можете перекодировать расшифрованы VOB-файлы:

Ffmpeg -i snatch_1.vob -f AVI -vcodec MPEG4 -b 800к -g 300 -bf 2 -acodec libmp3lame -ab 128k snatch.avi

Это типичный пример копирования DVD; вход файл VOB,

Выходной файл AVI с MPEG-4 видео и MP3 аудио. Отметим, что в этом

Команда используется B-кадрах так MPEG-4 поток DivX5 совместимы, и

Республиканская партия размер составляет 300, что означает один внутри кадра каждые 10 секунд

29.97fps видеовход. Кроме того, аудиопоток MP3-кодированных так

Вам необходимо включить поддержку LAME, передав "- включить -libmp3lame" к

Настроить. Отображение особенно полезна для DVD транскодирования в

Получить желаемый язык аудио.

ПРИМЕЧАНИЕ: Чтобы увидеть поддерживаемых входных форматов, использование "FFmpeg-форматов".

* Вы можете извлекать изображения из видео, или создать видео из многих

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

Для извлечения изображений из видео:

Ffmpeg -i foo.avi -r 1 -s WxH -f -image2 Foo% 03d.jpeg

Это позволит извлечь один кадр в секунду из видео и будет

Выход их в файлы с именем Foo-001.jpeg, Фу-002.jpeg и т.д. Изображения будут

Быть пересчитаны для подходят новые значения WxH.

Если вы хотите извлечь только ограниченное число кадров, можно использовать

Выше команды в сочетании с -vframes или -t вариант, или в ком-

Бинации -ss начать извлечение из определенный момент времени.

Для создания видео из многих изображений:

Ffmpeg -f image2 -i -foo -%03d.jpeg -r 12 WxH foo.avi

Синтаксис "foo-03d.jpeg%" указывает на использование десятичной номер, состоящий

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

Это же синтаксис поддерживается функция Е С, но только форматы

Принимать нормальные целое подходят.

* Вы можете поместить много потоков того же типа, на выходе:

Ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec copy

Acodec copy test12.avi -newvideo -newaudio

В дополнение к первым видео и аудио потоков, в результате выхода

Test12.avi файл будет содержать второе видео и второй аудио

Поток найти в списке входных потоков.

"Newvideo", "-newaudio" и "-newsubtitle" варианты должны быть

Указанного сразу после имя выходного файла, в который вы

Хотите добавить их.

ТАКЖЕ

Ffserver (1), ffplay (1) и документации HTML из FFmpeg.

От переводчика :
Многие знают, что ffmpeg - это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.

Ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg
Формат PAL :

Ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg

18. Сжать.avi в VCD mpeg2
Формат NTSC:

Ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg
Формат PAL:

Ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg

19. Многопроходное кодирование с помощью ffmpeg
ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2
Примечание переводчика :
Предлагаю в комментариях привести и другие полезные команды ffmpeg, их ведь гораздо больше, чем 19. ;)

В прошлом посте я рассказал как установить .

В данном посте я рассмотрю базовые команды, которые существенно облегчат работу с FFMpeg. Огромное количество информации содержится в мануалах, они как известно рулез, так что если какая-то информация оказалась за пределами поста, «man ffmpeg» вам в помощь.

Для понимания, более простых конструкций, например такой:

Ffmpeg -ss 5 -i a.mp4 -aspect 4:3 -f image2 -r 1 -vframes 300 a%2d.jpg

чуть ниже я перечислю наиболее часто используемые опции.

Опции ffmpeg

Рассмотрим некоторые полезные опции (в скобках примеры). Если какие-то из опций не будут указаны, то FFmpeg подставит их из значений по умолчанию:

-i — задает имя исходного (входного) файла.
-threads — числовое значение, определяет количество ядер процессора. Что, естественно, отражается на скорости кодирования и операций над файлами. Число 0 устанавливает автоматическое определение доступного числа ядер (-threads 2 ).
-t — задает длительность кодируемого видео в целых секундах или же в формате чч:мм:сс.
-ss — указывает позицию в видеофайле с которой будет начинаться кодирование. Формат в целых секундах или чч:мм:сс.
-fs — числовое значение в байтах, килобайтах (k), мегабайтах (M). Регистр приставки важен. Ограничивает размер конечного файла. Полезно для экспериментов над небольшим кусочком видеофайла, чтобы не кодировать весь файл (-fs 5M ).
-y — эта опция перезаписывает уже существующие файлы без запроса на подтверждение.
Видео опции:
-vcodec — видеокодек, которым будет осуществляться кодирование видео (-vcodec mpeg4 ).
-vpre — выбираем предустановку для видеокодека. Сначала FFmpeg ищет файлы предустановок в ~/.ffmpeg, затем в /usr/share/ffmpeg или /usr/local/share/ffmpeg, в зависимости от пути установки. Посмотреть самим, какие присутствуют файлы предустановок, можно по этим же путям.
-f — force, указываем принудительно формат конечного файла (-f avi ).
-b — битрейт видеопотока. По умолчанию: 200kb/s (-b 1500 ).
-bt — толерантность битрейта. По умолчанию: 4000k. При двухпроходном кодировании указывает как далеко в первом проходе можно отклониться от указанного среднего битрейта. Значение не связано с минимальным/максимальным битрейтом. Слишком сильное снижение этого параметра оказывает негативное влияние на качество.
-r — количество кадров в секунду. По умолчанию: 25 (-r 15 ).
-s — размер фрейма, то есть разрешение выходного видеофайла. По умолчанию определяется размером файла-источника. Может быть задано буквенными сокращениями, например svga означает размер 800×600. Просмотреть все доступные сокращения можно в man ffmpeg . (-s 640×480 или -s vga ).
-aspect — числовые значения, определяет соотношение сторон выходного файла (-aspect 4:3 или -aspect 1.3333 ).
-croptop
-cropbottom
-cropleft
-cropright — обрезка кадров сверху, снизу, слева, справа. Значения указываются в пикселях. Может использоваться, например, для удаления черных полос (-croptop 15 ). В некоторых версиях ffmpeg данные опции могут быть удалены и вместо них используется опция -vf crop=width:height:x:y . Подробнее о ней в соответствующем разделе ниже.
-pass — количество проходов при кодировании, 1 или 2 (-pass 2 ).
-g — размер группы кадров, после которой следует ключевой кадр. Например -g 300 устанавливает по одному ключевому кадру каждые 10 секунд, при скорости исходного видеофайла 29.97fps. 30 кадров в секунду * на 10 секунд = значение опции 300 (примерное значение для рипа DVD-файла). Чем меньше битрейт и количество кадров в секунду, тем меньше должно быть это значение.
-deinterlace — удаление «гребенки».
Аудио опции:
-ar — устанавливает частоту дискретизации звука. По умолчанию: 44100Гц (-ar 22050 ).
-ab — битрейт звуковой дорожки. По умолчанию: 64kb (-ab 256k ).
-ac — число каналов звуковой дорожки. По умолчанию, для входящих потоков это значение равно 1, для исходящих равно числу каналов исходного файла. Другими словами, если вы делаете захват звука, то число каналов по умолчанию 1, а если берете звук из видеофайла, например, то число каналов по умолчанию будет равно исходнику (-ac 2 ).
-an — кодирование видео без звуковой дорожки.
-acodec — аудиокодек, которым будет осуществляться кодирование звука (-acodec flac ).
-apre — набор предустановок для аудиокодека.

Наиболее часто используемые конструкции:
1. Получение информации о видеофайле

Ffmpeg -i video.avi

2. Превратить набор картинок в видео

Ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg


Ffmpeg -r 12 -y -i "image_%010d.png" output.mpg


здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)

3. Порезать видео на картинки

Ffmpeg -i video.mpg image%d.jpg

Эта команда создаст файлы image1.jpg, image2.jpg и т.д., поддерживаются так же форматы PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
4. Конвертировать видео в формат iPod/iPhone

Ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Пояснения:

  • Источник: source_video.avi
  • Аудио кодек: aac
  • Битрейт аудио: 128kb/s
  • Видео кодек: mpeg4
  • Битрейт видео: 1200kb/s
  • Размер видео: 320 на 180 пикселей
  • Полученное видео: final_video.mp4

5. Конвертировать видео в формат PSP

Ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

ffmpeg — набор библиотек с широкими возможностями. С его помощью можно в том числе конвертировать аудио и видеозаписи в различные форматы. В комплекте есть libavcodec для кодирования аудио и видео. Как же пользоваться ffmpeg?

Как запустить ffmpeg?

Для начала его надо скачать. Свежая сборка для Windows есть , пакеты для Debian — . В посте будет описана работа с ffmpeg в Windows.

После загрузки архива из него нужно распаковать содержимое папки bin в какое-нибудь удобное место. Там три файла — ffmpeg.exe, ffplay.exe, ffprobe.exe. Вероятнее всего, вам понадобится только ffmpeg.exe. ffplay — простой плеер с возможностью использования библиотек ffmpeg, ffprobe — инструмент для анализа потока.

Чтобы было удобнее — положите файл, который надо перекодировать, в папку рядом с файлом ffmpeg.exe (или наоборот, переместите исполняемый файл ffmpeg к видеофайлу). Теперь нужно запустить командную строку в файле — для этого нажимайте Shift+ПКМ (правая кнопка мыши), в контекстном меню выбирайте «Открыть командную строку здесь» («Open command window here»).

На этом подготовка закончена, в запущенную командную строку требуется ввести команду для запуска кодирования.

Полезные команды ffmpeg

Во всех командах, показанных ниже, под IN будем понимать входной файл, а под OUT — выходной.

Получение информации о видеофайле

ffmpeg -i IN.mov

Результат будет примерно таким:

Конвертация mxf в ProRes

ffmpeg -i IN.mxf -c:v prores -profile:v 1 -c:a copy OUT.mov

При этом цифра в команде определяет профиль формата:

  • 1 – ProRes LT
  • 2 – ProRes 422
  • 3 – ProRes HQ

Кстати, местами возможно просто написать входной файл, и необходимый формат выходного файла. Например, так:

Ffmpeg -i IN.avi OUT.mpg

Извлечь звук из видео

Дорожка будет сохранена в формате MP3.

Ffmpeg -i IN.mov -vn -ar 44100 -ac 2 -ab 192 -f mp3 OUT.mp3

Добавить в видео свой звук тоже можно:

Ffmpeg -i AUDIO.wav -i IN.avi OUT.mpg

Вообще говоря, с помощью google можно найти команду почти на любой случай. А еще можно прочесть мануалы и разобраться, как эти самые команды составляются — там все совсем не сложно.

Следует иметь ввиду, что кодирование видео зачастую отнимает много ресурсов процессора.

Устройства