--- /dev/null
+#!/bin/bash
+
+if [ -z "$1" ]; then
+ echo "Usage: $0 MVIMG_xxx.jpg"
+ exit 1
+fi
+
+set -eu
+
+infile="$1"
+outvid="${infile%.*}.mp4"
+outpic="${infile#MV}"
+
+if ! [ -f "$infile" ]; then
+ echo "Missing input file: $infile"
+ exit 1
+fi
+
+if [ -f "$outvid" ] || [ -f "$outpic" ]; then
+ echo "Output files already exist! $outvid || $outpic"
+ exit 1
+fi
+
+size="$(stat -c '%s' "$infile")"
+revoffset="$(exiftool -m -p "\$MicroVideoOffset" "$infile")"
+if [ -z "$revoffset" ] || [ "$revoffset" -le 0 ]; then
+ echo "Invalid video offset: $revoffset"
+ exit 1
+fi
+offset=$((size - revoffset))
+
+dd if="$infile" of="$outvid" bs="$offset" skip=1
+dd if="$infile" of="$outpic" bs="$offset" count=1
+exiftool -overwrite_original -xmp:all= "$outpic"