【发布时间】:2020-05-07 21:06:18
【问题描述】:
我想从 800x10000 的静止图像生成视频 [比如说 800x600]。
图像必须从上到下滚动,就像有人在滚动页面一样。
如果它可以在某些部分上滚动得更快而在其他部分上滚动得更慢,那就太好了,否则我想我可以制作几个单独的视频,然后将它们拼接起来。
我找不到有关此主题的任何文档;谁能给我一个提示?感谢您的宝贵时间!
【问题讨论】:
标签: ffmpeg
我想从 800x10000 的静止图像生成视频 [比如说 800x600]。
图像必须从上到下滚动,就像有人在滚动页面一样。
如果它可以在某些部分上滚动得更快而在其他部分上滚动得更慢,那就太好了,否则我想我可以制作几个单独的视频,然后将它们拼接起来。
我找不到有关此主题的任何文档;谁能给我一个提示?感谢您的宝贵时间!
【问题讨论】:
标签: ffmpeg
使用scroll 过滤器。 crop 过滤器是可选的,将为大图像输入输出合理的宽度和高度。您也可以考虑使用scale 过滤器。 format 过滤器输出广泛兼容的像素格式/色度二次采样方案。
ffmpeg -loop 1 -i input.png -vf "scroll=vertical=0.01,crop=iw:600:0:0,format=yuv420p" -t 10 output.mp4
ffmpeg -loop 1 -i input.png -vf "scroll=horizontal=0.01,crop=800:600:0:0,format=yuv420p" -t 10 output.mp4
horizontal, h设置水平滚动速度。默认值为 0。允许范围为 -1 到 1。负值更改滚动方向。
vertical, v设置垂直滚动速度。默认值为 0。允许范围为 -1 到 1。负值更改滚动方向。
hpos设置初始水平滚动位置。默认值为 0。允许的范围是 0 到 1。
vpos设置初始垂直滚动位置。默认值为 0。允许的范围是 0 到 1。
【讨论】:
ffmpeg -f lavfi -i color=s=851x600:d=20 -loop 1 -i 1.jpg -i 2.mp3 -filter_complex "[1:v]scale=851:8680[fg]; [0:v][fg]overlay=y=-'t*h*0.05':shortest=1[v]" -map "[v]" -map 1:0 /3.mp4
ffmpeg -f lavfi -i color=s=750x360:d=60:r=30 -loop 1 -i /4339550983562.jpg -i /2.mp3 -i /copy.png -filter_complex "[1:v]scale=750:-1[fg]; [0:v][fg]overlay=y='min(-h+main_h+(h-main_h)*t/60, 0)':shortest=1[gg]; [gg][3:v]overlay=10:main_h-h-10[gh]" -shortest -map "[gh]" -map 2:a /xx.mp4
scroll=horizontal=-0.01会改变方向,而scroll=horizontal=-1不会?