使用 ffmpeg,将多张图片生成一个依次滚动展示的视频 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jifengg
V2EX    分享创造

使用 ffmpeg,将多张图片生成一个依次滚动展示的视频

  •  
  •   < href="/member/jifengg">jifengg 2024-05-16 15:49:26 +08:00 2472 次点击
    这是一个创建于 562 天前的主题,其中的信息可能已经有所发展或是发生改变。

    hello ,兄弟们,我又来分享我的 ffmpeg 脚本啦。

    前段时间看到一个视频,对某个游戏的物体进行了评分排行,然后用滚动的方式展示出来,想着这种方式应该可以用自动化的方式实现,于是就想着用 ffmpeg 实现一下。

    声明:请不要用这个脚本产生内容单调的垃圾视频。

    先给出 GitHub 地址:https://github.com/jifengg/ffmpeg-script

    GitHub 上有生成的效果视频,或直接点击这里查看

    使用方式:

    node ffmpeg.images.rolling.js -i <image_folder> [-o <output> ...] 

    支持的参数:

    -i <string> [必须]图片所在的目录 -duration <number> 每张图片从出现到消失的时长(秒),默认:20 -direction <string> 图片滚动的方向,可选:rl (从右到左,默认),lr (从左到右) -margin <number[|number[|number|number]]> 图片之间的间距,支持的格式:all 、vertical|horizontal 、top|right|bottom|left ,默认 all=20 -o <string> 输出视频的路径,默认为输入目录下的 output.mp4 -fps <number> 输出视频的帧率,默认:25 -y 是否覆盖已经存在的输出文件,默认:false -bgimage <string> 背景图片的路径,比 bgcolor 优先,默认:无 -blursigma <number> 背景图片虚化的 sigma 值,为 0 表示不虚化,默认:15 -bgcolor <string> 背景颜色,值的格式同 ffmpeg 的 color ,默认:black -width <number> 输出视频的宽度,默认:1920 -height <number> 输出视频的高度,默认:1080 -top <number> 图片区距离视频顶部的距离,默认:0 -bottom <number> 图片区距离视频底部的距离,默认:0 -title <string> 视频的标题,显示在画面上方,默认:无 -tsize <number> 标题文字大小,默认:80 -tcolor <string> 标题文字颜色,值的格式同 ffmpeg 的 color ,默认:white -tbordercolor <string> 标题边框颜色,值的格式同 ffmpeg 的 color ,默认:black -tfont <string> 标题字体文件路径,非 windows 下使用时必传,默认:c:/Windows/Fonts/msyh.ttc (微软雅黑) -footer <string> 视频的底部文字(脚注),显示在画面下方,默认:无 -fsize <number> 脚注文字大小,默认:30 -fcolor <string> 脚注文字颜色,值的格式同 ffmpeg 的 color ,默认:white -fbordercolor <string> 脚注边框颜色,值的格式同 ffmpeg 的 color ,默认:black -ffont <string> 脚注字体文件路径,非 windows 下使用时必传,默认:c:/Windows/Fonts/msyh.ttc (微软雅黑) -h 显示这个帮助信息 -debug 是否开启 debug 模式,打印更详细的日志 

    我也写了这个脚本编写过程遇到的一些问题及解决方案,可以到 GitHub 上查看ffmpeg.images.rolling.md

    9 条回复    2024-05-20 11:31:18 +08:00
    lozzow
        1
    lozzow  
       2024-05-16 15:57:55 +08:00
    如果是我的话,我只会写个 web,然后录屏
    jifengg
        2
    jifengg  
    OP
       2024-05-16 16:11:06 +08:00
    @lozzow 我的准则就是,一切能交给脚本做的,最终都交给脚本做
    maymay5
        3
    maymay5  
       2024-05-16 16:32:48 +08:00
    我超,我觉得可以跟我融合一下,我用的也是 ffmpeg 合成的: t/1020294
    weak
        4
    weak  
       2024-05-16 20:01:21 +08:00 via iPhone
    对我来说 还是 AE 简单
    HUZHUANGZHUANG
        5
    HUZHUANGZHUANG  
       2024-05-16 23:30:16 +08:00
    为什么我的眼睛看 <以水平滚动的方式,展示多张图片的例子>,感觉视频有些抖动
    jifengg
        6
    jifengg  
    OP
       2024-05-17 12:49:09 +08:00
    @HUZHUANGZHUANG
    一方面呢,视频在显示这种匀速运动的时候,人眼很容易有错觉。这个也和显示器刷新率有关,
    https://github.com/jifengg/ffmpeg-script/blob/main/docs/ffmpeg.images.rolling.md#%E5%B8%A7%E7%8E%87
    文档关于帧率这块有一个说明,链接的 B 站视频也可以看看。
    可以自己尝试做一些不同帧率的视频看看效果。
    wen20
        7
    wen20  
       2024-05-19 22:26:46 +08:00
    抖动的很严重,费眼,得优化。
    jifengg
        8
    jifengg  
    OP
       2024-05-20 08:43:21 +08:00
    @wen20 尝试设置和显示器一样的帧率试试
    unii23i
        9
    unii23i  
       2024-05-20 11:31:18 +08:00
    马一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     960 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:39 PVG 07:39 LAX 15:39 JFK 18:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86