- 问题不大2024-11-0830900
佬友们,请问有没有了解OPPO的Live Photo是怎么实现的?或者说OPPO是通过什么来保存Live Photo的视频信息的?
需求: 探讨通过immich实现Live Photo在iOS和Android之间互通的可能性
背景:
- 最近主力机从iPhone转移到一加13,弄了个immich作为图片存储服务;
- iPhone的Live Photo很明确就是图片+视频(HEIC+MOV)的形式,在immich server里也是这么体现的。
- 可以使用《O+互联》将iPhone的Live Photo转移到一加,仍然是Live Photo,但是格式会变为jpg,jpg还能保存视频信息?
- 一加的Live Photo竟然只有一张jpg图片?跟iPhone类似,从immich拉回一加的仍然是Live Photo(仅限由一加拍的Live Photo)

主楼 - zen12小时前12576
用 file 命令看看那个文件 实际上到底是什么
- bigjb12小时前30901
图片隐写?看一下二级制
- Douglas·Lee12小时前30902
本质上是谷歌的技术,去搜索一下MVIMG (Android JPG Motion Picture)
基本上就是利用exif信息记录xml数据,其中关键信息是视频的偏移量(Micro Video Offset),根据这个数据读取字节,就能获得一段视频。
存储结构类似于夹心饼干
下面引用一些可以参考的资料:
https://medium.com/android-news/working-with-motion-photos-da0aa49b50c
- 问题不大12小时前30900
考虑过隐写,但我怀疑他们能用这种方式?等有空看看。我心思着隐写这不是之前搞ctf用的么
- 问题不大12小时前30900
- Douglas·Lee12小时前30902
BTW,如果你有需要的话,我之前写了个从这种照片中提取出视频的脚本```
#!/bin/bash
set -e
function extract {
local file="$1"
local newFile="${file/%.jpg/.mp4}"
if [[ -f "$newFile" ]]; then
echo "File $newFile exists, so ignoring$file"
else
local offset_hex=$(strings -t x "$file" | grep 'ftypmp42' | cut -d ' ' -f 1)
local offset=$(( 16#$offset_hex ))
if [[ -n "$offset" ]]; then
offset=$(( offset - 4 ))
dd if="$file" of="$newFile" bs=1 skip="$offset" 2>/dev/null
else
echo "Not processing $file because the string 'ftypmp42' did not occur exactly once in file"
fi
fi
}
for f in "$@"; do
if [[ "$f" == MVIMG*jpg ]]; then
extract "$f"
else
echo "Ignoring $f because its file name does not match MVIMG*jpg pattern"
fi
done - 问题不大12小时前30900
#快问快答添加
- 问题不大12小时前30900
非常感谢 ^-^
- bigjb12小时前30901
我怎么感觉这个就是图片隐写的一种应用啊
- Douglas·Lee12小时前30902
- Douglas·Lee12小时前30902
确实算是一种隐写
- 问题不大12小时前30900
- Douglas·Lee12小时前30902
方便的话可以发一张原图我也测试一下嘛。
- 问题不大12小时前30900
MD5 (IMG20241105200249.jpg) = 2ba27343db17d6b20c0c58db598d4061
https://www.123865.com/s/wThDVv-iHnc3?提取码:NVgv - xico12小时前27012
- 问题不大12小时前30900
- 橘子Jun12小时前30903
其实就是Google的Motion Photo Format
Android Developers

动态照片格式 1.0 | Android media | Android Developers
OPPO在这个基础上添加了点内容(谷歌拍出来的OPPO相册不识别,但是谷歌相册可以识别OPPO的)
我搞了个网页版动态照片解析,可以试试看
motion-photo-parser.site.0to1.cf
动态照片解析
- 橘子Jun12小时前30903
域名到期了,如果还有需求的话可以使用 https://motion-photo-parser.netlify.app


