FFmpeg по-русски. zoom динамическое увеличение, уменьшение изображения
FFmpeg примеры динамического увеличения, уменьшения изображения.
Для видео
ffmpeg -i -lavfi “format=yuv444p, zoompan=z=’if(gte(in,30),min(pzoom 1/500,5),1)’: x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: d=1: s=1280x720: fps=30, format=yuv420p, setpts=PTS-STARTPTS“ video-zoom-slow-(v1).mp4
• gte(in,30) — задержка начала увеличения на 1 сек, т.е. начало после 30 кадра
• min(pzoom 1/500,5),1) — изменение скорости и продолжительности увеличения
NB! Необходимо указывать разрешение и частоту кадров исхдящего видео, например, s=3840x2160 и fps=30. По умолчанию используются s=1280x720 и fps=25.
Входящее видео здесь сначала форматируется в yuv444p, потому что этот формат даёт наилучший результат плавности увеличения без подёргивания. После обработки фильтром zoompan, если требуется, можно переформатировать в yuv420p.
ffmpeg -i -lavfi “format=yuv444p, zoompan=z=pzoom :x=’iw/2-iw/zoom/2’:y=’ih/2-ih/zoom/2’: d=1: s=1280x720: fps=30, format=yuv420p, setpts=PTS-STARTPTS“ video-zoom-slow-(v2).mp4
ffmpeg -i -filter_complex “format=pix_fmts=yuva444p, pad=w=1/0.1*iw:h=1/0.1*ih: color=white: x=(ow-iw/2): y=(oh-ih)/2, zoompan=z=pzoom : x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: d=1:s=1280x720: fps=30, trim=duration=5, format=yuv420p, setpts=PTS-STARTPTS“
pzoom — значение параметра расчитано на увеличение изображения до исходного размера за 5 секунд.
color=white — белый фон можно заменить на синий или зелёный для использования фильтра chromakey.
Для фото
ffmpeg -loop 1 -i -t 10 -filter_complex “format=yuv444p, zoompan=z=’if(gte(in,30),min(pzoom 1/500,5),1)’: x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: d=1: s=720x720: fps=30, format=yuv420p, setpts=PTS-STARTPTS“ picture-zoom-in-(v1).mp4
ffmpeg -loop 1 -i -t 10 -c:v libx264 -vf “format=pix_fmts=yuva444p, zoompan=z=’min(max(zoom,pzoom) ,9.0)’: d=1: x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: s=720x720:fps=30, format=pix_fmts=yuva420p, setpts=PTS-STARTPTS“ picture-zoom-in-(v2).mp4
Значения и 9.0 взаимозависимые. Повышая одно и понижая другое можно подобрать скорость и продолжительность увеличения изображения.
ffmpeg -i -filter_complex “[0:v]format=pix_fmts=yuva444p, pad=w=1/0.1*iw:h=1/0.1*ih:x=(ow-iw/2):y=(oh-ih)/2, zoompan=z=’on*(1/0.1)/(30*10)’: d=(30*10): x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: s=720x720: fps=30, format=pix_fmts=yuva420p, setpts=PTS-STARTPTS[vo]“ -map “[vo]“ picture-zoom-in-(v3).mp4
• on*(1/0.1) — скорость увеличения 10 пикселей каждый кадр
• (30*10) — продолжительность увеличения 10 секунд при 30 кадрах в секунду
ffmpeg -i -filter_complex “format=pix_fmts=yuva444p, pad=w=1/0.1*iw:h=1/0.1*ih: color=white: x=(ow-iw/2): y=(oh-ih)/2, zoompan=z=’(10*30-on)*(1/0.1)/(10*30)’: d=(10*30): x=’iw/2-(iw/zoom/2)’: y=’ih/2-(ih/zoom/2)’: s=720x720: fps=30, format=pix_fmts=yuva420p, setpts=PTS-STARTPTS“ picture-zoom-out-(v1).mp4
• (10*30-on)*(1/0.1) — продолжительность уменьшения 10 секунд при 30 кадрах в секунду
• (10*30)’:d=(10*30) — скорость уменьшения 10 пикселей каждый кадр
ffmpeg -i -filter_complex “format=pix_fmts=yuva444p, zoompan=z=’(10*30-on)*(1/0.1)/(10*30)’: d=(10*30): x=’iw/2.5-(iw/zoom/2.5)’: y=’ih/2.5-(ih/zoom/2.5)’: s=720x720: fps=30, format=pix_fmts=yuva420p, setpts=PTS-STARTPTS“ picture-zoom-out-(v2).mp4
ffmpeg -i -vf “format=yuv444p, zoompan=z=’if(lte(mod(on,42),10),zoom ,)’: x=’iw/2-(iw/zoom)/2’: y=’ih/2-(ih/zoom)/2’: d=300: s=720x720:fps=30, format=yuv420p, setpts=PTS-STARTPTS“
Продолжительность видео 10 секунд (300/30)
ffmpeg -i -vf “format=yuv444p, zoompan=d=300: z=’if(gte(zoom,1.8) eq(ld(1),1)[id125886778|zoom,1],*st(1,1),zoom 0*st(1,0)): x=iw/2-(iw/zoom/2): y=ih/2-(ih/zoom/2)’: s=1280x720: fps=30,format=yuv420p, setpts=PTS-STARTPTS“ -t 10
2 views
4620
1722
2 months ago 00:03:53 18
FFmpeg по-русски. Пакетный файл.
2 months ago 00:03:31 1
FFmpeg по-русски. Представление.
2 months ago 00:04:55 1
FFmpeg по-русски. GIF анимация.
2 months ago 00:06:32 2
FFmpeg по-русски. Синтаксис.
2 months ago 00:02:29 15
FFmpeg по-русски. zoom — динамическое увеличение, уменьшение изображения
7 months ago 00:03:03 1
Как установить Whisper ai? БЕСПЛАТНО И ОФФЛАЙН | Аудио в текст | OpenAI Whisper | ASR
7 months ago 00:07:26 1
Нейросеть для перевода аудио в текст. Транскрибация от OpenAI: Whisper
1 year ago 00:04:25 1
[RUS SUB] Utsu-P - デスロウ / Death of the Law (Вокалоид русские субтитры) [Хатсуне Мику]
4 years ago 00:11:45 7
Minecraft ГАЙД по ReplayMod — 02 — Необходимые основы (Интерфейс и Рендер)
4 years ago 00:06:20 111
Minecraft ГАЙД по ReplayMod — 01 — С ЧЕГО НАЧАТЬ? (Установка и настройка)
5 years ago 00:14:04 1.8K
НЕ ИМПОРТИРУЮТСЯ ФУТАЖИ в FInal Cut на Catalina. РЕШЕНИЕ ПРОБЛЕМЫ с помощью FFMPEG.