Полезные команды FFMPEG для управления аудио и видео файлами

Управление медиафайлами не всегда просто. Форматы файлов усложняют ситуацию. Многие системы Linux используют мощный инструмент для воспроизведения и управления медиа: FFMPEG.
FFMPEG — это мощный инструмент командной строки, который вы можете легко использовать для управления и конвертации ваших медиафайлов. Его также легко скриптовать или интегрировать в полные программы. Вот несколько полезных команд FFMPEG, которые помогут вам получить от него максимум.
1. Просмотр информации о файле
FFMPEG имеет доступ ко всей информации о файлах, с которыми вы работаете. Вы можете отобразить эту информацию в терминале, не изменяя файл и не выполняя конвертацию.
ffmpeg-i video.mkv -hide_bannerТакже читайте: Как декомпилировать видеофайл в изображения с помощью FFMPEG на Linux
2. Простые конверсии между форматами
Несмотря на свою мощь, FFMPEG действительно прост в использовании. Вы можете легко конвертировать файл между форматами с помощью одной команды.
ffmpeg-i input.mkv output.mp4То же самое работает и с аудиофайлами.
ffmpeg-i input.mp3 output.ogg3. Цели видео
Для видео FFMPEG также включает функцию, которая пытается соответствовать спецификациям носителя для вывода. Это в основном используется для форматирования видео для записи на DVD.
ffmpeg-i input.mkv -target dvd output.aviВы также можете указывать регионы.
ffmpeg-i input.mkv -target ntsc-dvd output.avi4. Конвертация видео в аудио
Если у вас есть видео с песней, которую вы хотите, или вам, возможно, нужно только аудио из видеофайла, вы можете использовать FFMPEG, чтобы удалить видео из файла, оставив только аудио.
ffmpeg-i input.mkv -vn output.ogg5. Конвертация видео в GIF
Если вы любите создавать мемы из коротких анимированных .gifs, вам повезло. FFMPEG может конвертировать видеофайл в GIF. Скомбинируйте это с следующим разделом о создании клипов, чтобы изолировать точный фрагмент видео, который вам нужен.
ffmpeg-i video.mkv animation.gif6. Создание клипов
Вы также можете создавать видео и аудиоклипы с помощью FFMPEG. Вам нужно только указать начальную точку и как долго вы хотите, чтобы FFMPEG работал. Флаг -ss задаст вам начальную точку. Укажите время в формате hh:mm:ss. То же самое относится и к флагу -f, который укажет время работы клипа. В конце флаг -c говорит FFMPEG создать копию из оригинала, а не обрезать тот же файл.
ffmpeg-i orig.mkv -ss 00:23:45-t 00:03:87-c clip.mkv7. Масштабирование видео
FFMPEG также может уменьшать видео до разных разрешений, чтобы уменьшить размер и/или подогнать под разные экраны. Укажите размеры, которые вам нужны, и он автоматически масштабируется при конвертации.
ffmepg -i source.mkv -vfscale=1280:720 scaled.mkv8. Добавление субтитров к видео
Если у вас есть видеофайл и отдельные субтитры, вы можете добавить субтитры с помощью FFMPEG.
ffmpeg-i source.mkv -i subs.srt -map0-map1-c copy -crf23 video-with-subtitles.mkvТакже читайте: Как записывать экран из командной строки в Linux
9. Поворот видео
Вы можете изменить ориентацию видео. Это полезно, когда вы хотите отформатировать видео для мобильных устройств. Существует несколько опций, которые вы можете использовать для изменения направления поворота. 0 — это поворот против часовой стрелки и вертикальный переворот. 1 — это поворот на 90 градусов по часовой стрелке. 2 поворачивает видео на 90 градусов против часовой стрелки. 3 повернет видео на 90 градусов по часовой стрелке и перевернет его вертикально.
ffmpeg-i video.mkv -vftranspose=1 for-mobile.mkv10. Установка битрейта аудио
При конвертации аудиофайлов часто важно установить битрейт результирующего файла. Битрейт поможет улучшить качество аудио. Чтобы указать битрейт, используйте флаг -ab.
ffmpeg-i source.flac -ab 320k output.mp311. Добавление баннера к аудио
Если вы создаете аудиофайл для загрузки на видеосайт, вы можете добавить его, чтобы превратить аудио в видеофайл со статическим изображением.
ffmpeg-loop1-i banner.jpg -i audio.mp3 -strict experimental -shortest audio-upload.mp412. Изменение громкости аудиофайлов
Иногда у вас есть аудиофайл, который слишком тихий, чтобы его слышать, или, что еще хуже, один, который слишком громкий. Вы можете использовать FFMPEG, чтобы изменить громкость аудиофайла. Он считает 1 стандартной громкостью, поэтому 2 будет вдвое громче оригинала, а 0.5 — вдвое тише.
ffmepg -i quiet-song.mp3 -af"volume=2.0" louder-song.mp313. Запись аудио
Вы также можете использовать FFMPEG для записи аудио непосредственно из источника ввода, например, микрофона. Это работает очень похоже на все остальное, но вам нужно указать, какой аудиобэкэнд (alsa или pulseaudio) вы используете. Вам также нужно указать устройство (микрофон) в качестве источника вместо файла.
ffmpeg-f alsa -i/dev/dsp -ab 320k recording.flacЗаключительные мысли
На самом деле, с FFMPEG можно сделать гораздо больше, и как только вы начнете скриптовать, вы найдете много других возможностей. Начните комбинировать эти опции, и вы обнаружите, что можете получить довольно много контроля над вашими медиафайлами.
Эта статья была впервые опубликована в сентябре 2016 года и обновлена в феврале 2018 года.