小编mat*_*ttm的帖子

如何使用 ffmpeg 以 YYYY-MM-DD HH:MM:SS 格式将捕获的时间戳叠加到视频上?

我正在尝试使用 ffmpeg 在存储的视频文件的视频帧上覆盖时间戳(捕获帧的日期和时间)。

这成功地显示了自视频开始以来的时间(以秒为单位):

ffmpeg -i in.webm -filter_complex "drawtext=fontfile=/usr/share/fonts/truetype/arial.ttf: text='%{pts \:flt}': x=100 : y=50 : box=1" -c:a copy out.webm

文件表明,pts也可以采取gmtime参数打印出来的日期和时间,

当前帧的时间戳。它最多可以接受三个参数。

第一个参数是时间戳的格式;它默认为 flt 秒作为具有微秒精度的十进制数;hms 代表格式化的 [-]HH:MM:SS.mmm 时间戳,精度为毫秒。gmtime 代表格式为 UTC 时间的帧的时间戳;localtime 代表格式化为本地时区时间的帧的时间戳。

第二个参数是添加到时间戳的偏移量。

如果格式设置为 localtime 或 gmtime,则可以提供第三个参数:strftime() 格式字符串。默认情况下,将使用 YYYY-MM-DD HH:MM:SS 格式。

但是当我尝试使用时 ffmpeg -i in.webm -filter_complex "drawtext=fontfile=/usr/share/fonts/truetype/arial.ttf: text='%{pts \:gmtime}': x=100 : y=50 : box=1" -c:a copy out.webm 出现错误Invalid format 'gmtime'

ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg video-editing

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

ffmpeg ×1

video ×1

video-editing ×1