Перевод весьма кривой, но представление об опциях получить можно.
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 — инструмент, который может помочь вам конвертировать практически любой аудио и видео файл из командной строки. В этой статье написаны некоторые полезные команды ffmpeg, которые вы должны для этого знать. Программа Ffmpeg является чрезвычайно мощным и универсальным инструментом командной строки для конвертации аудио и видео файлов. Программа бесплатная и доступна для Windows, и Mac и Linux машин. Хотите ли вы объединить два видео файла, извлечь аудио компоненты из видео файлов, конвертировать видео в анимированный GIF, ffmpeg’а может сделать всё это и даже больше. Программа Ffmpeg поддерживает все популярные аудио и видео форматы. Или вы можете выполнив команду ./ffmpeg -formats
чтобы получить список каждого формата, поддерживаемый вашей установленной версией ffmpeg. Если вы только начали, вот несколько команд, которые дадут вам хорошее представление о возможностях этого инструмента. Вы можете использовать разницу во времени параметра (-SS), чтобы указать начальную метку времени в формате ЧЧ:мм:СС.мс Формат а-т параметра для указания фактической продолжительности клипа в секундах. Если вы хотите разделить большой видео файл на несколько небольших клипов без повторного кодирования, ffmpeg может помочь. Эта команда будет разделять исходное видео на 2 части — одна заканчивается на 50s от начала. а другая, начинается с 50s и заканчивается в конце входного видеосигнала. Вы можете использовать параметр vcodec, чтобы указать кодировку формата, который будет использоваться для вывода видео. Кодирование видео занимает много времени, но вы можете ускорить процесс, заставляя заготовку хотя бы ухудшить качество выходного видео. Ffmpeg -i youtube.flv -c:v libx264 filename.mp4
ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4
Если у вас есть несколько аудио или видео файлов, закодированных с помощью тех же кодеков, вы можете объединить их в один файл используя команды ffmpeg. Создайте входной файл со списком всех исходных файлов, которые вы хотите объединить, а затем выполните эту команду. Ffmpeg -f concat -i file-list.txt -c copy output.mp4
Используйте этот параметр, чтобы отключить звуковую часть видеопотока. Ffmpeg -i video.mp4 -an mute-video.mp4
Переключатель vn извлекает аудиодорожку из видео, и мы используем — AB переключатель, чтобы сохранить звук в качестве 256кбит / MP3 аудио файл. Ffmpeg -i video.mp4 -vn -ab 256 audio.mp3
Ffmpeg — это отличный инструмент для конвертирования видео файлов в анимированные GIF файлы, и качество получается довольно не плохое. Используйте шкалу фильтра, чтобы задать ширину изображения GIF, параметр — t для конкретной длительности, а параметр r задает частоту кадров (fps). Ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif
Эта команда извлечёт видеокадр на 15s и сохранит его в качестве 800px в ширину изображения в формате JPEG. Вы можете также использовать параметр s (400×300) указав точные размеры изображения в файл, хотя он, вероятно, создаст растягивающееся изображение, если размер изображения не соответствует пропорции оригинального видео-файла. Ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg
Вы можете использовать ffmpeg для автоматического извлечения изображения кадров из видео каждый ‘N’ секунд и сохранять изображения в последовательности. Эта команда сохраняет изображения кадра через каждые 4 секунды. Ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png
Вы можете также указать кратчайший переключатель для завершения кодирования, когда заканчивается самый короткий клип. Ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4
11. Изменить размер видео
Используйте переключатель размер (-ы) для изменения размера видео, сохраняя при этом его пропорции. Ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4
Эта команда служит для создания видео слайд-шоу с использованием серии картинок, которые названы как img001.png, img002.png, и т. д. Каждое изображение будет иметь продолжительность 5 секунд (-r 1/5). Ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4
Вы можете добавить изображение в аудио файл, а длина выходного видео будет той же, что и у входного аудиопотока. Это может пригодиться для загрузки mp3-файлов на YouTub. Ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
Используйте параметр t для указания длительности видео. Ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4
Эта команда создаст субтитры с файлами.srt . Ffmpeg может также выполнить декодирование наиболее распространенных форматов субтитров. Ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv
Это позволит создать 30-секундный звуковой файл, начиная с 90 секунды из исходного аудио файла без перекодировки. Вы можете использовать фильтр объёма для изменения объёма медиа-файла используя команду ffmpeg. Эта команда будет наполовину уменьшат громкость аудио файла. Ffmpeg -i input.wav -af "volume=0.5" output.wav
Эта команда будет поворачивать видео на 90° по часовой стрелке. Вы можете установить транспонировку на 2, чтобы повернуть видео на 90° против часовой стрелки. Ffmpeg -i input.mp4 -filter:v "transpose=1" rotated-video.mp4
Эта команда будет поворачивать видео на 180° против часовой стрелки. Ffmpeg -i input.mp4 -filter:v "transpose=2,transpose=2" rotated-video.mp4
Вы можете изменить скорость видео при использовании фильтра setpts (в электронном виде штамп времени). Эта команда сделает видео 8х (1/8) быстрее или используя setpts=4*PTS сделает видео в 4x медленнее. Ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4
Для изменения скорости аудио, используйте аудио фильтр atempo. Эта команда будет выполнять двойную скорость звука. Для аудио, Вы можете использовать любое значение между 0,5 и 2,0. Ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
Чтобы вы начали работать с ffmpeg, Вы должны также проверить официальную документацию на сайте ffmpeg.org и узнать обо всех возможных вещях, которые вы можете сделать с помощью ffmpeg. — Удаляем пакеты x264, libx264-dev, и ffmpeg если они были установлены: $ sudo apt-get purge ffmpeg x264 libx264-dev libmp3lame-dev
— Если включено автообновление пакетов в системе, запрещаем обновлять пакет ffmpeg:
$ sudo echo -e "Unattended-Upgrade::Package-Blacklist {n "ffmpeg";n};" > /etc/apt/apt.conf.d/50unattended-upgrades
Для сборки x264
необходима последняя версия yasm
. Проверим какая версия установленна:
$ yasm --version
yasm 1.2.0
Compiled on Nov 20 2013.
Если версии совпадают то попускаем следующий шаг
$ apt-get remove yasm
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
$ tar xvfz yasm-1.2.0.tar.gz
$ cd yasm-1.2.0
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ yasm --version
yasm 1.2.0
Compiled on Nov 20 2013.
— Получаем зависимые пакеты необходимые для установки ffmpeg и x264:
$ sudo apt-get update
$ sudo apt-get install build-essential subversion texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev quilt libsdl1.2-dev libogg-dev libvorbis-dev liba52-dev libdts-dev libimlib2-dev libraw1394-dev libdc1394-22-dev libtheora-dev libgsm1-dev libfaac-dev libfaad-dev git-core checkinstall yasm libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev nasm python-chardet gstreamer1.0-libav gstreamer0.10-ffmpeg
Если в процессе установки получили ошибку на зависимости пакета gstreamer0.10-ffmpeg добавим новый репозиторий и обновим индексы Sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
после чего повторяем процесс установки пакетов — Устанавливаем x264 из исходников
$ mkdir ~/src; cd ~/src
$ git clone git://git.videolan.org/x264.git
$ cd ./x264/
$ ./configure --prefix=/usr/local --enable-shared
$ make
$ sudo checkinstall --pkgname
=
x264 --pkgversion
head -c 7`"
--backup
=
no --deldoc
=
yes --fstrans
=
no --default
sudo
checkinstall --pkgname
=x264 --pkgversion
"2:0.`grep X264_BUILD x264.h -m1 | cut -d" " -f3`
.`git rev-list HEAD | wc -l`
+git`git rev-list HEAD -n 1 | head -c 7`
"
--backup
=no --default
$ sudo make install-lib-dev && sudo cp libx264.a /usr/local/lib/
— Устанавливаем x264_b10 из исходников
$ mkdir ~/src; cd ~/src
$ git clone git://git.videolan.org/x264.git
$ cd ./x264/
$ ./configure --prefix=/usr/local --enable-shared --bit-depth=10
$ make
$ sudo checkinstall --pkgname
=
x264_b10 --pkgversion
"2:0.`grep X264_BUILD x264.h -m1 |
cut -d" " -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 |
head -c 7`"
--backup
=
no --deldoc
=
yes --fstrans
=
no --default
$ sudo make install-lib-dev
$ sudo cp libx264.a /usr/local/lib/
Проверим какая версия lame установленна:
$lame -h
LAME 64bits version 3.99.5 (http://lame.sf.net)
Если получили ответ что версия старше 3.99 то пропускаем следующий шаг — Устанавливает поддержку кодека lame
$cd ~/src
$ sudo mkdir -p /usr/local/share/doc/lame
$ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
$ tar xzvf lame-3.99.5.tar.gz
$ cd lame-3.99.5
$ ./configure --enable-nasm --disable-shared
$ make
$ sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.99.5" --backup=no --default --deldoc=yes
— Устанавливаем libxvid из исходников
$ cd ~/src
$ wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz
$ tar xzvf xvidcore-1.3.3.tar.gz
$ cd ./xvidcore/build/generic
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libgsm1-dev libfaac-dev libtheora-dev libvorbis-dev libx264-dev libdc1394-22-dev libxext-dev libxfixes-dev
— Устанавливаем ffmpeg с поддержкой кодека x264:
$ cd ~/src
$ git clone git://git.videolan.org/ffmpeg.git
$ cd ffmpeg/
$ ./configure --prefix=/usr/local --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared
$ make
$ sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default
$ hash x264 ffmpeg ffplay ffprobe
$ldconfig -v
$ sudo apt-get install mkvtoolnix gpac mencoder dvdrip avidemux Проверим установку $ which ffmpeg
/usr/local/bin/ffmpeg $ ffmpeg
-encoders|grep
-E «mp3|xvid|aac|gsm|amr|x264|theora|vorbis» Кодирование в один проход: Ffmpeg -i
input.
avi -acodec
libfaac -ab
128k -ac
2
-vcodec
libx264 -vpre
slow -crf
22
-threads
0
output.
mp4
Чем ниже параметр -crf
, тем выше качество, но больше файл. Разумными являются значения от 18 до 28. Двухпроходное кодирование: Ffmpeg -i
input.
avi -pass
1
-vcodec
libx264 -vpre
fast_firstpass -b
512k -bt
512k
-threads
0
-f
rawvideo -an
-y
/dev/null
&&
ffmpeg -i
input.
avi -pass
2
-acodec
libfaac
-ab
128k -ac
2
-vcodec
libx264 -vpre
fast -b
512k -bt
512k -threads
0
output.
mp4
Перекодирование для iPod (640×480): Ffmpeg -i
input.
avi -acodec
libfaac -aq
100
-ac
2
-vcodec
libx264 -vpre
slow
-vpre
ipod640 -crf
26
-map
_meta_data 0
:
0
-vf
scale
=
640
:
-1
-threads
0
output.
mp4
Эта команда создаст файлы image1.jpg, image2.jpg и т.д., поддерживаются так же форматы PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI. Пояснения: Пояснения: Пояснения: Ffmpeg -i video_origine.avi -target pal-dv video_finale.dv
Пояснения: Формат PAL: Ffmpeg -i video_origine.avi -target pal-svcd video_finale.mpg
Формат NTSC: Ffmpeg -i video_origine.avi -target ntsc-vcd video_finale.mpg
Формат PAL: Ffmpeg -i video_origine.avi -target pal-vcd video_finale.mpg
Удаляем ранее установленные пакеты: Sudo apt-get
remove ffmpeg x264 libx264-dev
Обновляем x264
: Cd ~
/src/x
264
make distclean
git pull
Обновляем FFmpeg
: Cd ~
/src/ffmpeg
make distclean
svn update
В обоих случаях повторяем процедуру установки FFmpeg
и x264
, как было описано ранее, только с места «./configure ля-ля-ля...» Дополнение если необходимо установить x264 для работы с видео в 10 бит. Тогда да. Стоит все это проделывать. Теперь по поводу библиотеке libx264. ffmpeg в убунту работает не с кодеком x264 а непосредственно с библиотекой кодирования libx264.so.123 она расположена в директории с архитектурно зависимыми библиотеками. Вопервых для нормальной конфигурации x264 к работе в связке с ffmpeg (получения видео потока для кодирования от ffmpeg) перед началом конфигурации x264 необходимо установить следующие пакеты: libavformat-dev, libffms2-dev, libgpac-dev, libswscale-dev. После установки этих пакетов выполнив./configure мы увидим следующее: /scr/x264$ ./configure И так мы видим, что у нас x264 будет собираться с поддержкой всего, что только можно, но ffmpeg сним работать не будет. Теперь что необходимо сделать, что бы обеспечить работу ffmpeg непосредственно именно с собраным нами кодеком. Для этого необходимо конфигурировать x264 со следующими ключами: Prefix=/usr — все компилированные файлы будут располагаться в программной директории /usr
Вот, что мы получим при конфигурации кодека с данными ключами: /scr/x264$ ./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-static --bit-depth=10 Более подробную информацию о ключах конфигурации кодека x264 можно просмотреть набрав в директории с исходными кодами x264 команду./configure -h в принципе вот вам ее содержание: /scr/x264$ ./configure -h Если вы часто работаете с видео в операционной системе Linux, то наверное, слышали об утилите и наборе библиотек ffmpeg. Это мощная кроссплатформенная библиотека, которая позволяет делать почти любые действия с видео. Вы можете склеивать, кодировать, изменять, обрезать видео, но все это через терминал. На первый взгляд, может показаться что это очень сложно. В какой-то мере это действительно так. Но у вас открываются широчайшие возможности настройки и очень большая гибкость. Графические инструменты часто сбоят, они могут не поддерживать тот или иной формат. Библиотека ffmpeg поддерживает все существующие форматы и работает практически всегда. Она может вас спасти, когда другие программы зайдут в тупик. В этой статье мы рассмотрим полезные команды ffmpeg, которые пригодятся вам в повседневной работе с видео. ffmpeg - это один из лучших мультимедийных фреймворков, который содержит различные инструменты, для решения разных задач. Например, ffplay - портативный медиа плеер, утилита ffmpeg может использоваться для обработки и инвертирования файлов, ffserver - для потоковой передачи данных, а ffprobe может анализировать мультимедийный поток. В набор ffmpeg, кроме утилит, входят такие библиотеки: libavutil libavcodec libavformat libavdevice libavfilter libavresample libswscale libswresample libpostproc. Из-за своей архитектуры, этот набор инструментов очень безопасный, и с помощью него вы можете сделать почти все что угодно с видео или аудио. В этой статье мы будем рассматривать в основном утилиту ffmpeg. Давайте рассмотрим ее синтаксис: [опции источника]
-i [источник]
[основные опции]
[кодеки]
[преемник]
Сейчас мы не будем подробно рассматривать опции, рассмотрим их потом, уже в самих командах. Как я уже сказал, утилита ffmpeg поддерживает большинство аудио и видео форматов. Чтобы проверить какие форматы поддерживаются вы можете выполнить: Если вы новичок в использовании этого инструмента, то вот некоторые команды, которые могут вам очень сильно помочь. Дальше вы узнаете как пользоваться ffmpeg. Чтобы получить доступную информацию о видео, достаточно просто указать файл источника. Выполните такую команду: ffmpeg -i video.mp4 -hide_banner Опция -hide_banner указывает программе, что не нужно показывать информацию о себе, опции сборки и так далее. Вы можете выполнить команду без этой опции, тогда получите всю информацию, в том числе и об ffmpeg: ffmpeg -i video.mp4 Чтобы разбить видео на изображения подойдет такая команда: ffmpeg -i video.mp4 image%d.jpg Утилита сгенерирует изображения с именами image1.jpg, image2.jpg, image3.jpg и так далее. После завершения вы найдете очень большое количество изображений в папке с видео. Вы можете взять полученный набор картинок и собрать все обратно в видео. Для этого выполните: ffmpeg -f image2 -i image%d.jpg imagestovideo.mpg Опция -f задает формат входного файла, вы можете использовать jpeg, png, jpg и другие картинки. И вы уже знаете как посмотреть поддерживаемые форматы ffmpeg. Чтобы конвертировать видео в mp3 выполните команду: ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3 Для конвертирования flv в mpg выполните: ffmpeg -i video.flv video.mpg Таким же самым образом можно переделать видео в анимированную gif картинку: ffmpeg -i video.flv animated.gif Мы не указываем кодеки ffmpeg и формат, потому что программа может их сама определить по расширению. Чтобы конвертировать видео mpg в flv выполните: ffmpeg -i video.mpg -ab 26k -f flv video1.flv Здесь мы уже задали битрейт и формат. Для этого выполните команду: ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg Использованные опции: Чтобы выполнить конвертирование ffmpeg видео в формат DVD, нужно задать ваш формат с помощью опции -target. Доступны такие форматы: vcd, svcd, dvd, dv, pal-vcd или ntsc-svcd. Чтобы создать VCD выполните: ffmpeg -i video.mpg -target vcd vcd_video.mpg Вы можете собрать видео и звуковой файл в одну дорожку с помощью команды: ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg Чтобы увеличить скорость воспроизведения видео мы будем использовать фильтры, с помощью опции -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 Для того чтобы вырезать определенный участок кадра из видео тоже используются фильтры. На этот раз фильтр crop: ffmpeg -i in.mp4 -vf "crop=out_w:out_h:x:y" out.mp4 Например, обрежем прямоугольник размером 80х60 от позиции 100х200: ffmpeg -i in.mp4 -vf "crop=80:60:200:100" video.mp4 Кроме этих опций, здесь можно задавать кодеки ffmpeg и форматы, чтобы параллельно выполнить кодирование ffmpeg. Тут уже фильтры нам не помогут, но зато мы можем указать опциями из какого момента нужно начать и где завершить, например: ffmpeg -i video.mp4 -ss 00:01:00 -t 00:01:00 -c copy video_clip.mp4 Начинаем от минуты и пишем еще минуту: Чтобы склеить два видео используйте команду: ffmpeg -i concat:"video1.mpg|video2.mpg" -c copy video.mpg Вы можете быстро проиграть видео, чтобы оценить его качество, для этого есть команда: ffplay video.mp4 Программа открывает и видео, и аудио. Вы можете добавить фото баннер к вашей аудио записи с помощью следующей команды: 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 Рассмотрим опции: Если у вас есть отдельный файл субтитров, например с именем 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. Разрезать видео файл на более мелкие клипы
2. Разделить видео на несколько частей
3. Конвертировать видео из одного формата в другой
4. Объединить (объединять) видео файлы
5. Отключение видео (удалить аудио компонент)
6. Извлечь аудио из видео
7. Конвертировать видео в анимированный GIF файл
8. Извлечь изображения кадров из видео
9. Конвертировать видео в изображения
10. Слияние аудио и видео файлов
12. Создать видео слайд-шоу из изображений
13. Добавить плакат изображения для аудио
14. Преобразовать одно изображение в видео
15. Добавить субтитры в фильм
16. Обрезать аудио файл
17. Изменение громкости звука
18. Повернуть видео
19. Ускорить или замедлить видео
20. Ускорить или замедлить аудио
Если файл «/etc/apt/apt.conf.d/50unattended-upgrades»
существует то прописываем в секцию «Package-Blacklist» пакет ffmpeg, если файла нет, создаем его:
ffmpeg version N-55691-gca7f637 Copyright 2000—2013 the FFmpeg developers
built on Aug 21 2013 15:44:17 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.100 / 55. 14.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.100 / 3. 82.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
V... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
V... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
V... libxvid libxvidcore MPEG-4 part 2 (codec mpeg4)
V... libtheora libtheora Theora (codec theora)
A...X... aac AAC (Advanced Audio Coding)
A... libfaac libfaac AAC (Advanced Audio Coding) (codec aac)
A... libopencore_amrnb OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb)
A... libgsm libgsm GSM (codec gsm)
A... libgsm_ms libgsm GSM Microsoft variant (codec gsm_ms)
A... libmp3lame libmp3lame MP3 (MPEG audio layer 3) (codec mp3)
A...X... vorbis Vorbis
A... libvorbis libvorbis (codec vorbis)Примеры использования
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
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
5. Конвертировать видео в формат PSP
ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4
6. Извлечь звуковую дорожку из видео и сохранить в mp3
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
7. Конвертировать wav в mp3
ffmpeg -i son_origine.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3
8. Конвертировать.avi в.mpg
ffmpeg -i video_origine.avi video_finale.mpg
9. Конвертировать.mpg в.avi
ffmpeg -i video_origine.mpg video_finale.avi
10. Конвертировать.avi в.gif (без сжатия)
ffmpeg -i video_origine.avi gif_anime.gif
11. Добавить звук к видео
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
12. Конвертировать.avi в.flv
ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv
13. Конвертировать.avi в.dv
ffmpeg -i video_origine.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_finale.dv
14. Конвертировать.avi в mpeg для DVD-плееров
ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg
15. Сжать.avi в DivX
ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi
16. Сжать OGG Theora в mpeg DVD
ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_termin.mpg
17. Сжать.avi в SVCD mpeg2
ffmpeg -i video_origine.avi -target ntsc-svcd video_finale.mpg
18. Сжать.avi в VCD mpeg2
19. Многопроходное кодирование с помощью ffmpeg
ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2
20. Конвертировать.m4b в.mp3
ffmpeg -i filename.m4b -acodec libmp3lame -ar 22050 filename.mp3
или
find -iname "*.m4b" -print0 | xargs -0 -I {} ffmpeg -i {} -acodec libmp3lame -ar 22050 {}.mp3
Обновление
Отмена всех изменений, проделанных по данной инструкции
sudo apt-get
remove x264 ffmpeg build-essential
subversion git-core
checkinstall yasm texi2html libfaac-dev
libmp3lame-dev
libsdl1.2
-dev
libtheora-dev
libvorbis-dev
libvpx-dev
libx11-dev
libxfixes-dev
libxvidcore-dev
zlib1g-dev
rm -rf ~/src/x264 ~/src/ffmpeg
platform: X86_64
system: LINUX
cli: yes
libx264: internal внутренняя библиотека кодирования libx264
shared: no — системная билиотека libx264.so.*** собираться не будет. а именно ее использует ffmpeg для кодирования и обработки видео.
static: no
asm: yes — сборка, оптимизированная для процессора, установленного на компе
interlaced: yes — включена поддерка работы с черестрочным видео
avs: no — отключена поддержка работы с avisync на линуксе его нету
lavf: yes — включена поддержка входных файлов всех форматов, которые понимает ffmpeg
ffms: yes — тоже включение поддержки ffmpeg что конкретно — неведаю. Вроде поддержка форматов, которые ffmpeg может обрабатывать некорректро или что-то вроде того.
gpac: yes
gpl: yes
thread: posix
debug: no
gprof: no
strip: no
PIC: no
visualize: no
bit depth: 8 кодирование в видео файлы с глубиной цвета только 8 бит
chroma format: all
— bindir=/usr/bin — поместит кодек x264 в программную папку /usr/bin а не в папку собранных локально программ /usr/local/bin установленной по умолчаню.
— libdir=/usr/lib/x86_64-linux-gnu — поместит библиотеку кодирования libx264.so.*** в директорию архитектурно зависимых библиотек (обращаю ваше внимание, что у меня 64 разрядная система и соответственно используется директория «x86_64-linux-gnu» для других архитектур следует использовать и друкую директорию)
— enable-shared — включает создание динамической библиотеки кодирования libx264.so.*** которую и будет искать ffmpeg при конфигурации с включенной поддержкой кодека x264 (насколько я знаю ее надо включать ключем конфигурации а там кто его знает я еще не пробовал компилить сам ffmpeg возможно для связки ffmpeg c libx264.so.*** придется включать еще какие нибудь ключи конфигурации)
— enable-static — включает создание статических библиотек libx264.so (примечание ffmpeg работает с динамической а не статической библиотекой. У динамической библиотеки в названии файла в конце стоит еще и номер версии. Именно поэтому после установки новой версии кодека x264 для обеспечения работы с ним ffmpeg его(ffmpeg) каждый раз приходиться пересобирать поновой.
— bit-depth=10 — включается конфигурация кодека для сборки только 10 битного видео (в том числе и библиотеки. Воспроизводиться будет как 8-ми битное видео, так и 10-битное, а вот создаваться этим кодеком будет только 10 битное видео. если эта опция не нужна — тогда не ставьте ее и будет собран кодек, который будет создавать только 8-ми битное видео.
fatal: Not a git repository (or any of the parent directories): .git
platform: X86_64
system: LINUX
cli: yes — работа в командной строке
libx264: internal — создание внутренних библиотек
shared: yes — создание динамических библиотек
static: yes — создание статических библиотек
asm: yes — оптимизация для процессора (перед сборкой нужно установить yasm
interlaced: yes — работа с черезстрочным видео
avs: no — avisync побоку
lavf: yes — поддержка форматов ffmpeg
ffms: yes — поддержка друких форматов
gpac: yes — оптимизация работы с OpenSourse Multimedia
gpl: yes
thread: posix
filters: resize crop select_every
debug: no
gprof: no
strip: no
PIC: yes
visualize: no
bit depth: 10 — Создание токлько 10 битного видео (профили кодирования High10, High422 и High444
chroma format: all
Usage: ./configure
Help:
— h, --help print this message
Standard options:
— prefix=PREFIX install architecture-independent files in PREFIX
— exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
— bindir=DIR install binaries in DIR
— libdir=DIR install libs in DIR
— includedir=DIR install includes in DIR
— extra-asflags=EASFLAGS add EASFLAGS to ASFLAGS
— extra-cflags=ECFLAGS add ECFLAGS to CFLAGS
— extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS
Configuration options:
— disable-cli disable cli
— system-libx264 use system libx264 instead of internal
— enable-shared build shared library
— enable-static build static library
— disable-gpl disable GPL-only features
— disable-thread disable multithreaded encoding
— enable-win32thread use win32threads (windows only)
— disable-interlaced disable interlaced encoding support
— enable-visualize enable visualization (X11 only)
— bit-depth=BIT_DEPTH set output bit depth (8-10)
— chroma-format=FORMAT output chroma format (420, 422, 444, all)
Advanced options:
— disable-asm disable platform-specific assembly optimizations
— enable-debug add -g
— enable-gprof add -pg
— enable-strip add -s
— enable-pic build position-independent code
Cross-compilation:
— host=HOST build programs to run on HOST
— cross-prefix=PREFIX use PREFIX for compilation tools
— sysroot=SYSROOT root of cross-build tree
External library support:
— disable-avs disable avisynth support (windows only)
— disable-swscale disable swscale support
— disable-lavf disable libavformat support
— disable-ffms disable ffmpegsource support
— disable-gpac disable gpac supportПолезные команды ffmpeg
1. Получить информацию о видео
2. Разбить видео на кадры
3. Собрать видео из изображений
4. Вытянуть звук из видео
Вот описание новых опций:
5. Конвертировать flv в mpg
6. Преобразовать видео в gif
7. Преобразовать mpg в flv
8. Преобразовать avi в mpeg
9. Конвертировать видео в CD или DVD формат
10. Склеить аудио и видео вместе
11. Увеличить/уменьшить скорость видео
12. Вырезать прямоугольник из видео
13. Обрезать видео
14. Склеить два видео
15. Проиграть видео
16. Фото-баннер для аудио
17. Добавить субтитры к видео
Выводы