Files
Megapixels/movie.sh.in

77 lines
1.6 KiB
Bash
Executable File

#!/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