ffmpeg给视频添加文本
1. 给视频添加文本
给视频添加文本有两种通常做法,一种是使用字幕实现,一种是使用overlay滤镜实现。但下面是通过使用drawtext滤镜,更高级的做法实现。
格式:ffmpeg -i input -vf drawtext=fontfile=arial.ttf:text=welcome output //给输入源添加welcome文本,字体为arial.ttf
比如:ffplay -f lavfi -i color=c=white -vf drawtext=fontfile=arial.ttf:text=welcome //当前目录下需要存在arial.ttf,可以在/Windows/Fonts目录下找
2. 控制文本位置
2-1. 水平位置的设置
通过x参数控制。tw是文本的宽度,w是帧的宽度。水平居中:x=(w-tw)/2
2-2. 垂直位置的设置
通过y参数控制。th是文本的高度,h是帧的高度。 垂直居中:y=(h-th)/2
比如:ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(w-tw)/2:y=(h-th)/2" //文本居中显示
3. 文本大小、颜色的设置
文本大小使用fontsize参数。文本颜色使用fontcolor参数
比如:ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(w-tw)/2:y=(h-th)/2:fontcolor=green:fontsize=30"
4. 文本移动
水平方向移动:向右x=w-t*n 向左x=t*n-tw //w帧的宽度,t参数,tw文本的宽度,n具体的数
比如:ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(w-t*50):y=(h-th)/2:fontcolor=green:fontsize=30" //文本从右往左移动
ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(t*50-tw):y=(h-th)/2:fontcolor=green:fontsize=30" //文本从左往右移动
垂直方向移动:向右y=h-t*n 向左y=t*n-th //w帧的宽度,t参数,tw文本的宽度,n具体的数
比如:ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(w-tw)/2:y=(h-t*50):fontcolor=green:fontsize=30" //文本从下往上移动
ffplay -f lavfi -i color=c=white -vf drawtext="fontfile=arial.ttf:text='welcome you':x=(w-tw)/2:y=(t*50-th):fontcolor=green:fontsize=30" //文本从上往下移动
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库