CreatBotCrowsnest/crowsnest
Stephan Wendel 104536cd21
refactor!: renaming webcamd to crowsnest
BREAKING CHANGE: This will require a reinstall of crowsnest

Signed-off-by: Stephan Wendel <me@stephanwe.de>
2022-06-12 15:42:28 +02:00

80 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
#### Webcamd Core Application.
#### crowsnest - A webcam Service for multiple Cams and Stream Services.
####
#### Written by Stephan Wendel aka KwadFan <me@stephanwe.de>
#### Copyright 2021
#### https://github.com/mainsail-crew/crowsnest
####
#### This File is distributed under GPLv3
####
# shellcheck enable=require-variable-braces
# Exit upon Errors
set -Ee
# Base Path
BASE_CN_PATH="$(dirname "$(readlink -f "${0}")")"
## Import Librarys
# shellcheck source-path=SCRIPTDIR/libs/
source "${BASE_CN_PATH}/libs/configparser.sh"
source "${BASE_CN_PATH}/libs/core.sh"
source "${BASE_CN_PATH}/libs/hwhandler.sh"
source "${BASE_CN_PATH}/libs/init_stream.sh"
source "${BASE_CN_PATH}/libs/logging.sh"
source "${BASE_CN_PATH}/libs/messages.sh"
source "${BASE_CN_PATH}/libs/rtspsimple.sh"
source "${BASE_CN_PATH}/libs/ustreamer.sh"
source "${BASE_CN_PATH}/libs/v4l2_control.sh"
source "${BASE_CN_PATH}/libs/versioncontrol.sh"
source "${BASE_CN_PATH}/libs/watchdog.sh"
#### MAIN
## Args given?
if [ "$#" -eq 0 ]; then
missing_args_msg
exit 1
fi
## Parse Args
while getopts ":vhc:" arg; do
case "${arg}" in
v )
echo -e "\ncrowsnest Version: $(self_version)\n"
exit 0
;;
h )
help_msg
exit 0
;;
c )
check_cfg "${OPTARG}"
export CROWSNEST_CFG="${OPTARG}"
;;
\?)
wrong_args_msg
exit 1
;;
esac
done
init_logging
initial_check
v4l2_control
construct_streamer
brokenfocus
## Loop and Watchdog
## In this case watchdog acts more like a "cable defect detector"
## The User gets a message if Device is lost.
clean_watchdog
while true ; do
crowsnest_watchdog
sleep 120 & sleep_pid="$!"
wait "${sleep_pid}"
done