exiftool对视频信息进行读取修改

python 复制代码
​
安装 ExifTool
首先,你需要在你的计算机上安装 ExifTool。你可以从 ExifTool 官方网站 下载适合你操作系统的版本。

获取信息 也可以重定向 > metadata.json
exiftool filename.mp4 -j
修改视频元数据
安装完成后,你可以使用 ExifTool 的命令行接口来修改视频文件的元数据。以下是一个基本的命令示例,用于修改视频文件的标题和作者信息:


exiftool -Title="My New Title" -Author="Your Name" input_video.mp4

在这个命令中:

exiftool 是 ExifTool 的命令行工具。
-Title="My New Title" 设置视频的标题元数据为 "My New Title"。
-Author="Your Name" 设置视频的作者元数据为 "Your Name"。
input_video.mp4 是你要修改元数据的视频文件。
批量修改视频元数据
如果你想批量修改多个视频文件的元数据,可以使用 ExifTool 的 -r 选项递归地处理目录中的所有文件:


exiftool -r -Title="My New Title" -Author="Your Name" /path/to/videos

在这个命令中:

-r 递归地处理指定目录及其所有子目录中的文件。
/path/to/videos 是包含视频文件的目录路径。
清除视频元数据
如果你想清除视频文件的所有元数据,可以使用以下命令:


exiftool -all= input_video.mp4

这个命令将删除 input_video.mp4 文件的所有元数据。
-tag="删除单个数据


-overwrite_original不保留副本直接覆盖原文件

exiftool -overwrite_original -Title="My New Title" -Author="Your Name" input_video.mp4
请注意,修改视频文件的元数据可能会影响视频的播放或兼容性。在进行任何修改之前,请确保备份原始文件。

高级用法
ExifTool 支持大量的元数据标签和复杂的查询操作。你可以在 ExifTool 官方网站 查找更多关于可用标签和命令的详细信息。

注意了 有些元素是不可以修改的 
exiftool -a -v 1.MP4可以查询到 -u也一样 如果出现的unknow 就是修改不了 甚至添加不了 可能是设备的定制元素 
-TAG=	删除所有出现的 TAG
-all=	删除所有元信息!†
-GROUP:TAG=	仅删除指定组中的 TAG
-GROUP:ALL=	删除指定组中的所有信息
-[GROUP:]TAG=值	设置 TAG 的值(如果指定,则仅在 GROUP 中)
-[GROUP:]TAG+=值	将项目添加到列表、移动日期/时间或递增数字
-[GROUP:]TAG-=值	从列表中删除项目、移动日期/时间或删除 TAG(如果具有指定值)
-[组:]TAG<=文件	根据指定文件的内容设置标签值
例如-key: tag=
exiftool -a -u -g1 photo.jpg #查看所有元信息,包括重复和未知标签,并按小组排列
设置某tag的值:-tag=VALUE
增减某tag值(如果是数字的话):-tag+=VALUE 或-tag-=VALUE
清空: -tag=

exiftool -tagsFromFile 2.mp4 22.mp4可以直接复制信息
exiftool -r -TagsFromFile 2t.mp4 -all:description  o.mp4使用指定tag进行复制 当然也可以-all:all全部复制


如果你想要修改的值有json的话 那么你先输出json文件>1.json 然后查看对应的转义前的字符串
​

如果你只需要获取视频文件的Comment信息,你可以使用ExifTool的-S选项来打印特定的元数据标签,并且使用-j选项来输出JSON格式。

-S: 打印指定的标签。

-comment=Comment: 指定你想要获取的标签是Comment,并且输出的字段名称将是Comment。

-j: 以JSON格式输出信息。

filename.mp4: 你想要获取元数据的视频文件名。

请确保将filename.mp4替换为你实际的视频文件名。如果文件名包含空格或特殊字符,使用引号将其括起来。

执行这个命令后,ExifTool将只输出视频文件中的Comment信息,并且以JSON格式展示。这样你就可以直接获取到Comment字段的内容,而不需要解析整个元数据输出。

-restore_original:恢复备份

-delete_original:删除备份

python 复制代码
#新建xmp标签
%Image::ExifTool::UserDefined = (
    'Image::ExifTool::XMP::Main' => {
        xxx => {
            SubDirectory => {
                TagTable => 'Image::ExifTool::UserDefined::xxx',
            },
        },
    },
);
%Image::ExifTool::UserDefined::xxx = (
    GROUPS => { 0 => 'XMP', 1 => 'XMP-xxx', 2 => 'Other' },
    NAMESPACE => { 'xxx' => 'http://ns.myname.com/xxx/1.0/' },
    WRITABLE => 'string',
    MyNewXMPTag => { },
);

参考https://www.it1352.com/1621110.html

配置文件格式如下
https://exiftool.org/config.html

如果你有些元素必须要修改 我心发现一个模块 mutagen可以修改 只不过key会打印不出来

具体自己看https://mutagen.readthedocs.io/en/latest/

相关推荐
极客小张1 分钟前
基于正点原子Linux开发板的智能监控与家电控制系统设计:深度解析Video4Linux和TCP/IP技术栈
linux·运维·c++·物联网·网络协议·tcp/ip·算法
sunxunyong1 分钟前
Linux 删除文件不释放空间问题处理
大数据·linux·运维·服务器
只对您心动1 小时前
【C高级】有关shell脚本的一些练习
linux·c语言·shell·脚本
lldhsds1 小时前
linux下的分布式Minio部署实践
linux·minio·分布式对象存储
OH五星上将2 小时前
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【内核通信机制】上
linux·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·liteos-a·鸿蒙内核
DC_BLOG3 小时前
IPv6(四)
运维·服务器·网络·ip
shelby_loo3 小时前
通过 Docker 部署 MySQL 服务器
服务器·mysql·docker
学习前端的小z3 小时前
【AI视频】Runway:Gen-2 图文生视频与运动模式详解
人工智能·aigc·音视频
ZBzibing3 小时前
[游戏技术]L4D服务器报错解决
服务器·游戏
沈艺强3 小时前
伊犁linux 创建yum 源过程
linux·运维·服务器