Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/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
Ffmpeg 覆盖图像缩小和移动_Ffmpeg - Fatal编程技术网

Ffmpeg 覆盖图像缩小和移动

Ffmpeg 覆盖图像缩小和移动,ffmpeg,Ffmpeg,我有一个图像覆盖的视频。在开始的10秒钟里,图片几乎被设置为全屏,之后我需要将图片缩小到较小的尺寸,并将其放在视频的左下角 此时,我将输入图像分割并叠加到视频上,没有过渡,一个用于“大”图片,一个用于“小”图片,效果很好。 我想做的是一个“缩小和moove”效果,使它从大的中心图片到小的图片更平滑 这是我当前的复杂过滤器: -i "video.mp4" -i "img.jpg" -filter_complex "[1:v]split=2[im

我有一个图像覆盖的视频。在开始的10秒钟里,图片几乎被设置为全屏,之后我需要将图片缩小到较小的尺寸,并将其放在视频的左下角

此时,我将输入图像分割并叠加到视频上,没有过渡,一个用于“大”图片,一个用于“小”图片,效果很好。 我想做的是一个“缩小和moove”效果,使它从大的中心图片到小的图片更平滑

这是我当前的复杂过滤器:

-i "video.mp4" 
-i "img.jpg" 
-filter_complex "[1:v]split=2[img10][img20];[img10]scale=1469:856[img11];[img20]scale=293:171[img21];[0:v][img11]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:enable='between(t,0,10)',fade=out:st=9:d=1:alpha=1[vid];[vid][img21]overlay=10:(main_h-overlay_h-40):enable='gte(t,10)'" 
-crf 18 -c:a copy "out.mp4"

如何使其成为具有缩放+移动效果的单个图像覆盖?

使用ffmpeg 4.3版或更高版本,可以设置缩放参数的动画。然后设置覆盖参数的动画

ffmpeg
-i "video.mp4" 
-loop 1 -i "img.jpg" 
-filter_complex "[1:v]scale=w='if(between(t,10,14),1469-(1469-293)*(t-10)/4,if(lt(t,10),1469,293))':h='if(between(t,10,14),856-(856-171)*(t-10)/4,if(lt(t,10),856,171))':eval=frame[img];[0:v][img]overlay=x='if(between(t,10,14),(W-w)/2-((W-w)/2-10)*(t-10)/4,if(lt(t,10),(W-w)/2,10))':y='if(between(t,10,14),(H-h)/2-((H-h)/2-(H-h-40))*(t-10)/4,if(lt(t,10),(H-h)/2,H-h-40))':shortest=1" 
-crf 18 -c:a copy "out.mp4"

谢谢你的回复,我试过了,但是它在动画中没有调整大小就离开了屏幕,你知道为什么吗?看起来覆盖效果很好,但是比例没有得到AppliedCorrectedExprs。现在覆盖效果很好,但图像没有缩放,并保持原始大小。我使用的是ffmpeg版本2021-03-03-git-4dc039b4c7-essentials\u build-www.gyan.dev;不知道我是否遗漏了什么