ffmpeg -- 从 .mp4 转换时向 .jpg/.png 帧添加捕获时间戳

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

我有一个使用带有嵌入式 GPS(gpmd 轨道)的 GoPro Fusion 拍摄的 360 度视频 (.mp4)。

我想将视频分成帧(每秒 1 帧),分成 png 或 jpg 文件,同时保留某些全局元数据,例如相机制造商,但最重要的是时间戳。

视频本身在元数据中只有开始日期/时间和持续时间。

我的想法是首先使用 exiftool 提取元数据,使用 ffmpeg 将视频分解为帧,然后使用 exiftool 根据时间对帧进行地理编码。

虽然我无法使用 ffmpeg 将时间戳添加到单独提取的帧(使用基于帧号和开始日期/时间的偏移量(ffmpeg 仅添加文件创建日期 - 当我运行命令时)。

现在我开始考虑使用自定义脚本根据帧速率进行偏移(例如视频从 12:00 开始,为每个帧创建的时间戳添加 +1 秒。

在我开始之前,我想正确验证 ffmpeg 是否真的可以使用视频的开始时间将捕获时间写入帧中。

基于SO搜索,我尝试了很多标志组合,唉,没有成功,例如

ffmpeg -i VIDEO_7152.mp4 -r 1 -map_metadata 0:g FRAMES/img%04d.png

ffmpeg -i VIDEO_7152.mp4 -r 1 -movflags use_metadata_tag FRAMES/img%04d.png

这是视频文件:https://drive.google.com/file/d/1XspMMI4Vd4eX4yLJ-FAwKOadhYzmjxH1/view?usp=sharing

我在 Windows 上使用 ffmpeg。

这是我从提取的帧中获取的元数据示例:https://gitlab.com/snippets/1978974

video ffmpeg exiftool
1个回答
0
投票

你不能从 ffprobe 中提取元数据,然后使用

-metadata
标志在 ffmpeg 上设置时间戳吗?

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