A SPA online tool that converted and compressed live photo and motion photo for web scenario. Or you can preview any image - video (e.g. jpg and mp4 files) pair as live photo on your browser with the aid of LivePhotosKit JS. Or, create motion photo with some lucky. Any PRs are welcomed.
✨ Main features:
- Recognition and preview motion photo series jpg files (google/xiaomi/oppo..).
- Convert or Reduce media (pixel, cut, crop, rotate, mute..) by ffmpeg wasm (single/multithread) with parameters adjustable, build-in compare slider enable change visualization of images.
- Take snapshot of video as static image of motion photo and custom presentation timestamp.
- Recreate motion photo jpg file from above with ability to custom XMP meta (experimental, oppo/xiaomi full-support).
- Download / Upload with flexible API of all above, and fetch transformed image from cloud API (e.g. cloudflare image). CORS supported by GM userscript (see CORS Support Guide).
- Realtime logs with time stamps.
- Save configs locally and load from clipboard.
- Heic/heif image supported, you should export heic/jpg and mov file from iphone before import.
- Multi-language and dark theme.
UI inspired by video-dark2light-ffmpeg. The motion photo parse and generate algorithm was modified from https://motion-photo-parser.site.0to1.cf. Heic/heif file compatibility drived by heic-to.
You can find deployed version at the URL below:
https://motion-live.vercel.app/ https://motion-live.js.org/
- highlight selected file type.
- HEVC/HEIF and AVIF support.
- Customize uploaded file name.
- Generate motion photo.
- Split upload and convert state management.
- Cloud conversion with customed API.
- Customize Heic-to params.
- Manually abort uploading.
- Converted image file type option.
- Visualized cut and rotate media.
- More XMP template.
Install Tampermonkey userscript from greasyfork.
ffmpeg wasm | squoosh.app |
---|---|
![]() |
![]() |
82.2kb | 114kb |