ffmpeg给视频添加时间水印

本文详细介绍如何使用FFmpeg的drawtext滤镜模块为视频添加时间水印,包括本地时间水印、详细日期水印及视频pts时间戳水印的方法。适用于直播实时编码和离线转码测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ffmpeg给视频添加时间水印

通过 drawtext 滤镜模块给视频添加时间水印

  • 给视频添加时间水印
  • 用来做片源调试,非常方便的查找和定位处理的哪一帧视频片源;

1. 添加本地时间水印

ffmpeg -t 5 -i input.mp4 -vf “drawtext=fontsize=160:text=’%{localtime:%T}’” -c:v libx264 -an -f mp4 output.mp4 -y

ffmpeg -t 5 -i input.mp4 -vf "drawtext=fontsize=160:text='%{localtime\:%T}'" -c:v libx264 -an -f mp4 output.mp4 -y

效果如下:在这里插入图片描述

2. 添加本地时间水印,打印详细日期并且精确到毫秒

ffmpeg -t 5 -i input.mp4 -vf “settb=AVTB,setpts=‘trunc(PTS/1K)1K+st(1,trunc(RTCTIME/1K))-1Ktrunc(ld(1)/1K)’,drawtext=fontsize=100:fontcolor=white:text=’%{localtime}.%{eif:1Mt-1Ktrunc(t*1K):d}’” -c:v libx264 -an -f mp4 output.mp4 -y

ffmpeg -t 5 -i input.mp4 -vf "settb=AVTB,setpts='trunc(PTS/1K)*1K+st(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)',drawtext=fontsize=100:fontcolor=white:text='%{localtime}.%{eif\:1M*t-1K*trunc(t*1K)\:d}'" -c:v libx264 -an -f mp4 output.mp4 -y

注意:
上面的测试case,比较适合在直播中使用,实时编码同时实时获取系统时间。
如果是离线转码测试,可以添加 -re 参数。如下:
ffmpeg -re -t 5 -i input.mp4 -vf “settb=AVTB,setpts=‘trunc(PTS/1K)1K+st(1,trunc(RTCTIME/1K))-1Ktrunc(ld(1)/1K)’,drawtext=fontsize=100:fontcolor=white:text=’%{localtime}.%{eif:1Mt-1Ktrunc(t*1K):d}’” -c:v libx264 -an -f mp4 output.mp4 -y

效果如下:
在这里插入图片描述

3. 把视频的pts时间戳添加为视频水印,精度到毫秒

ffmpeg -t 5 -i input.mp4 -vf “drawtext=fontsize=160:text=’%{pts:hms}’” -c:v libx264 -an -f mp4 output.mp4 -y

ffmpeg -t 5 -i input.mp4 -vf "drawtext=fontsize=160:text='%{pts\:hms}'" -c:v libx264 -an -f mp4 output.mp4 -y

效果如下:(第二秒截图)
在这里插入图片描述

测试过程中使用的截图命令,截取视频中的第二秒的图片:

ffmpeg  -i output.mp4  -ss 2 -vframes 1 ~/Desktop/test.jpeg -y
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值