不重新编码地恢复 MPO 存储视图
从有界本地 MPO 恢复全部索引 JPEG,保留原件和 EXIF,并核对完整偏移、原始标签与散列。
恢复已存拍摄图像,而非裁切单幅图像
一位 3DS 用户寻找从 MPO 分别导出 JPEG 的应用或浏览器,之后确认插件完成了任务。另一位作者说普通程序无法识别文件中的多个图像。有效终点是分别压缩的拍摄图像;裁切或转换第一幅显示图像不能恢复其他原件。
选择一份带受支持 MP 0100 索引的已有 MPO 或 JPEG。T326 读取 II/MM TIFF 偏移,保留 MP 条目顺序,即使它不同于物理顺序。不会扫描相机或文件系统、推断左/右眼、对齐立体视图或合成 GIF。
保留完整原件、流和独立副本
下载 mpo-views.zip,每个视图采用按索引编号的受控名称。原始流准确保留 MPF 段;独立 JPEG 只移除 MPF APP2,让失效指针不再指向不存在的其他文件。其余压缩图像和受支持元数据字节保留。
| 文件 | 用途 | 保留边界 |
|---|---|---|
| original.mpo | 保留所选容器 | 准确字节,包括间隙与尾范围 |
| view-NNNN-original-stream.bin | 核对索引压缩源流 | 准确声明流字节,包括 MPF |
| view-NNNN.jpg | 分别打开视图 | 只移除 MPF APP2,图像与 EXIF 保留 |
| mpo-inventory.json / mpo-tags.csv | 核对全部视图与类型字段 | 完整 JSON 与安全 CSV,不限于表格预览 |
检查合法相机间隙与元数据
受控 Nintendo3DS 原件为 120198 字节,名为 camera.mpo。两条索引流共 120197 字节,之间有合法 1 字节间隙。独立 JPEG 共 119939 字节。七个 ZIP 成员提供原件、两条原始流、两个独立 JPEG 和两份完整报告。间隙留在 original.mpo,并报告偏移、长度与 SHA256。
清单列出 MPF TIFF 1–12 类型、数量、原始 hex、偏移、别名和有界 next-IFD 链,不宣称完整相机标签含义。支持有界完全/部分值共享;目录/头重叠、重复/无序标签、循环及不支持的结构整份拒绝。
- 使用视图前核对每个索引、源偏移/长度与流散列。
- EXIF/GPS 保留;此工作流不匿名化。
- 下载提供依赖、移除跨度、全部原始字段与未索引范围。
同时应用预算并恢复相同原件
一份至多 50 MiB 文件可包含 2–1000 个受支持视图;文件名至多 512 个 UTF-16 单元。每 IFD 至多 1024 标签,总 MPF 标签 20000、IFD 2048、链深 64、JPEG 结构段 20000。完整紧凑 JSON 加 CSV 至多 8 MiB,小源文件不能绕过报告扩张限制。
1000 视图 ZIP 有 2003 个受控成员。170 MiB 分配保护被三倍源长度、8 MiB 报告与有界 ZIP 头支配,不是独立可达的容量承诺。取消会丢弃未完成结果;可在新 Worker 中重跑相同文件。原生证据在真实完成 100/1000 视图时取消,并验证完整恢复逐字节一致。
区分结构、解码和立体含义
支持 8-bit、单或三分量的基线/渐进 JPEG,检查 SOF/SOS 选择器、采样、DQT、Huffman 形状、结构长度和 EOI。压缩熵按原字节复制,不解码或保证完整有效性;不修复任意损坏 JPEG。
Pillow 12.3.0 独立完整解码所有正常/容量样本,比较恢复 RGB 帧、EXIF IFD 字段和 APP1 字节。这证明那些真实输入,不代表所有相机或 iPhone 浏览器。明确保留原始 MP 属性与依赖,不推断眼位/深度或承诺完整 CIPA 合规。
参考资料
- NORUSHNOPARTY 原始浏览器/应用需求及作者完成反馈
2026-10-07 读取并保留实际作者完整正文及完成反馈;视图恢复匹配,眼位/GIF/手机行为另验证。
- ConfirmedCynic 原始需求及作者澄清评论
2026-10-07 读取实际作者完整正文与澄清评论;恢复已存图像不同于裁切。
- CIPA DC-007-2026-E 官方容器标准
2026-10-07 读取官方全部 65 页 PDF;使用有界偏移/数量/IFD 结构,不承诺完整合规。
- Pillow 12.3.0 一手相机样本与测试
读取真实 sugarshack/frozenpond 相机原件与一手测试,核对全部视图、原始流、RGB 与 EXIF/APP1;不是需求作者原件。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
提取 MPO 全部图像从本地 MPO 恢复每个索引 JPEG 视图,保留压缩原件、EXIF 及完整偏移与 SHA 证据。
选择一份带 MP 索引的 MPO 或 JPEG。按索引顺序恢复全部存储视图,不重新编码像素。下载 ZIP,取得准确原件、独立 JPEG、原始流和完整清单。
操作步骤
- 选择一份原始 MPO 或带 MP 索引的 JPEG,另留副本。
- 运行并检查视图数量、尺寸、索引顺序和未索引字节数。
- 下载 mpo-views.zip,打开所需独立 JPEG。
- 通过完整清单与原始流核对偏移、元数据和 SHA256。
能力与限制
- 每次一份至多 50 MiB 文件,文件名至多 512 个 UTF-16 单元。支持 JPEG MP 0100、II/MM TIFF、2–1000 个范围合法且不重叠的索引视图;物理顺序可以不同于索引顺序。
- 支持 8-bit、单或三分量的基线/渐进 JPEG。检查 SOF、SOS、选择器、采样、DQT、Huffman 形状、长度与 EOI。压缩熵按原字节保留,不解码或保证完整有效性;不修复坏 JPEG。
- 以带类型的原始值报告 TIFF 1–12 类型和有界 next-IFD 链。支持严格递增唯一标签及有界完全/部分值别名;拒绝目录/头与存储值重叠。不解释全部相机属性或保证完整 CIPA 合规。
- 每个 IFD 至多 1024 标签,总 MPF 标签至多 20000,总 IFD 至多 2048,链深至多 64,索引 JPEG 结构段至多 20000。完整紧凑 JSON 加 CSV 至多 8 MiB。所有预算同时约束;超限或坏文件整份拒绝,不生成 ZIP。
- ZIP 包含 original.mpo、每个 view-NNNN-original-stream.bin、view-NNNN.jpg、mpo-inventory.json 和 mpo-tags.csv。1000 视图有 2003 个受控成员。170 MiB ZIP 上限是受其他预算支配的分配保护,不承诺独立可达容量。
- 独立 JPEG 只移除 MPF APP2 段,消除跨文件索引引用。压缩像素、EXIF/GPS 与其他受支持元数据保留。完整容器与索引流逐字节不变;间隙和尾字节留在原件,并报告偏移、长度和 SHA。
- 表格保留所有视图行;完整偏移、依赖引用、原始 TIFF 值、移除跨度和散列在下载中。不推断眼位或深度,不做立体对齐或 GIF 合成。
- 在浏览器本地处理字节。不抓取 URL、不执行元数据、不上传、不扫描相机/文件系统、不依赖云服务。这是视图恢复,不匿名化;分享输出可能保留 GPS 等相机元数据。