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/

相关推荐
了一li1 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
明 庭2 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker
BUG 4042 小时前
Linux——Shell
linux·运维·服务器
007php0072 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程
yang_shengy2 小时前
【JavaEE】网络(6)
服务器·网络·http·https
大霞上仙2 小时前
Linux 多命令执行
linux·运维·服务器