15 полезных примеров использования ffmpeg

Утилита FFmpeg поддерживает множество форматов аудио и видео файлов, для проверки того какие форматы поддерживает ваша версия ffmpeg используйте команду ffmpeg -formats — она выведет список поддерживаемых форматов. Если вы никогда не сталкивались с ffmpeg то будете приятно удивлены тем, что можно сделать с помощью этой утилиты из простой командной строки.

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

Для получения информации о видео файле (например video.mp4), запустите следующую команду. Помните, что надо указывать выходной файл, но в этом примере нам требуется только посмотреть информацию.

$ ffmpeg -i video.mp4 -hide_banner

Иллюстрация 1

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

Без опции -hide_banner будет выведен весь копирайт FFmpeg как показано ниже.

$ ffmpeg -i video.mp4

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

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

Для разрезания видео на пронумерованные картинки-кадры, запустите команду показанную ниже. Команда генерирует файлы с именами image1.jpg, image2.jpg и т.д…

$ ffmpeg -i video.flv image%d.jpg

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

После выполнения вы можете посмотреть что у вас получилось при помощи команды ls.

$ ls -l

total 11648
-rw-r--r-- 1 tecmint tecmint   14592 Oct 19 13:19 image100.jpg
-rw-r--r-- 1 tecmint tecmint   14603 Oct 19 13:19 image101.jpg
-rw-r--r-- 1 tecmint tecmint   14584 Oct 19 13:19 image102.jpg
-rw-r--r-- 1 tecmint tecmint   14598 Oct 19 13:19 image103.jpg
-rw-r--r-- 1 tecmint tecmint   14634 Oct 19 13:19 image104.jpg
-rw-r--r-- 1 tecmint tecmint   14693 Oct 19 13:19 image105.jpg
-rw-r--r-- 1 tecmint tecmint   14641 Oct 19 13:19 image106.jpg
-rw-r--r-- 1 tecmint tecmint   14581 Oct 19 13:19 image107.jpg
-rw-r--r-- 1 tecmint tecmint   14508 Oct 19 13:19 image108.jpg
-rw-r--r-- 1 tecmint tecmint   14540 Oct 19 13:19 image109.jpg
-rw-r--r-- 1 tecmint tecmint   12219 Oct 19 13:18 image10.jpg
-rw-r--r-- 1 tecmint tecmint   14469 Oct 19 13:19 image110.jpg

3. Конвертирование картинок в видео

Для склейки нумерованных картинок в видео рядиспользуйте следующую команду. Эта команда преобразует в текущей директории все картинки (названные image1.jpg, image2.jpg, и т.д…) в видео файл названный imagestovideo.mpg.

Поддерживается множество форматов картинок (таких как jpeg, png, jpg, и т.д.) которые вы можете использовать.

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

Картинка 4

4. Конвертирование видео в mp3 формат

Для конвертирования видео в формате .flv в файл формата Mp3 запустите следующую команду.

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

Иллюстрация 5

Опции использованные в этой команде:

  1. vn: отключает запись видео во время преобразования.
  2. ar: устанавливает частоту дискретизации аудио в Hz.
  3. ab: устанавливает битрейт аудио.
  4. ac: устанавливает количество каналов аудио.
  5. -f: формат.

5. Преобразование flv видео-файла в mpg формат

$ ffmpeg -i video.flv video.mpg

Иллюстрация 6

6. Преобразование видео в анимированный gif

Для конвертирования .flv видео в анимированный не сжатый gif файл, используйте следующую команду.

$ ffmpeg -i video.flv animated.gif.mp4

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

7. Конвертирование mpg видео-файла в flv

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

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

8. Преобразование avi в mpeg

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

Описание опций использованных в команде.

  1. target pal-dvd : формат вывода
  2. ps 2000000000 : максимальный размер выводимого файла в байтах(тут, 2 Gb).
  3. aspect 16:9 : формат кадра (тут широкоэкранный).

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

9. Преобразование видео в CD или DVD формат

Для создания видео CD или DVD, FFmpeg требует просто передать ему тип и формат, остальное будет сделано автоматом.

Для указания типа выполните: add -target тип; тип может быть vcd, svcd, dvd, dv, pal-vcd или ntsc-svcd.

Для создания VCD, выполните:

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

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

10. Извлечь аудио из видео

Для извлечения аудио в mp3 формат из видео-файла:

$ ffmpeg -i video1.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio3.mp3

Описание опций.

  1. Исходное видео : video.avi
  2. Битрейт аудио : 192kb/s
  3. Выходной формат : mp3
  4. Генерируемый файл : audio3.mp3

Иллюстрация 11

11. Смешивание аудио и видео

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

Картинка 12

12. Увеличение/Уменьшение скорости воспроизведения видео

Для увеличения скорости воспроизведения используйте команду приведенную ниже. Опция -vf устанавливает видео-фильтр помогающий изменить скорость.

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

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

Так же вы можете уменьшить скорость:

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

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

13. Сравнение/Тестирование качества видео и аудио

$ ffplay video1.mp4

Иллюстрация 15

для теста аудио просто укажите аудио-файл:

$ ffplay audio_filename1.mp3

Картинка 16

14. Добавление фото или обложки в аудио-файл

Вы можете добавить обложку или постер в ваш аудио-файлиспользуя команду приведенную ниже. Это довольно удобно при загрузке MP3 на YouTube.

$ 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

Иллюстрация 17

15. Добавление субтитров в видео

Допустим у вас есть видео (аниме какое-нибудь, ага) и файл субтитров к нему — subtitle.srt, и вам надоело показывать друзьям это аниме копируя по 2 файла вместо одного.Ну так вы можете вшить субтитры в видео-файл:

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

На этом в принципе всё. Запомните, утилита FFmpeg — очень мощная, и приведенные выше примеры не ограничивают круг её применения. И уж точно не отменяют того, что надо читать маны ;)

PS. Исходная статья взята тут.

Оцените статью
( 1 оценка, среднее 5 из 5 )
Блог админа