Size: 1084
Comment: Switch to GraphicsMagick (much more performance); switch to chop instead of crop (slightly more performant)
|
Size: 2048
Comment: Xiaomi Yi w/ 4K
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
find . -name '*JPG' -print0 | xargs -0 -P2 -n8 gm mogrify -chop 0x486 -resize 1920x1080 | find . -name '*JPG' -print0 | xargs -0 -P$(nproc) -n256 gm mogrify -chop 0x486 -resize 1920x1080 |
Line 15: | Line 15: |
find . -name '*JPG' -print0 | xargs -0 -P2 -n8 gm mogrify -gravity South -chop 0x486 -resize 1920x1080 | find . -name '*JPG' -print0 | xargs -0 -P$(nproc) -n256 gm mogrify -gravity South -chop 0x486 -resize 1920x1080 |
Line 22: | Line 22: |
find . -name '*JPG' -print0 | xargs -0 -P2 -n8 mogrify -crop 3840x2880+0+720 -resize 1920x1080 | find . -name '*JPG' -print0 | xargs -0 -P$(nproc) -n256 mogrify -crop 3840x2880+0+720 -resize 1920x1080 |
Line 24: | Line 24: |
For the Xiaomi Yi: {{{#!highlight sh # 16 MP # Crop top find . -name '*jpg' -print0 | xargs -0 -P$(nproc) -n256 gm mogrify -chop 0x864 -resize 1920x1080 # Crop top at 4K find . -name '*jpg' -print0 | xargs -0 -P$(nproc) -n256 gm mogrify -chop 0x864 -resize 3840x2160 }}} |
|
Line 31: | Line 42: |
batch: {{{ for i in $(ls); do (cd $i; parallel -u 'echo {}; ~/sys/tonemap/tonemapping ~/sys/tonemap/default.tnp {} {}.tonemapped && mv {}.tonemapped {}' ::: *.JPG); done; }}} |
|
Line 36: | Line 53: |
batch: {{{ for i in $(ls); do (cd $i; mencoder mf://*.JPG -mf fps=15:type=jpg -ovc lavc -oac lavc -of lavf -lavfopts format=webm -lavcopts threads=4:acodec=vorbis:vcodec=libvpx -ffourcc VP80 -o $(basename $(pwd)).webm); done; }}} == Merge WebM files == After placing all the WebM files in one directory, merge with: {{{#!highlight sh numbers=off f() { args=("$1"); shift; args+=("${@/#/+ }"); echo "${args[@]}"; }; echo mkvmerge $(f $(ls *webm)) }}} |
Rotate
If the camera was recording in "upside down" mode:
parallel -u 'echo {}; jpegtran -rotate 180 -perfect -copy all -outfile {}.tran {} && mv {}.tran {}' ::: *.jpg
Resize & crop
For the GoPro HD Hero 2:
For the Xiaomi Yi:
LDR tone mapping
parallel -u 'echo {}; ~/sys/tonemap/tonemapping ~/sys/tonemap/default.tnp {} {}.tonemapped && mv {}.tonemapped {}' ::: *.JPG
batch:
for i in $(ls); do (cd $i; parallel -u 'echo {}; ~/sys/tonemap/tonemapping ~/sys/tonemap/default.tnp {} {}.tonemapped && mv {}.tonemapped {}' ::: *.JPG); done;
Encode to WebM
mencoder mf://*.JPG -mf fps=15:type=jpg -ovc lavc -oac lavc -of lavf -lavfopts format=webm -lavcopts threads=4:acodec=vorbis:vcodec=libvpx -ffourcc VP80 -o $(basename $(pwd)).webm
batch:
for i in $(ls); do (cd $i; mencoder mf://*.JPG -mf fps=15:type=jpg -ovc lavc -oac lavc -of lavf -lavfopts format=webm -lavcopts threads=4:acodec=vorbis:vcodec=libvpx -ffourcc VP80 -o $(basename $(pwd)).webm); done;
Merge WebM files
After placing all the WebM files in one directory, merge with:
f() { args=("$1"); shift; args+=("${@/#/+ }"); echo "${args[@]}"; }; echo mkvmerge $(f $(ls *webm))