
亲们 有办法合成 oppo 实况照片并且在 oppo 相册能够被识别成动态照片吗? 我按照网上的教程添加 xmp 在小米上是没问题的 https://github.com/l2015/MoLive 在 https://motion-live.js.org/上利用 oppo 的特征合成 oppo 实况照片无法在 oppo 相册里面识别成实况照片 只能显示成一个静态照片. 有研究过吗 各位
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.1.0-jc003"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/" xmlns:GCamera="http://ns.google.com/photos/1.0/camera/" xmlns:OpCamera="http://ns.oplus.com/photos/1.0/camera/" xmlns:COntainer="http://ns.google.com/photos/1.0/container/" xmlns:Item="http://ns.google.com/photos/1.0/container/item/" hdrgm:Version="1.0" GCamera:MotiOnPhoto="1" GCamera:MotiOnPhotoVersion="1" GCamera:MotiOnPhotoPresentationTimestampUs="0" OpCamera:MotiOnPhotoPrimaryPresentationTimestampUs="0" OpCamera:MotiOnPhotoOwner="oplus" OpCamera:OLivePhotoVersion="2" OpCamera:VideoLength="0"> <Container:Directory> <rdf:Seq> <rdf:li rdf:parseType="Resource"> <Container:Item Item:Mime="image/jpeg" Item:Semantic="Primary" Item:Length="0" Item:Padding="0"/> </rdf:li> <rdf:li rdf:parseType="Resource"> <Container:Item Item:Mime="video/mp4" Item:Semantic="MotionPhoto" Item:Length="0"/> </rdf:li> </rdf:Seq> </Container:Directory> </rdf:Description> </rdf:RDF> </x:xmpmeta> 1 badboy200600 OP 已解决 解决方案的关键: 我分析了 GitHub 上的 motion-live-photo 参考库,发现他们使用了一个非常简化的 Exif 段(只有 116 字节),其中包含一个关键标识:oplus_8388608 。 这个字符串是 OPPO 相册识别动态照片的"暗号"。之前我们尝试复制完整的 Exif 数据( 1362 字节),反而因为格式问题导致失败。 最终的文件结构: FFD8 (SOI) ↓ FFE1 + XMP (动态照片元数据) ↓ FFE1 + Exif (包含 oplus_8388608) ↓ JPEG 图像数据 ↓ FFD9 (EOI) ↓ MP4 视频数据 简单来说:少即是多,OPPO 相册只需要看到那个特定的标识字符串就能识别动态照片,不需要完整的相机信息。 |