diff options
Diffstat (limited to 'minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer')
-rw-r--r-- | minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer b/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer new file mode 100644 index 00000000..aef12489 --- /dev/null +++ b/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer @@ -0,0 +1,58 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2009-2012 OpenWrt.org + +START=50 + +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +PROG=/usr/bin/mjpg_streamer + +error() { + echo "${initscript}:" "$@" 1>&2 +} + +section_enabled() { + config_get_bool enabled "$1" 'enabled' 0 + [ $enabled -gt 0 ] +} + +start_instance() { + local s="$1" + + section_enabled "$s" || return 1 + + config_get device "$s" 'device' + config_get resolution "$s" 'resolution' + config_get fps "$s" 'fps' + config_get www "$s" 'www' + config_get port "$s" 'port' + + [ -c "$device" ] || { + error "device '$device' does not exist" + return 1 + } + + # run in yuv (legacy) mode, impacts performance but at least something is happening + service_start /usr/bin/mjpg_streamer --input "input_uvc.so \ + --device $device --fps $fps --resolution $resolution -yuv" \ + --output "output_http.so --www $www --port $port" +} + +stop_instance() { + local s="$1" + + section_enabled "$s" || return 1 + + service_stop /usr/bin/mjpg_streamer +} + +start() { + config_load 'mjpg-streamer' + config_foreach start_instance 'mjpg-streamer' +} + +stop() { + config_load 'mjpg-streamer' + config_foreach stop_instance 'mjpg-streamer' +} |