FFMPEG 缩放图像到中心位置

Bal*_*jee 5 ffmpeg

Zoompan 的 FFMPEG 文档https://ffmpeg.org/ffmpeg-filters.html#Examples-89

放大至 1.5 并同时平移到图片中心附近的某个点:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
Run Code Online (Sandbox Code Playgroud)

放大至 1.5 并始终在图片中心平移:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
Run Code Online (Sandbox Code Playgroud)

我尝试了这两个选项,但仍然对缩放效果不满意。变焦时我可以看到一些抖动问题。

想知道是否有更好的方法来实现这一目标。我想将图像(16:9 比例)缩放到其中心位置 XX 秒,下面是我的相同代码

ffmpeg -r 25 -i image.png -filter_complex "zoompan=z='min(zoom+0.0032,5)':d=125:x='iw/1.7777-(iw/zoom/1.7777)':y='ih/1.7777-(ih/zoom/1.7777)'"  -shortest  -pix_fmt yuv420p -c:v libx264 image_output.mp4
Run Code Online (Sandbox Code Playgroud)

视频文件: http: //sendvid.com/zn6oftiu

Tim*_*ite 4

我遇到了同样的问题,并得到了一个非常有效的答案。关键是在应用变焦滤镜之前首先放大图像。您可以随后缩小至所需的分辨率。

以下放大 10 倍,缩放到中心,然后缩小回 720p(-2缩放过滤器中的 x 值保持宽高比,即scale=-2:10*ih)。这几乎消除了抖动:

ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:10*ih,zoompan=z='min(zoom+0.0015,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720"  -y -shortest -c:v libx264 image_output.mp4
Run Code Online (Sandbox Code Playgroud)

请注意,初始高档似乎越高,最终的缩放就越平滑。将以上与仅 2 倍的高档进行比较:

ffmpeg -r 25 -i LVjYi.jpg -filter_complex "scale=-2:2*ih,zoompan=z='min(zoom+0.0015,1.5)':d=125:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=-2:720"  -y -shortest -c:v libx264 image_output.mp4
Run Code Online (Sandbox Code Playgroud)

那个还是摇摇晃晃的。