Skip to content
Опубликовано: 2021-02-11
Обновлено: 2022-01-26
Теги: ffmpeg

Подсказки про ffmpeg

Это для меня, т.к. изредка бывает нужно что-то сделать и начинаю снова гуглить…

Фильтры объединяются через запятую -filter:v "scale=1:1,setpts=PTS"

Объединение видео

Простой способ

Очень просто, но не всегда работает

ffmpeg -f concat -i video01.mp4 -i video02.mp4 -c copy output.mp4

или так

ffmpeg -i 'concat:video01.mp4|video02.mp4' -c copy output.mp4

Через промежуточные файлы

Тут могут возникнуть проблемы с кодеком, можно будет попробовать тогда h264_mp4toannexb

ffmpeg -i video01.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i video02.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

Изменение разрешения видео

Делается через фильтр scale

ffmpeg -i input.mp4 -c copy -filter:v "scale=1280:960" output.mp4

Изменение скорости воспроизведения видео

Делается через фильтр setpts

Множитель является инвертированным знаением. Для ускорения в 2 раза надо умножать на 0.5, а для замедления в 2 раза надо умножать на 2.

ffmpeg -i input.mp4 -c copy -filter:v "setpts=0.75*PTS" output.mp4

Изменить начало и конец видео

ffmpeg -i input.mp4 -ss 00:01:20 -t 53 -c copy output.mp4

Отключить звук

ffmpeg -i input.mp4 -c copy -an output.mp4

Обрезать изображение

Обрезка области производится через видео фильтр crop. Синтаксис фильтра crop=out_width:out_height:from_x:from_y, где

ffmpeg -i in.mp4 -filter:v "crop=650:600:210:120" out.mp4

Конвертирование webm в mp4

ffmpeg -fflags +genpts -i in.webm -r 24 out.mp4