怎么用ffmpeg给视频加几秒的封面文字水印


ffmpeg -i input.mp4 -vf "drawtext=fontfile=simhei.ttf: text=‘技术是第一生产力’:x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" output.mp4

simhei.ttf 字体文件,必须有,否则汉字显示不了。

ffmpeg -i input.mp4 -vf "........x=w-50,y=50:enable=lt(mod(t\,30)\,25):fontsize=50:fontcolor=yellow@1:shadowy=2" out.mp4

ffmpeg -i ok.mp4 -vf "drawtext=fontfile=SimHei.ttf: text=技术是第一生产力:x=w/3:y=h/2:enable='if(gt(n,0),lt(n,250))':fontsize=24:fontcolor=yellow:shadowy=2" output1.mp4
enable='if(gt(n,0),lt(n,250))' 这一段表示水印出现的时间是多长。实际显示的大概8s左右消失。

ffmpeg -i ok.mp4 -vf "drawtext=fontfile=SimHei.ttf: text=妈妈做的好...难吃:x=w/3:y=h/2:enable='if(gt(n,0),lt(n,100))':box=true:boxcolor=red:fontsize=24:fontcolor=yellow:shadowy=2" output1.mp4  -y
https://www.homedt.net/25258.html

使用 ffmpeg 插入 2 个不同的透明 PNG 标志(左下角和右下角的各一个标志): 
ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=H-h-10,overlay=x=W-w-10:y=H-h-10' output

1.添加文字水印

1.1 字段说明

在视频中增加文字水印需要有文字字库处理的相关文件,在编译 FFmpeg 时需要支持 FreeType、FontConfig、iconv,系统中需要有相关的字库,在 FFmpeg 中增加纯字母水印可以使用drawtext滤镜进行支持,下面就来看一下 drawtext 的滤镜参数。如下所示:

(1)text:字符串 ,表示文字。
(2)textfile:字符串,表示文字文件。
(3)box:布尔,表示文字区域背景框(缺省 false)。
(4)boxcolor:色彩,表示可以展示展示字体区域块的颜色。
(5)font:字符串,表示字体名称(默认为 Sans 字体)。
(6)fontsize:整数,表示显示字体的大小。
(7)x:字符串,表示可以缺省为 0。
(8)y:字符串,表示可以缺省为 0。
(9)alpha:浮点数,表示透明度(默认为 1),值从 0~1。

#以下脚本保存成.sh文件运行,不会出现中文乱码问题 网上查到用enable关键字控制,实际是draw
#加水印 水印位置由x,y,w,h来控制

#ffmpeg编译时需--enable-libfreetype才能用此功能
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text='来源:迅雷':x=100:y=x/dar:fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4     
 
     
#加水印,显示10秒
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text='来源:迅雷':x=100:y=x/dar:
enable='if(gt(n,0),lt(n,250))':fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4   
     
#加水印,每3秒显示1秒
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text='来源:迅雷':x=w-100:y=100:
enable=lt(mod(t\,3)\,1):fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4

阅读量: 607
发布于:
修改于: