ffmpeg 过滤器在视频上添加时间戳

ffmpeg 过滤器在视频上添加时间戳

我在视频上显示计时器时遇到问题。我参考了几个示例,但没有显示成功。帮我修复一下。

在此处输入图片描述

答案1

尝试这个命令:

ffmpeg -y -i input.mp4 -vf "drawtext=fontfile=roboto.ttf:fontsize=36:fontcolor=yellow:text='%{pts\:gmtime\:1575526882\:%A, %d, %B %Y %I\\\:%M\\\:%S %p}'" -preset ultrafast -f mp4 output.mp4

根据您的需要对命令进行更改。

另请参阅以下链接,它将为您提供有关时间戳的更多了解:

strftime——格式化日期和时间

答案2

我使用以下过滤器:

-vf drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf:text='%{localtime}':[email protected]:x=7:y=7

我把这个过滤器放在输入规范和输出规范之间。

你只需要适应:

  • x=XXy=YY取决于所希望的位置。
  • fontfile=取决于您的系统上可用的字体。

答案3

我在谷歌上看到了这篇文章,想为我的视频添加时间显示。了解到它的正确术语是刻录时间码,并找到了一篇帖子关闭。做了一些更改,并能够将时间码刻录到视频的右下角,颜色为黄色:

 ffmpeg -i input_video.mp4 -vf "drawtext=fontsize=60:fontcolor=yellow:text='%{pts\:hms}':x=(w-text_w):y=(h-text_h)" output.mp4

在此处输入图片描述

相关内容