movie.sh.in 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/bash
  2. # Copyright 2022 Pavel Machek, GPLv2+
  3. # needs sudo apt install dcraw
  4. jpegize() {
  5. DNG_DIR="$1"
  6. BURST_DIR="$GIGA_DIR/sm/"
  7. mkdir $BURST_DIR
  8. DCRAW=dcraw
  9. TIFF_EXT="tiff"
  10. set --
  11. CONVERT="convert"
  12. cd $DNG_DIR
  13. I=0
  14. NUM=0
  15. for DNG in *.dng; do
  16. NUM=$[$NUM+1]
  17. done
  18. for DNG in *.dng; do
  19. PERC=$[(100*$I)/$NUM]
  20. echo $PERC
  21. BASE=${DNG%%.dng}
  22. # -w Use camera white balance
  23. # +M use embedded color matrix
  24. # -H 2 Recover highlights by blending them
  25. # -o 1 Output in sRGB colorspace
  26. # -q 0 Debayer with fast bi-linear interpolation
  27. # -f Interpolate RGGB as four colors
  28. # -T Output TIFF
  29. (
  30. $DCRAW -w +M -H 2 -o 1 -q 0 -f -T "$DNG"
  31. $CONVERT "$BASE.tiff" "$BASE.jpeg"
  32. rm "$BASE.tiff"
  33. mv "$BASE.jpeg" "$BURST_DIR/$BASE.jpeg.sv"
  34. ) &
  35. # dcraw -h -> half size -- fast!
  36. # can do ppm output
  37. I=$[$I+1]
  38. if [ 0 == $[ $I % 16 ] ]; then
  39. echo "Batch $I -- $PERC %" 1>&2
  40. wait
  41. fi
  42. done
  43. }
  44. SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
  45. GIGA_DIR="$2"
  46. DEST_NAME="$3"
  47. FPS="$4"
  48. echo script_dir $SCRIPT_DIR 1>&2
  49. echo GIGA_DIR $GIGA_DIR 1>&2
  50. echo DEST_NAME $DEST_NAME 1>&2
  51. echo FPS $FPS dfps 1>&2
  52. if [ "-$1" == "-start" ]; then
  53. mkdir $GIGA_DIR/sm
  54. cd $GIGA_DIR/sm
  55. @LIBEXECDIR@/movie_audio_rec $FPS &
  56. echo $! > $2/audio.pid
  57. elif [ "-$1" == "-stop" ]; then
  58. mkdir $GIGA_DIR/sm
  59. kill `cat $2/audio.pid`
  60. jpegize $2 # | zenity --progress "--text=Converting, phase 1, dng -> jpeg" --time-remaining
  61. cd $GIGA_DIR/sm
  62. @LIBEXECDIR@/mpegize.py convertall $GIGA_DIR/ $FPS
  63. mv $GIGA_DIR/smo/*.mp4 $DEST_NAME
  64. rm -r $GIGA_DIR
  65. else
  66. echo "Unrecognized command"
  67. fi