Полезные команды FFmpeg.
Для стикеров формата webm.
Вариант 1:
ffmpeg -i [путь]\*.mov -vf "crop=w='min(iw\,ih)':h='min(iw\,ih)',scale=512:512,setsar=1,fps=30" -c:v libvpx-vp9 -pix_fmt yuva420p -t 2.96 -crf 30 -b:v 0 -an [путь]\*.webmВариант 2:
ffmpeg -i [путь]\*.mov -t 2.96 -vf "fps=30,scale=512:512:force_original_aspect_ratio=decrease:flags=lanczos,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000,setsar=1" -an -c:v libvpx-vp9 -pix_fmt yuva420p -b:v 0 -crf 30 -deadline best -cpu-used 0 -row-mt 1 -auto-alt-ref 1 -lag-in-frames 25 [путь]\*.webmРегулировка параметра -crf позволяет менять качество и размер итогового файла. Чем меньше значение, тем лучше качество, но больше размер. Так можно подобрать параметры стикера, чтобы его размер был близок к ограничению Telegram в 256 КБ при максимально возможном качестве. Также можно изменять fps и длительность параметром -t.
Сжатие видео mp4.
Со звуком:
ffmpeg -i [путь]\*.mp4 -vf "fps=25,scale=-2:720" -c:v libx264 -crf 25 -preset veryslow -c:a aac -b:a 128k [путь]\*.mp4Без звука (полезно для создания псевдо gif в телеграм):
ffmpeg -i [путь]\*.mp4 -vf "fps=25,scale=-2:720" -c:v libx264 -crf 25 -preset veryslow -an [путь]\*.mp4Создание GIF с прозрачным фоном.
Вариант 1:
ffmpeg -i [путь]\*.mov -vf "fps=30,split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse=dither=bayer:bayer_scale=5:alpha_threshold=128" -loop 0 [путь]\*.gifВариант 2:
ffmpeg -i [путь]\*.mov -vf "fps=30,split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse=dither=sierra2_4a:alpha_threshold=128" -loop 0 [путь]\*.gifРаспространённый способ создания качественного GIF, если исходное видео не содержит прозрачности:
ffmpeg -i [путь]\*.mov -vf "fps=60,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse=dither=sierra2_4a" -loop 0 [путь]\*.gifGIF может потребоваться для таких сервисов, как Behance и т. п.
Также могут быть полезны команды:
Извлечь аудио из видео
ffmpeg -i video.mp4 audio.mp3Конвертировать MKV в MP4
ffmpeg -i video.mkv video.mp4
Обрезать видео
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 output.mp4Получить информацию о файле
ffprobe video.mp4 или ffmpeg -i video.mp4Для подробного разбора каждого параметра можно воспользоваться документацией (https://ffmpeg.org/documentation.html) FFmpeg или ИИ-помощниками. Настройки FFmpeg очень гибкие и позволяют быстро добиться нужного результата.
Дополнительно можно скачать файл .epr — готовый профиль для Adobe Media Encoder, предназначенный для экспорта в .mov (Apple ProRes 4444 XQ). Его удобно использовать как исходник для дальнейшей обработки в FFmpeg.
#заметки #руководство #ffmpeg #полезное