Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video FFmpeg缩放不是平滑居中(而是锯齿形)_Video_Ffmpeg_Zooming - Fatal编程技术网

Video FFmpeg缩放不是平滑居中(而是锯齿形)

Video FFmpeg缩放不是平滑居中(而是锯齿形),video,ffmpeg,zooming,Video,Ffmpeg,Zooming,我尝试使用FFmpeg执行基本的。我有一个输入图像(.png 1280x720),我用它创建了一个8秒的视频(.mp4 320x180),并进行了缩放。这是我的命令: ffmpeg-loop 1-i in_img.png-c:v libx264-pix_fmt yuv420p-严格实验-帧率25-vf zoompan=z='min(zoom+0.011835363,2.1835363):d=375:x=400:y=247-s 320x180-t 00:00:08.882 out\u vid.mp

我尝试使用FFmpeg执行基本的。我有一个输入图像(.png 1280x720),我用它创建了一个8秒的视频(.mp4 320x180),并进行了缩放。这是我的命令:

ffmpeg-loop 1-i in_img.png-c:v libx264-pix_fmt yuv420p-严格实验-帧率25-vf zoompan=z='min(zoom+0.011835363,2.1835363):d=375:x=400:y=247-s 320x180-t 00:00:08.882 out\u vid.mp4

一切正常…但是变焦看起来不太好。它在曲折前进

有人知道如何使其平滑缩放,例如居中缩放吗?(不是先左后右)

谢谢

编辑
通过稍微修改-vf过滤器中的“x”和“y”,我离解决方案又近了一小步(命令的其余部分与上面相同):

-vf zoompan=z='min(zoom+0.022,3.25)':d=375:x='if(gte(zoom,3.25),x,x+8.24)':y='if(gte(zoom,3.25),y,y+4.72):s=1280x720

每帧(对于x+8.24,对于y+4.72,我知道这些值,因为我知道到达最终缩放状态需要多少帧),我会激励xy,以便它移动到其最终缩放状态坐标(1011582),请参见图:

,如您所见,它不会产生锯齿形效果,但现在它看起来像是先到中心,然后到缩放结果。还是那只是一种幻觉??
有什么想法吗?

要从缩放级别
1
(1280x720)缩放到缩放级别
5
(256x144)并平移到右下角,最终位置(1011568)为125帧,输出视频为320x180,请使用

-vf zoompan=z='min(zoom+0.0320,5)':d=125:x='(iw-(iw/zoom))*(1011/1024)': \
                                         y='(ih-(ih/zoom))*(568/576)',scale=320x180
其中
0.0320
是要放大的
(最终缩放-初始缩放)/帧的划分,
1024
输入宽度-最终宽度
576
输入高度-最终高度


FFmpeg似乎无法平滑插值,因此精细的缩放和平移会产生抖动。

在不重新缩放和检查的情况下尝试。相同的结果。。但可能是因为我使用的x和y是缩放结束位置的左上角坐标。这是正确的推理还是我错了?