V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
badboy200600
V2EX  ›  问与答

请问有人知道如何合成 oppo 实况图片吗?

  •  
  •   badboy200600 · 3 天前 · 419 次点击

    亲们 有办法合成 oppo 实况照片并且在 oppo 相册能够被识别成动态照片吗? 我按照网上的教程添加 xmp 在小米上是没问题的 https://github.com/l2015/MoLivehttps://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>
    
    badboy200600
        1
    badboy200600  
    OP
       3 天前
    已解决

    解决方案的关键:

    我分析了 GitHub 上的 motion-live-photo 参考库,发现他们使用了一个非常简化的 Exif 段(只有 116 字节),其中包含一个关键标识:oplus_8388608 。

    这个字符串是 OPPO 相册识别动态照片的"暗号"。之前我们尝试复制完整的 Exif 数据( 1362 字节),反而因为格式问题导致失败。

    最终的文件结构:

    FFD8 (SOI)

    FFE1 + XMP (动态照片元数据)

    FFE1 + Exif (包含 oplus_8388608)

    JPEG 图像数据

    FFD9 (EOI)

    MP4 视频数据
    简单来说:少即是多,OPPO 相册只需要看到那个特定的标识字符串就能识别动态照片,不需要完整的相机信息。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    ♥ Do have faith in what you're doing.