小编Tru*_*CP5的帖子

使用 ffmpeg 注入 360 视频元数据

我正在开发一个将元数据注入/嵌入/写入 .mp4 文件的库,以允许视频正确显示为 360 度视频。输入文件是 equirectangular 格式的标准 .mp4 文件,我需要注入适当的元数据以使其显示为 360 度视频。我知道像谷歌的空间媒体工具这样的工具存在,但如果可能的话,我想用 ffmpeg 来做。

这是我已经尝试过但不起作用的方法:

ffmpeg -i input.mp4 -movflags use_metadata_tags -metadata Spherical=true -metadata Stitched=true -metadata ProjectionType=equirectangular -metadata StitchingSoftware=StreetviewJourney -codec copy output.mp4
Run Code Online (Sandbox Code Playgroud)

我尝试了它的许多变体,例如添加GSpherical:和添加xmp:到元数据标签。

空间媒体工具注入的元数据如下所示,这正是我想要实现的:

<?xml version="1.0"?><rdf:SphericalVideo
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:GSpherical="http://ns.google.com/videos/1.0/spherical/"><GSpherical:Spherical>true</GSpherical:Spherical><GSpherical:Stitched>true</GSpherical:Stitched><GSpherical:StitchingSoftware>Spherical Metadata Tool</GSpherical:StitchingSoftware><GSpherical:ProjectionType>equirectangular</GSpherical:ProjectionType></rdf:SphericalVideo>
Run Code Online (Sandbox Code Playgroud)

编辑 1

当我使用 ffmpeg 提取元数据时,它在日志中包含球形标签,但在我将其输出到 ffmetadata 文件时不包含。这是我使用的命令:ffmpeg -i injected.mp4 -map_metadata -1 -f ffmetadata data.txt

这是日志的输出:

 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Side data:
      spherical: equirectangular (0.000000/0.000000/0.000000)
Run Code Online (Sandbox Code Playgroud)

编辑 …

video xml metadata ffmpeg

6
推荐指数
0
解决办法
1976
查看次数

标签 统计

ffmpeg ×1

metadata ×1

video ×1

xml ×1