我们有个应用,会从上到下滚动显示一张超级长图,滚动时间可能有 10 来分钟。应用实现使用 filter ovelay ,根据时间改变 y 值。下面的 script 是根据不同图片长图自动生成的。但是时间一长图片一长,滚动就不丝滑了,会抖动 /闪烁,有没有大神可以帮忙解决一下~有辛苦费。
ffmpeg -y -r 1 -loop 1 -t 544.3800000000026 -i /Users/joey/Library/Application Support/Electron/tmp/content.png -r 60 -loop 1 -t 544.3800000000026 -i /Users/joey/Library/Application Support/Electron/tmp/bg.png -filter_complex [1:v]crop=1080:810:0:0,fps=60[v1];[v1][0:v]overlay=x=0:y=if(gt(t\,1.29)\,48.6-151.75127511093854*(t-1.29)\,48.6)[mv1];[1][mv1]overlay=y=0[m1] -preset ultrafast -map [m1] -t 544.3800000000026 /Users/joey/Library/Application Support/Electron/tmp/output.mp4
1
lh900519 2023-01-17 11:45:14 +08:00 via Android
可以考虑添加 scale ,之前使用 zoompad 放大缩小的时候产生的抖动,就是使用 sacle 解决的
|
2
murmur 2023-01-17 11:46:33 +08:00
这个需求一下就看出来了,把长网页自动转视频,MCN 洗稿吧,这不得开个大口可是核心业务啊
|
3
LLaMA2 2023-01-17 12:11:24 +08:00 1
假定图片是 1920*108000 像素
那么用程序将图片切成 1920*1080 的块,每个步进向下移动 N 个像素,越接近 1 越顺滑,然后 ffmpeg 将图片合成视频。 难度不大, 给钱 :D |
4
tool2d 2023-01-17 12:29:33 +08:00 1
同意三楼,自己切一下像素,每帧喂裁切后图片给 ffmpeg ,多方便。
|
9
tool2d 2023-01-17 13:00:06 +08:00
|