V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ijrou
V2EX  ›  程序员

视频添加水印,水印在视频内弹来弹去那种~

  •  
  •   ijrou · 2021-12-06 17:37:10 +08:00 · 2586 次点击
    这是一个创建于 1083 天前的主题,其中的信息可能已经有所发展或是发生改变。

    视频添加水印,水印在视频内弹来弹去那种,ffmpeg 命令该怎么实现呢?似乎都没有现成命令。。。

    求大神赐教~

    效果如下:

    9 条回复    2021-12-07 09:09:02 +08:00
    DoveAz
        1
    DoveAz  
       2021-12-06 17:41:15 +08:00   ❤️ 1
    gif 解君愁
    crab
        2
    crab  
       2021-12-06 17:43:31 +08:00
    搜索下:ffmpeg 跑马灯。
    ijrou
        3
    ijrou  
    OP
       2021-12-06 17:46:05 +08:00
    @DoveAz #1 视频后期加水印啊,生成 gif 是什么鬼?
    @crab #2 跑马灯只能左右上下,我这需求时路径水印啊,碰到边缘反弹的那种啊
    ltyj2003
        4
    ltyj2003  
       2021-12-06 17:49:02 +08:00 via Android
    生成个水印移动的视频,和原视频叠加
    crab
        5
    crab  
       2021-12-06 18:02:39 +08:00
    https://stackoverflow.com/questions/36362443/ffmpeg-dynamic-letters-and-random-position-watermark-to-video

    看看能不能通过这个判断语句修改下,x 和 y 判断到顶和底以及加偏移.
    GalaDOS
        6
    GalaDOS  
       2021-12-06 18:04:12 +08:00   ❤️ 4
    举个例子,具体还要自己改。比如水印本身的长宽要算进去,懒得写了:
    ffmpeg -i origin.mp4 -i watermark.jpeg -filter_complex "[0:v][1:v]overlay=x='abs(mod(n*20,2*W)-W)':y='abs(mod(n*10,2*H)-H)'" -c:v libx264 output.mp4
    jifengg
        7
    jifengg  
       2021-12-06 18:34:26 +08:00 via Android
    之前研究过,明天白天回复你
    ijrou
        8
    ijrou  
    OP
       2021-12-06 20:35:36 +08:00
    @ltyj2003 有过想法
    @crab 这个看过了哈,似乎还需要改改才行
    @GalaDOS 棒啊,这个可以实现,有点小 BUg ,但是可以参考了,请接受我的膝盖~~
    @jifengg 期待~
    jifengg
        9
    jifengg  
       2021-12-07 09:09:02 +08:00
    @ijrou 这位仁兄 @GalaDOS 给的例子已经很完美了。我以前用 if 写的,这里用 abs 简直精妙绝伦,所以我的就不献丑了。
    考虑水印长宽的话,只要把 W 换成 (W-w),H 换成 (H-h) ,就可以,注意大小写。
    修改起始位置的话,分别改 n*20 和 n*10 ,加上一些初始值即可,加上的值即影响初始位置,也影响初始方向,楼主可以自行研究一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2801 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:58 · PVG 21:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.