如何使用FFMPEG为视频添加任意格式的时间戳? [重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我在自定义工具中调用ffmpeg来连接视频文件,同时在输出中覆盖时间戳。输出视频需要具有从任意时间开始的时间戳。格式必须是12小时制,包括秒和meridiem,例如:上午10:34:59或下午6:13:09这是我现在正在使用的完整命令:

ffmpeg\bin\ffmpeg.exe -y -i "concat:input.mod" -ss 00:00:00 -t 00:02:17 
-an -vcodec libx264 -profile:v baseline -level 13 -b:v 2000k -vf 
 "drawtext=fontcolor=white:fontsize=16:fontfile="/Windows/Fonts/arial.ttf":
box=1:[email protected]:x=(w-text_w-10):y=(h-text_h-5):
timecode='02\:36\:17\;00':rate=30000/1001" output.mp4

这将从输入文件的开头输出一个2分17秒的持续时间视频。输出视频的右下角有一个时间码,从02:36:17开始到02:38:34结束。我想要的就是这个,但不是在第0帧打印“02:36:17; 00”而是从那里开始计数,它应该在第0帧打印“2:36:17 AM”并从那里开始计数。

我尝试使用localtime函数输出格式化时间,但它使用的时间值是调用drawtext过滤器的时间。它不需要任意时间的参数。

我还查看了pts函数,它似乎允许任意偏移但只支持两种格式化选项,这两种格式都不是我需要的时钟格式。

使用ffmpeg添加具有任意开始时间和格式的时间戳的正确方法是什么?

ffmpeg timestamp
1个回答
0
投票

this question的(目前)第三个答案中回答了这个问题。答案是不推荐使用的strftime扩展选项允许格式化,并接受未记录的基准时间参数(自UNIX纪元以来以微秒为单位)来设置初始时间码。

© www.soinside.com 2019 - 2024. All rights reserved.