- 1. Получение информации о видео-файле
- 2. Разрезать видео на картинки
- 3. Конвертирование картинок в видео
- 4. Конвертирование видео в mp3 формат
- 5. Преобразование flv видео-файла в mpg формат
- 6. Преобразование видео в анимированный gif
- 7. Конвертирование mpg видео-файла в flv
- 8. Преобразование avi в mpeg
- 9. Преобразование видео в CD или DVD формат
- 10. Извлечь аудио из видео
- 11. Смешивание аудио и видео
- 12. Увеличение/Уменьшение скорости воспроизведения видео
- 13. Сравнение/Тестирование качества видео и аудио
- 14. Добавление фото или обложки в аудио-файл
- 15. Добавление субтитров в видео
Утилита FFmpeg поддерживает множество форматов аудио и видео файлов, для проверки того какие форматы поддерживает ваша версия ffmpeg используйте команду ffmpeg -formats — она выведет список поддерживаемых форматов. Если вы никогда не сталкивались с ffmpeg то будете приятно удивлены тем, что можно сделать с помощью этой утилиты из простой командной строки.
1. Получение информации о видео-файле
Для получения информации о видео файле (например video.mp4), запустите следующую команду. Помните, что надо указывать выходной файл, но в этом примере нам требуется только посмотреть информацию.
$ ffmpeg -i video.mp4 -hide_banner
Примечание: Опция -hide_banner
используется для скрытия информации о копирайте показываемом ffmpeg, и опциях сборки и версии утилиты.
Без опции -hide_banner
будет выведен весь копирайт FFmpeg как показано ниже.
$ ffmpeg -i video.mp4
2. Разрезать видео на картинки
Для разрезания видео на пронумерованные картинки-кадры, запустите команду показанную ниже. Команда генерирует файлы с именами image1.jpg, image2.jpg и т.д…
$ ffmpeg -i video.flv image%d.jpg
После выполнения вы можете посмотреть что у вас получилось при помощи команды 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. Конвертирование видео в mp3 формат
Для конвертирования видео в формате .flv в файл формата Mp3 запустите следующую команду.
$ ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3
Опции использованные в этой команде:
- vn: отключает запись видео во время преобразования.
- ar: устанавливает частоту дискретизации аудио в Hz.
- ab: устанавливает битрейт аудио.
- ac: устанавливает количество каналов аудио.
- -f: формат.
5. Преобразование flv видео-файла в mpg формат
$ ffmpeg -i video.flv video.mpg
6. Преобразование видео в анимированный gif
Для конвертирования .flv видео в анимированный не сжатый gif файл, используйте следующую команду.
$ ffmpeg -i video.flv animated.gif.mp4
7. Конвертирование 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 : максимальный размер выводимого файла в байтах(тут, 2 Gb).
- aspect 16: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. Извлечь аудио из видео
Для извлечения аудио в mp3 формат из видео-файла:
$ ffmpeg -i video1.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio3.mp3
Описание опций.
- Исходное видео : video.avi
- Битрейт аудио : 192kb/s
- Выходной формат : mp3
- Генерируемый файл : audio3.mp3
11. Смешивание аудио и видео
$ ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg
12. Увеличение/Уменьшение скорости воспроизведения видео
Для увеличения скорости воспроизведения используйте команду приведенную ниже. Опция -vf устанавливает видео-фильтр помогающий изменить скорость.
$ ffmpeg -i video.mpg -vf "setpts=0.5*PTS" highspeed.mpg
Так же вы можете уменьшить скорость:
$ ffmpeg -i video.mpg -vf "setpts=4.0*PTS" lowerspeed.mpg -hide_banner
13. Сравнение/Тестирование качества видео и аудио
$ ffplay video1.mp4
для теста аудио просто укажите аудио-файл:
$ ffplay audio_filename1.mp3
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
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. Исходная статья взята тут.