reccap-start 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/sh
  2. if [ -z "$1" ]
  3. then
  4. echo "Usage: reccap-start FILENAME [fps=24] [ffmpeg/acvonv] [pusle/alsa] [X,Y] [WIDTHxHEIGHT]"
  5. exit 1
  6. elif [ -e "$1" ]
  7. then
  8. reccap-kill "$1"
  9. fi
  10. capper="$3"
  11. if [ -z "$capper" ]
  12. then
  13. ffmpeg="ffmpeg"
  14. avconv="avconv"
  15. if [ ! -z "$(which $ffmpeg)" ]
  16. then
  17. capper=$ffmpeg
  18. elif [ ! -z "$(which $avconv)" ]
  19. then
  20. capper="$avconv"
  21. fi
  22. if [ -z "$capper" ]
  23. then
  24. echo Install ffmpeg or avconv!
  25. exit 1
  26. fi
  27. elif [ -z $(which "$capper") ]
  28. then
  29. echo "$capper" does not seem to be a valid command
  30. exit 1
  31. fi
  32. slop="slop"
  33. if [ -z "$(which $slop)" ]
  34. then
  35. echo Install slop!
  36. exit 1
  37. fi
  38. framerate="$2"
  39. if [ -z "$framerate" ]
  40. then
  41. framerate="24"
  42. fi
  43. audio_params=""
  44. if [ ! -z "$4" ]
  45. then
  46. audio_params="-f $4 -i default"
  47. fi
  48. get_position()
  49. {
  50. echo "$3,$4"
  51. }
  52. get_size()
  53. {
  54. echo "$1x$2"
  55. }
  56. if [ -z "$5" ] || [ -z "$6" ]
  57. then
  58. geometry=$("$slop" -b 1 -f %g 2> /dev/null | sed "s/[^0-9]/ /g")
  59. position=$(get_position $geometry)
  60. size=$(get_size $geometry)
  61. fi
  62. if [ ! -z "$5" ]
  63. then
  64. position="$5"
  65. fi
  66. if [ ! -z "$6" ]
  67. then
  68. size="$6"
  69. fi
  70. yes | $capper -video_size "$size" -framerate "$framerate" -f x11grab -i :0.0+"$position" $audio_params -crf 0 -preset ultrafast "$1" 2> /dev/null > /dev/null &