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/

相关推荐
vortex58 分钟前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
ZPC821012 分钟前
Linux Preempt-RT 实时内核 ** 抖动(Jitter)** 完整测试方法
linux·运维·服务器
2501_9200470314 分钟前
openclaw在ubuntu系统的安装
linux·运维·ubuntu·openclaw
呉師傅37 分钟前
UPS滴滴告警!如何测量UPS电池内阻【UPS学习】
运维·服务器·网络·学习·电脑
一个人旅程~1 小时前
linux如何“抢”过windows的usb移动硬盘权限对0磁道损坏的移动硬盘进行尝试修复
linux·windows·经验分享·电脑
tedcloud1232 小时前
wifi-densepose部署教程:构建无线人体感知系统
服务器·javascript·网络·typescript·ocr
AC赳赳老秦2 小时前
OpenClaw碎片时间利用:设置轻量化自动化任务,高效利用职场碎片时间
java·大数据·运维·服务器·数据库·自动化·openclaw
sukioe2 小时前
Linux RPM 方式安装 MySQL 8.0
linux·mysql·adb
lqj_本人2 小时前
鸿蒙electron跨端框架PC课业板实战:课程、截止时间、提交物和风险都放到桌面上
服务器·electron·harmonyos
Bert.Cai2 小时前
Linux tee命令详解
linux·运维·服务器