gpt4 book ai didi

image - 使用 ffmpeg 或类似的元数据中的 "picture taken date/time"从多个图像创建带有时间戳的视频?

转载 作者:行者123 更新时间:2023-12-04 22:45:31 28 4
gpt4 key购买 nike

我有两个速率为 1 fps 的延时视频。相机每分钟拍摄一张图像。不幸的是,它错过了将相机设置为在每张图像上刻录/打印时间和日期。我正在尝试将时间和日期刻录到视频中。

我用 ffmpeg 将两个 .avi 文件解码成 ~7000 个单图像,并写了一个 R将文件重命名为“创建”日期(拍摄照片的时间和日期)的脚本。然后我使用 exiftool 将这些信息“写入”文件,写入它们的 exif 数据或元数据或任何所谓的内容。

文件夹中的最终图像如下所示:

2018-03-12 17_36_40.png

2018-03-12 17_35_40.png

2018-03-12 17_34_40.png

...

是否可以使用 ffmpeg 或类似视频中的“时间戳”从这些图像再次创建视频,以便您在观看视频时可以看到时间和日期戳?

最佳答案

我认为这可以分两步完成。

  1. 首先,您创建一个 mp4 文件,其中包含每张图片的时间戳。这是创建此类视频文件的批处理文件。
    @echo off
set "INPUT=C:\t\video"
for %%a in ("%INPUT%\*.png") do (
ffmpeg -i "%%~a" -vf "drawtext=text=%%~na:x=50:y=100:fontfile=/Windows/Fonts/arial.ttf:fontsize=25:fontcolor=white" -c:v libx264 -pix_fmt yuv420p "output/%%~na.mp4"
)

这将为目录 output/ 中的每个 png 图片创建 mp4。

解释

For cycle 是否循环遍历所有 *.png 文件并创建 *.mp4 文件

文本是通过文本叠加添加的。它通过批处理 %%~na 添加没有后缀的文件名。

  • 此处添加的文本是没有.png后缀的文件名。
  • 使用的字体是arial.ttf(随意放置任何你想要的)
  • 接下来在要放置文本的位置设置 xy 坐标
  • libx264 x264用来编码什么
  • -pix_fmt yuv420p 是给烂玩家玩的
  1. 第二步是 concate h.264 together使用 concat 分离器:

您需要创建一个文件列表,如 file_list.txt

    file '2018-03-12 17_34_40.mp4'
duration 10
file '2018-03-12 17_35_40.mp4'
duration 10
file '2018-03-12 17_36_40.mp4'
duration 10
...

可以找到例子here .

然后您只需连接所有 *.mp4 文件 - 在 output 子目录中运行:

ffmpeg -safe 0 -f concat -i file_list.txt -c copy output.mp4

这将创建一个 concat output.mp4 文件。

关于image - 使用 ffmpeg 或类似的元数据中的 "picture taken date/time"从多个图像创建带有时间戳的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49263625/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com