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/

相关推荐
pk_xz12345642 分钟前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强44 分钟前
Linux之sed命令详解
linux·运维·服务器
海绵波波1071 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云3 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock3 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零4 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面5 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习