CreatBotCrowsnest/crowsnest
Stephan Wendel dabb66c992
fix: fixes blocky view after reboot
This should fix #33

By default a variable bitrate is set, this leads
to a "blocky" view.

blockyfix function sets constant bitrate and a moderate
bitrate if not set by user.

Signed-off-by: Stephan Wendel <me@stephanwe.de>
2022-09-04 17:11:21 +02:00

81 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
blockyfix
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