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/

相关推荐
SKYDROID云卓小助手14 小时前
无人设备遥控器之数字图传技术
运维·服务器·单片机·嵌入式硬件·fpga开发
努力努力再努力wz15 小时前
【Linux进阶系列】:线程(上)
java·linux·运维·服务器·数据结构·c++·redis
java 乐山15 小时前
蓝牙网关(备份)
linux·网络·算法
2301_8035545215 小时前
面试后查缺补漏--cmake,makefiles,g++,gcc(自写精华版)
linux·运维·服务器
煤球王子15 小时前
浅学任务调度
linux
1024002416 小时前
ubuntu系统中 jupyter Kernel 频繁崩溃原因
linux·运维·服务器
深圳市恒讯科技16 小时前
使用站群服务器做SEO,如何避免被搜索引擎判定为“站群作弊”?
服务器·搜索引擎·php
LilySesy16 小时前
ABAP+如果在join的时候需要表1的字段某几位等于表2的字段的某几位,需要怎么做?
服务器·前端·数据库·sap·abap·alv
EasyGBS16 小时前
EasyGBS助力智慧医院打造全方位视频监控联网服务体系
网络·音视频
z10_1416 小时前
海外住宅ip怎么区分干净程度以及怎么选择海外住宅ip
服务器·网络·网络协议·tcp/ip