Advertisement
Guest User

mjpg-streamer

a guest
Sep 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2009-2014 OpenWrt.org
  3.  
  4. START=90
  5. STOP=10
  6.  
  7. USE_PROCD=1
  8. PROG=/usr/bin/mjpg_streamer
  9.  
  10. error() {
  11. echo "${initscript}:" "$@" 1>&2
  12. }
  13.  
  14. start_instance() {
  15. local s="$1"
  16.  
  17. config_get_bool enabled "$1" 'enabled' 0
  18. [ $enabled -eq 0 ] && return
  19.  
  20. config_get input "$s" 'input'
  21. if [ -z "$input" ]; then
  22. error "in section '$s' option input is missing"
  23. return 1
  24. fi
  25.  
  26. config_get output "$s" 'output'
  27. if [ -z "$output" ]; then
  28. error "in section '$s' option output is missing"
  29. return 1
  30. fi
  31.  
  32. local input_arg
  33. if [ "x$input" = 'xuvc' ]; then
  34. input_arg="input_uvc.so"
  35.  
  36. config_get device "$s" 'device'
  37. if [ ! -c "$device" ]; then
  38. error "device '$device' does not exist"
  39. return 1
  40. fi
  41. input_arg="${input_arg} --device $device"
  42.  
  43. config_get fps "$s" 'fps'
  44. [ -n "$fps" ] && input_arg="${input_arg} --fps $fps"
  45.  
  46. config_get_bool yuv "$s" 'yuv' 0
  47. if [ $yuv -ne 0 ]; then
  48. input_arg="${input_arg} --yuv"
  49. config_get quality "$s" 'quality'
  50. [ -n "$quality" ] && input_arg="${input_arg} --quality $quality"
  51. fi
  52.  
  53. config_get resolution "$s" 'resolution'
  54. [ -n "$resolution" ] && input_arg="${input_arg} --resolution $resolution"
  55.  
  56. config_get led "$s" 'led'
  57. [ -n "$led" ] && input_arg="${input_arg} --led $led"
  58. fi
  59.  
  60. if [ -z "$input_arg" ]; then
  61. error "unsuported input option '$input' in section '$s'"
  62. return 1
  63. fi
  64.  
  65. local output_arg
  66. if [ "x$output" = 'xhttp' ]; then
  67. output_arg="output_http.so"
  68.  
  69. config_get port "$s" 'port'
  70. [ -n "$port" ] && output_arg="${output_arg} --port $port"
  71.  
  72. config_get www "$s" 'www'
  73. [ -n "$www" ] && output_arg="${output_arg} --www $www"
  74.  
  75. config_get username "$s" 'username'
  76. config_get password "$s" 'password'
  77. [ -n "$username" ] && [ -n "$password" ] && output_arg="${output_arg} --credentials $username:$password"
  78. fi
  79.  
  80. if [ -z "$output_arg" ]; then
  81. error "unsuported output option '$output' in section '$s'"
  82. return 1
  83. fi
  84.  
  85. procd_open_instance
  86. procd_set_param command "$PROG" --input "$input_arg" --output "$output_arg"
  87. procd_close_instance
  88. }
  89.  
  90. start_service() {
  91. config_load 'mjpg-streamer'
  92. config_foreach start_instance 'mjpg-streamer'
  93. }
  94.  
  95. service_triggers() {
  96. procd_add_reload_trigger 'mjpg-streamer'
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement