拍完的视频想标上拍摄时间,或者监控录像需要显示日期和星期,手动一个个加太慢。这篇把三种可行方法都写清楚,包括免费的命令行方案,你可以按视频数量和折腾程度自己选。
常见的几种情况:
这些场景有个共同点:要的不是"现在几点",而是"这个视频是什么时候拍的"。这一点会直接决定下面哪种方法能用。
适合只有一两个视频的情况。
以剪映为例:
2026-08-11 星期二 14:30能做到的:样式随便调,想放哪放哪,效果最可控。
做不到的:
视频超过 5 个,这个方法基本就废了。
FFmpeg 是免费开源的视频处理工具,用 drawtext 滤镜可以往画面上叠文字。
最简单的写法,把处理时的系统时间打上去:
ffmpeg -i input.mp4 -vf "drawtext=fontfile='C:/Windows/Fonts/simhei.ttf':text='%{localtime:%Y-%m-%d %H\:%M\:%S}':x=20:y=20:fontsize=36:fontcolor=white:box=1:boxcolor=black@0.5" -c:a copy output.mp4
参数说明:x/y 是位置,fontsize 是字号,box=1 加半透明黑底方便看清,-c:a copy 表示音频不重新编码。
Windows 下用 for 循环遍历文件夹:
for %f in (*.mp4) do ffmpeg -i "%f" -vf "drawtext=fontfile='C:/Windows/Fonts/simhei.ttf':text='%{localtime:%Y-%m-%d}':x=20:y=20:fontsize=36:fontcolor=white" -c:a copy "out_%f"
这个方案的三个坑,用之前一定要知道:
坑一:路径转义能把人逼疯。上面命令里 C:/Windows/Fonts/ 那个反斜杠加冒号不是打错了——Windows 的盘符冒号在 FFmpeg 滤镜里必须转义,时间格式里的冒号还要用 \: 双重转义。少一个斜杠就报错,而且报错信息完全看不出是哪里的问题。
坑二:加的是"现在",不是"拍摄时间"。%{localtime} 取的是你运行命令那一刻的系统时间。要想打上视频真正的拍摄时间,得先用 ffprobe 把元数据里的 creation_time 读出来,再拼进命令里——这就需要写脚本了,纯命令行搞不定。
坑三:中文星期基本出不来。FFmpeg 的时间格式化依赖系统 locale,%A 在 Windows 中文环境下经常输出乱码或空白。想要"星期二"这三个字,实际操作中几乎只能自己算好了硬写进去。
所以 FFmpeg 适合:视频不多、只需要统一打个固定日期、且你不怕折腾命令行。要拍摄时间、要星期、要批量,它就吃力了。
如果视频数量多,或者需要"时间+星期"这种组合,用现成的工具会省很多事。
以睿君视频时间戳添加工具为例,流程是:
几个实际有用的点:
支持 MP4 / MOV / MKV / AVI 这些常见格式。可以先下载试用,演示满意再决定买不买。
| 对比项 | 剪映/PR | FFmpeg | 专用工具 |
|---|---|---|---|
| 费用 | 免费/订阅 | 免费 | 付费 |
| 上手难度 | 低 | 高 | 低 |
| 批量处理 | 不行 | 要写脚本 | 支持 |
| 拍摄时间 | 手动查 | 要写脚本 | 支持 |
| 中文星期 | 手动算 | 基本不行 | 支持 |
| 实时预览 | 有 | 无 | 有 |
| 适合场景 | 1~3 个视频 | 会命令行,量不大 | 批量、要星期 |
一句话总结:三五个视频用剪映;会折腾命令行、只需要统一日期用 FFmpeg;视频多、要拍摄时间和星期,用专用工具最省事。
Q:加了时间戳会不会让画质变差?
会有一点。加文字必须重新编码画面,多少有损失。想把损失降到最低,选内封字幕模式——它不改动原始画面,播放器叠加显示,缺点是部分播放器可能不显示。
Q:能不能只给视频的某一段加?
剪映里拖动文本条长度就行。FFmpeg 要在 drawtext 里加 enable='between(t,10,30)' 这样的条件。
Q:时间戳被画面内容盖住看不清怎么办?
加半透明底框(FFmpeg 的 box=1:boxcolor=black@0.5),或者给文字加描边。挑画面里变化最少的角落放。
Q:批量处理时每个视频的时间不一样怎么办?
这是纯命令行最难搞的一点,需要逐个读取文件元数据。专用工具一般会自动读取每个视频的创建时间。
需要批量给视频加时间戳的话,可以看看这两个版本:单文件版适合单个视频快速处理,批量版支持整文件夹和多视频并发。都可以先下载演示,满意再购买。
上一篇:没有了!
86998867
微信同号
