我有一个(杜比视界)视频文件test.mp4
,但hev1
在视频轨道Codec ID
(ffmpeg)或Compressor ID
(exiftool)中
exiftool -CompatibleBrands -CompressorID test.mp4
Compatible Brands : isom, dby1, iso2, mp41
Compressor ID : hev1
当我运行exiftool -CompatibleBrands=isom -CompressorID=dvhe
它时显示
Warning: Sorry, CompatibleBrands is not writable
Warning: Sorry, CompressorID is not writable
Nothing to do.
视频流HDR format : Dolby Vision, Version 1.0, dvhe.05.07, BL+RPU
在mediainfo里,所以应该是dvhe。
我也尝试过ffmpeg -i test.mp4 -map 0 -codec copy -brand dvhe -strict experimental test2.mp4
,但是 hev1 仍然存在。
perl -pi -e 's/hev1/dvhe/g' test.mp4
部分起作用,但也会发生变化Format
,总体Codec ID
而言dvhe
(Codec ID
是dvhe (dvhe/dby1/iso2/mp41)
)
是否有可能更改这两个(以及其他不可写的)部分?
答案1
CompressorID
是
QuickTime ImageDesc 标签,而是CompatibleBrands
一个
QuickTime 文件类型标签。
这些标签不可写,因为它们对于播放此媒体至关重要。您无法更改这些标签,至少不能使用 ExifTool。使用某些视频编辑程序可能可以,但我不推荐任何此类编辑器。
要安全地更改这些标签,最简单的方法是重新编码媒体文件。
答案2
你能理论上,使用 ExifTool 可以更改这些标签。但你需要重新定义它的配置为此并覆盖那里的标签定义,将其Writable
类型更改为。可以在上例中的部分string
下找到示例,例如:%Image::ExifTool::UserDefined
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Exif::Main' => {
0xd000 => {
Name => 'NewEXIFTag',
Writable => 'int16u',
WriteGroup => 'IFD0',
},
},
);
现在,你应该弄乱它并尝试更改这些标签吗?当然,你可以在备份文件上进行测试,但很可能是浪费时间。即使它最终让你编辑它们(据@StarGeek 说惯于),标签的名称明确地暗示了一些不应该手动修改的东西,比如设备/软件兼容性。
这看起来像一个明显的 XY 问题,我建议询问你的主要目标。