zenconverter 中文文档 下载 App

视频基础元数据读取

能读什么

ZenConverter 用 Android 系统 API MediaMetadataRetriever 读取视频的基础元数据:

字段说明来源
时长视频总时长(毫秒)MediaMetadataRetriever.METADATA_KEY_DURATION
分辨率宽 × 高METADATA_KEY_VIDEO_WIDTH / HEIGHT
容器码率视频流的码率(bits/s)MediaMetadataRetriever 直接暴露(API 31+)
帧率视频流的帧率MediaMetadataRetriever 直接暴露

这些字段覆盖了"我想知道这个视频有多长、多大、分辨率多少"的最常见需求。

为什么只看不写

视频元数据清理明确不做,原因有三层:

1. 格式多样性太高

视频容器格式远比图片多:MP4/MKV/MOV/WEBM/AVI/3GP/TS/MTS/……每种格式的元数据结构完全不同,处理每种格式的元数据写回都是独立工程量。

2. 写回风险太大

视频元数据嵌在容器内部的各种 box/chunk 里,修改一个值可能需要:

一次写错 = 整个视频容器损坏 = 视频打不开。风险远大于收益。

3. 和图片的对比

图片(JPG)的元数据(APP1 段)可以直接删掉(见 JPG EXIF 擦除页面),因为删除不影响像素数据的位置。但视频的元数据 box 经常在容器中间位置,删掉它后面所有内容的 offset 都要更新——工程量不是一个量级。

如果你需要清理视频元数据

有两条可行路线:

  1. 转码时过滤元数据:用 ZenConverter 的视频互转路线重新编码输出——输出视频只包含新编码生成的元数据,源视频的拍摄时间、GPS、相机信息等元数据不会被自动拷贝(视频互转路线是重新编码,不是 stream copy);
  2. 桌面端 ffmpeg:ffmpeg -i input.mp4 -map_metadata -c copy output.mp4 可以在桌面端清除元数据(stream copy 不改像素,只清除容器元数据)。

路线 1 虽然会有损(重新编码),但能彻底去掉不需要的元数据,是 ZenConverter 生态里唯一可行的办法。

和视频互转的关系

ZenConverter 的视频互转路线(MP4 → MP4 等)本身就是重新编码,输出视频不携带源视频的原始元数据。这意味着:

使用场景

场景推荐
想知道手机拍的视频有多长、分辨率多少隐私工具 → 查看视频元数据
想把视频发出去但不泄露拍摄时间视频互转 → 选相同格式重新编码 → 输出干净视频

相关页面

视频转 GIF 界面
ZenConverter 视频格式转换:转完就是干净的新文件