ffmpeg 元数据副本(全部)

ffmpeg metadata copy (all)

希望你今天过得愉快,

我提出了与 FFMPEG 和复制元数据相关的问题。

所以我的输出文件只有一些元数据,但不是全部,即使我的 .txt 包含它们也是如此。

目前正在使用 -map_metadata 0:g 正如我在此处的某处所读,它应该复制所有内容。我尝试了其他几个,但 none 正在工作。

我在 bat 文件中制作了所有内容,因此这是“for”循环的一部分:

ffmpeg -i "%%A" -f ffmetadata metadata.txt -f rawvideo -y NUL

然后

ffmpeg -i "%%A" -f ffmetadata -i metadata.txt -c copy -map_metadata 0:g -movflags +faststart "%output%\%%~nAtag.mov"

现在,我从元数据中获取标题、作者,但我没有获取字段“描述”。因此并非所有数据都被复制。您知道如何基本上将这些元数据从文件复制到另一个文件(绝对是所有这些吗?

PS -metadata description="TESTESTTEST" 似乎只适用于 mp4 文件,不适用于 mov 文件

对于mov & mp4容器,如果添加-movflags use_metadata_tags可以写自定义标签。
见Gyan answer

对于非 ffmpeg 解决方案,exiftool 可用于通过此命令复制 MP4/Mov 文件中的元数据
exiftool -TagsFromFile source.mp4 -All:All target.mp4

假设文件同名,可以用这个命令进行批处理
exiftool -TagsFromFile /path/to/sources/%F -All:All /path/to/targets/

这些命令创建备份文件。添加 -overwrite_original 以禁止创建备份文件。