- Как пользоваться ffmpeg
- Что такое ffmpeg?
- Как пользоваться 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. Добавить субтитры к видео
- Выводы
Как пользоваться ffmpeg
Если вы часто работаете с видео в операционной системе Linux, то наверное, слышали об утилите и наборе библиотек ffmpeg. Это мощная кроссплатформенная библиотека, которая позволяет делать почти любые действия с видео. Вы можете склеивать, кодировать, изменять, обрезать видео, но все это через терминал.
На первый взгляд, может показаться что это очень сложно. В какой-то мере это действительно так. Но у вас открываются широчайшие возможности настройки и очень большая гибкость. Графические инструменты часто сбоят, они могут не поддерживать тот или иной формат. Библиотека ffmpeg поддерживает все существующие форматы и работает практически всегда.
Она может вас спасти, когда другие программы зайдут в тупик. В этой статье мы рассмотрим полезные команды ffmpeg, которые пригодятся вам в повседневной работе с видео. В этой статье мы разберемся как пользоваться ffmpeg для обработки видео.
Что такое ffmpeg?
ffmpeg — это один из лучших мультимедийных фреймворков, который содержит различные инструменты, для решения разных задач. Например, ffplay — портативный медиа плеер, утилита ffmpeg может использоваться для обработки и инвертирования файлов, ffserver — для потоковой передачи данных, а ffprobe может анализировать мультимедийный поток.
В набор ffmpeg, кроме утилит, входят такие библиотеки: libavutil libavcodec libavformat libavdevice libavfilter libavresample libswscale libswresample libpostproc. Из-за своей архитектуры, этот набор инструментов очень безопасный, и с помощью него вы можете сделать почти все что угодно с видео или аудио. В этой статье мы будем рассматривать в основном утилиту ffmpeg. Давайте рассмотрим ее синтаксис:
$ ffmpeg [опции источника] -i [источник] [основные опции] [кодеки] [преемник]
- Опции источника — указывают параметры чтения файла, настройки и так далее;
- Источник — опция -i задает источник, откуда будет читаться файл, источников может быть несколько и это может быть не только файл, но и устройство;
- Основные опции — задают параметры работы всей утилиты;
- Кодеки — кодек, который будет использоваться для сохранения видео и аудио;
- Преемник — файл или устройство, куда будут записаны данные.
Сейчас мы не будем подробно рассматривать опции, рассмотрим их потом, уже в самих командах.
Как пользоваться ffmpeg
Как я уже сказал, утилита ffmpeg поддерживает большинство аудио и видео форматов. Чтобы проверить какие форматы поддерживаются вы можете выполнить:
Если вы новичок в использовании этого инструмента, то вот некоторые команды, которые могут вам очень сильно помочь. Дальше вы узнаете как пользоваться ffmpeg.
1. Получить информацию о видео
Чтобы получить доступную информацию о видео, достаточно просто указать файл источника. Выполните такую команду:
ffmpeg -i video.mp4 -hide_banner
Опция -hide_banner указывает программе, что не нужно показывать информацию о себе, опции сборки и так далее. Вы можете выполнить команду без этой опции, тогда получите всю информацию, в том числе и об ffmpeg:
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. Проиграть видео
Вы можете быстро проиграть видео, чтобы оценить его качество, для этого есть команда:
Программа открывает и видео, и аудио.
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, напишите в комментариях!
На десерт видео по теме, что такое видеокодеки, кодеры, а также описание основных форматов видео:
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.