Мне уже несколько раз надо было выполнить некоторые действия с видео — обрезать, вырезать звук, сконвертировать в другой формат, просто ужать размер (а то иногда присылают видео двадцать минут в полтора гигабайта). С некоторых пор стал использовать для этих действий утилиту командной строки ffmpeg.
Когда использовал ОС Windows — скачивал разные графические программы для обработки видео. Но я уже более трех лет использую Ubuntu, так что поискал что-то под неё — и нашел статьи про ffmpeg, а работать в командной строке я уже привык.
Но делаю я эти действия крайне редко, так что ничего не получается запомнить, даже те сайты, на которых я нужные команды ищу. Поэтому сделаю то же самое, что и с grep’ом — сделаю у себя закладку с полезными (для меня) командами и быстро смогу их находить. Может кому тоже будет полезно.
Установка ffmpeg:
sudo apt install ffmpeg
Вызов справки:
ffmpeg -h
Вытащить аудиодорожку из видео input.mp4 и сконвертировать её в в файл output.mp3:
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 192K -f mp3 output.mp3
192K — это битрейт. Конечно, настройками можно поиграть — уменьш-увеличить размер выходного файла.
Вытащить aac-дорожку без конвертации
ffmpeg -i input.mp4 -c:a copy output.aac
Сконвертировать aac, webm в mp3:
ffmpeg -i input.aac -ab 192K output.mp3
ffmpeg -i input.webm -ab 192K output.mp3
Информация о файле (в т.ч. битрейт):
ffmpeg -i output.mp3
Уменьшить размер видеофайла:
ffmpeg -i bigvideo.MOV outvideo.mov
Сконвертировать MOV-видео с указанием качества:
ffmpeg -i bigvideo.MOV -q:v 15 outvideo.avi
Число показывает уровень качества, от 1 до 31, где 1 — наилучшее качество.
Вырезать из video.mp4 начиная с 15-й секунды кусок длительностью 5 секунд в файл out.mp4:
ffmpeg -ss 00:00:15 -i video.mp4 -c copy -t 00:00:05 out.mp4
Скопировать из файла output.mp3 фрагмент начиная с часа до двух часов 35 минут и 16 секунды в файл out1.mp3 (то есть мы указываем длительность фрагмента, который собираемся копировать):
ffmpeg -ss 01:00:00 -t 01:35:16 -i output.mp3 -acodec copy -vcodec copy out1.mp3
Сконвертировать контейнер из mp4 в mov без перекодирования данных:
ffmpeg -i old.mp4 -c copy new.mov
Большая статья на хабре: 19 команд ffmpeg для любых нужд, и в комментариях еще куча полезной информации.
Leave a Reply