video - FFMPEG 如何使用循环、缩放、叠加位置向 mp4 视频添加 gif 水印
问题描述
这是我的代码
ffmpeg -i video.mp4 -i anim.gif -filter_complex "[1:v] loop=-1,scale=300:-1 [ol], [0:v] [ol] overlay=W-w:H-h-10" -codec:a copy -y out.mp4
但是我无法根据视频长度将它放入循环中
我还尝试将 gif 宽度缩放到主视频宽度的 30% Gif positioing 在这里工作能够将 gif 定位在 bootom 右上角但我还需要根据主视频宽度对其进行缩放
解决方案
添加-ignore_loop 0
到 gif 输入:
ffmpeg -i video.mp4 -ignore_loop 0 -i anim.gif -filter_complex "
[1:v][0:v]scale2ref=w=iw*0.3:h=ow*mdar [ol][bg];
[bg][ol] overlay=W-w:H-h-10:eof_action=pass
" -shortest -c:a copy -y out.mp4
用于scale2ref
输入视频的 30% 比例
推荐阅读
- java - 我想通过从我的应用程序重定向来 ping 谷歌地图上的位置
- spring-security - Spring Cloud Gateway 低吞吐量,安全
- database - MongoDB 使用 $project 按键从数组元素中获取
- php - 带有实体引用的 Saxon php xml 模式验证
- kubernetes - Keycloak API 有时会返回未经授权的 401
- java - 对 mapred-default.xml 的更新在 Web UI 配置中不可见
- assembly - 加减法没有产生预期的结果
- java - 双和长的非原子处理
- javascript - 单击 div,获取插入符号,将 div 替换为相同的内容和 contenteditable=true,然后将插入符号选择放在单击的位置
- javascript - 如何调试失败的`webdriver.Builder.built()`