]> code.delx.au - monosys/blob - split-mvimg
multiboot: memtest
[monosys] / split-mvimg
1 #!/bin/bash
2
3 if [ -z "$1" ]; then
4 echo "Usage: $0 MVIMG_xxx.jpg"
5 exit 1
6 fi
7
8 set -eu
9
10 infile="$1"
11 outvid="${infile%.*}.mp4"
12 outpic="${infile#MV}"
13
14 if ! [ -f "$infile" ]; then
15 echo "Missing input file: $infile"
16 exit 1
17 fi
18
19 if [ -f "$outvid" ] || [ -f "$outpic" ]; then
20 echo "Output files already exist! $outvid || $outpic"
21 exit 1
22 fi
23
24 size="$(stat -c '%s' "$infile")"
25 revoffset="$(exiftool -m -p "\$MicroVideoOffset" "$infile")"
26 if [ -z "$revoffset" ] || [ "$revoffset" -le 0 ]; then
27 echo "Invalid video offset: $revoffset"
28 exit 1
29 fi
30 offset=$((size - revoffset))
31
32 dd if="$infile" of="$outvid" bs="$offset" skip=1
33 dd if="$infile" of="$outpic" bs="$offset" count=1
34 exiftool -overwrite_original -xmp:all= "$outpic"