#!/bin/bash # Copyright 2022 Pavel Machek, GPLv2+ # needs sudo apt install dcraw jpegize() { DNG_DIR="$1" BURST_DIR="$GIGA_DIR/sm/" mkdir $BURST_DIR DCRAW=dcraw TIFF_EXT="tiff" set -- CONVERT="convert" cd $DNG_DIR I=0 NUM=0 for DNG in *.dng; do NUM=$[$NUM+1] done for DNG in *.dng; do PERC=$[(100*$I)/$NUM] echo $PERC BASE=${DNG%%.dng} # -w Use camera white balance # +M use embedded color matrix # -H 2 Recover highlights by blending them # -o 1 Output in sRGB colorspace # -q 0 Debayer with fast bi-linear interpolation # -f Interpolate RGGB as four colors # -T Output TIFF ( $DCRAW -w +M -H 2 -o 1 -q 0 -f -T "$DNG" $CONVERT "$BASE.tiff" "$BASE.jpeg" rm "$BASE.tiff" mv "$BASE.jpeg" "$BURST_DIR/$BASE.jpeg.sv" ) & # dcraw -h -> half size -- fast! # can do ppm output I=$[$I+1] if [ 0 == $[ $I % 16 ] ]; then echo "Batch $I -- $PERC %" 1>&2 wait fi done } SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) GIGA_DIR="$2" DEST_NAME="$3" FPS="$4" echo script_dir $SCRIPT_DIR 1>&2 echo GIGA_DIR $GIGA_DIR 1>&2 echo DEST_NAME $DEST_NAME 1>&2 echo FPS $FPS dfps 1>&2 if [ "-$1" == "-start" ]; then mkdir $GIGA_DIR/sm cd $GIGA_DIR/sm @LIBEXECDIR@/movie_audio_rec $FPS & echo $! > $2/audio.pid elif [ "-$1" == "-stop" ]; then mkdir $GIGA_DIR/sm kill `cat $2/audio.pid` jpegize $2 # | zenity --progress "--text=Converting, phase 1, dng -> jpeg" --time-remaining cd $GIGA_DIR/sm @LIBEXECDIR@/mpegize.py convertall $GIGA_DIR/ $FPS mv $GIGA_DIR/smo/*.mp4 $DEST_NAME rm -r $GIGA_DIR else echo "Unrecognized command" fi