Features:
This is an Major update and rebuilds the whole behavior
of webcamd.
Includes a new install/uninstall/update chain based on make command
BREAKING CHANGE: crowsnest has to be reinstalled!
In detail:
Replaced v4l2rtspserver with rtsp-simple-server
Updates ustreamer to version 4.13
uses make as install helper instead of scripts.
Updated documentation accordingly
This is a squashed commit of the following:
commit 44dcb8ebf9e2890402b677bfd9b68dd86bc43a85
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 14:54:43 2022 +0100
chore: removed deprecated .gorc template
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 334bf7d938c21be27b46c7c2779e381027d39e73
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 14:40:58 2022 +0100
refactor: refactored tools/update.sh
Improved comparing of installed and available files.
Includes various improvements and fixes.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 89f220eef3ecbd61adcc83bfbd7717e3776c4f20
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 13:21:22 2022 +0100
chore(rtsp): updated rtsp-simple-server to version v0.17.17
See https://github.com/aler9/rtsp-simple-server/releases/tag/v0.17.17
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 23ec92a5a542e98534582b23c2c32d2e030abf51
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 13:00:16 2022 +0100
fix(build): updates submodules before build
If moonraker pulls update it does not update the Submodules,
therefore the updated submodules will be pull on build.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit a5b88bda649b3b9ef49dcf0ef9b4fb3079d64ca7
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 12:38:11 2022 +0100
chore: updated ustreamer to version 4.13
Used commit: 61ab2a81a5
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 574667a32142594c3674e4d2de19630b8790c214
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 12:28:34 2022 +0100
fix(uninstall): fixed error in func remove_raspicam_fix
Determine if Raspberry Device didnt work as expected.
Also added 'skip' message
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit ce9bc4d9478f15296124c7f0ac4ca1c485448716
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 12:20:34 2022 +0100
fix(x86 install): replaced libjpeg62-turbo-dev with libjpeg-dev
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 393b3eded2a7ef6286609fbf43c8b91573a8356f
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 10:36:50 2022 +0100
fix(install): fixed error in func install_raspicam_fix
Raspberry Device was not recognized by Installer
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit d4dc9fa04d2404cae044776a4decea9c080336ba
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 10:07:56 2022 +0100
fix: removed webrtc from webcamd
lib was sourced but not available,
leads to shellcheck error and
webcamd fails to start
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit f18aa40de04c6e294b3d8fc351a15d161fc822ed
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 09:58:46 2022 +0100
chore: removed webrtc from Makefile
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 39cb6263347f6ccebc8250d4e5eb9b593f48a406
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 09:53:54 2022 +0100
chore: removed webrtc
Removed webrtc handling and documentation.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 55baca680a14ac3e85c9e913c5095e048e60ecbb
Merge: da1481f a92d1db
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 09:02:49 2022 +0100
Merge branch 'feat/multiarch' into master-nightly
commit da1481f689f3dfb06fc59c255510146c64f414f2
Merge: eb4efe7 0041ecf
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Feb 27 08:58:53 2022 +0100
Merge branch 'nigthly-webrtc' into master-nightly
commit eb4efe76a472cb7b9b31e6420d214bc367ba24d0
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Dec 29 08:25:48 2021 +0100
style(watchdog.sh): Reformatted func get_conf_devices
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 3bd3a93f1464185b9dbb39614ae56fda109ba5ec
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Dec 19 13:21:15 2021 +0100
REFACTOR: Bumped CODE_OF_CONDUCT to V2.1
* See https://www.contributor-covenant.org/version/2/1/code_of_conduct/
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 80a560f28538b3facea12fc3bd8461256bb7ff23
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Dec 19 13:18:29 2021 +0100
IMPROVE: Run shellcheck workflow only if shellscript pushed.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit a92d1db30c0c33ff14c2718a5d689da6ae210f4b
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Feb 14 20:00:50 2022 +0100
feat: added x86_64 support
This is tested in a Debian Bullseye VM
Needs Bare Metal testing before merge.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 0041ecfb2c84a3ad021598faa5135eaa9c51a376
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 31 22:47:07 2022 +0100
fix: added filter to webrtc start_param
Added filter to start_param of webrtc-streamer.
This should fix spamming of devices that are not marked for webrtc.
Also removed webserver limiting flag.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 725d7625c855ac80f886132c81e97a607adf28dd
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 31 22:05:51 2022 +0100
refactor: implemented webrtc-streamer
Implemented new webrtc server
See https://github.com/mpromonet/webrtc-streamer
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 658e3e3dc8c8e8e129dfc7b3aef1cc692f437d01
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 20:08:10 2022 +0100
refactor: implemented webrtc-streamer
Replaced RTSPtoWebRTC with webrtc-streamer
This makes also installation of go lang obsolete.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 04c088d9e1fb83b5b6ab012b5cf74f4d12f88627
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 16:25:17 2022 +0100
refactor: updated bin/Makefile to install webrtc-streamer
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 8f4943c22c7a1a7c51ce597daafcb5baf90395d5
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 15:43:00 2022 +0100
chore: prepared use of webrtc-streamer
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 7566b427d918756180a19f7620687ace2cfb8a89
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 15:37:48 2022 +0100
refactor: modified uninstall.sh and update.sh
According to remove of RTSPtoWebRTC changed
uninstall and update scripts
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 1918dbd17ac9d23495c71d6aa335055891aea28c
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 14:48:13 2022 +0100
refactor: removed go from install and update mechanism
Use of go environment is obsolete.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit ab32cc243fe8713b748286353e1ce5adbbfcabde
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 14:29:08 2022 +0100
refactor!: removed go install routine
Use of local installed go environment no longer needed.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit e9bcb067ef828107ad4b01d695d8b28864eae1b9
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 30 14:25:00 2022 +0100
refactor!: removed RTSPtoWebRTC submodule
BREAKING CHANGE: This commit drops RTSPtoWebRTC
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 6d0558c23f01472e4ec69cb17bb63407724990b3
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 12 19:30:47 2022 +0100
style: use newline instead of carriage return in func sub_init
This should look better on commandline than previous
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit d5187b5f31d995606263964a5b505b3c6d928e3c
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 12 19:21:56 2022 +0100
fix(install): empty function in L#269 removed
Fixes Error due empty inserted function.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 1df952d6c0a72d30a896aad378631152ae7fd3c5
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 12 19:08:45 2022 +0100
fix(webrtc.sh): fixes error sc2004 in L#52
In ./libs/webrtc.sh line 52:
c=$((${c}+1))
^--^ SC2004 (style): $/${} is unnecessary on arithmetic variables.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 7a89eb9803278b291337bc678836fbfbe7bcbdec
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 12 18:58:58 2022 +0100
fix: fixes errors during make install or make update
Issues with missing cloned submodules and incorrect exports of GOPATH fixed.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit aaa0db5860b03b206d9e34c46555de1e05f593e0
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 22:26:33 2022 +0100
fix(Makefile): initialize submodules on update
Fixes Error submodules didnt get initialized on update.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 0d1baa1fc06ab85583536d900ff2cf65b66d01e8
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 22:13:13 2022 +0100
fix: bug in bin/Makefile leads to lose version file
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit be87a7864a26c20fa7322865cb365f116e4bda99
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 21:58:29 2022 +0100
docs: updated Readme.md
Activate submodules if it gets cloned.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 54d9f8305377b028c6f2c71f5d875ae8644753ec
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 21:12:46 2022 +0100
fix(update): added check if file bcm2835-v4l2.conf exist
If file not exist, copy it.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit c5be301bdb8632da06844d49ad1316ec5fae58c3
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 20:50:06 2022 +0100
build: removed zip release
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 381b8793ab681748039ec8bcc8339b8b4dd18754
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 20:44:41 2022 +0100
docs: updated README.md according to latest changes
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 43f4e10d372b4b8aaca90910c7d15abc59f59e3a
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 10 20:16:16 2022 +0100
feat(webrtc): added webrtc server
Cameras with h264 can easily streamed by webrtc technics.
Added new Mode 'webrtc'
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 87b5d7732e8952ef9abd7dd450eba4a518081942
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 9 15:12:28 2022 +0100
feature(ustreamer): added func to detect mjpg hardware encoder
Now ustreamer uses if possible camera inbuilt Hardware mjpg encoder
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 0c8fc94fd1db7afb28652152c79742ec35e03120
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 9 13:11:59 2022 +0100
refactor(ustreamer.sh): refactored construct of start_param
To shorten the code a bit renamed some variables and
using an array to form start_param.
Also dropped start failure if device not found,
cause ustreamer displays a "NO SIGNAL" Image if there is no device.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit f4e1a57be986c70c8ec70e732ceb5cfbdbc53487
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 9 12:33:39 2022 +0100
refactor(logging.sh): renamed variable in func delete_log
Renamed Variable 'devel' to 'del_log' to be more obvious
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 1e078bbc4c9bdba1650e88b32174fabda5a50463
Author: Stephan Wendel <me@stephanwe.de>
Date: Sat Jan 8 13:37:39 2022 +0100
chore(editorconfig): added HTML related stuff to .editorconfig
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 67bd0f44f7d28eed13d8ec8e0560859a45703a9d
Author: Stephan Wendel <me@stephanwe.de>
Date: Fri Jan 7 21:19:39 2022 +0100
fix: fixes error in h264 detection of selected devices
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 90635a435056fb07fb3b4f994da04161508329b2
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 5 17:34:02 2022 +0100
feat(rtsp): added check for h264 cams
Renamed function prepare_rtsp to run_ffmpeg.
Refactored construct of start_param for ffmpeg.
This is now able to check for h264 cam.
If Cam isnt able to deliver h264 it uses OpenMAX IL to encode.
Refactored init_stream.sh accordingly.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 210c6d48d4398fe6043e89b5ee512460870af3aa
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 5 16:42:19 2022 +0100
refactor(check_omx): using echo instead of return
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 9ff65304671760188aa86d1a7c4f20cc3c1c9343
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 5 13:25:29 2022 +0100
fix(check_omx): check_omx now uses full path to bin
Function throws Error if not the full path is given.
Uses BASE_CN_PATH var to determine full path.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 2860e3271704990384f0571a4181953a7f67c86c
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 5 12:59:08 2022 +0100
style(core.sh): added description to func check_omx
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 7525b15ff224782bb4636307d090ba04fd05d307
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Jan 5 12:53:48 2022 +0100
feat(omx): added check for omx features
Added func check_omx to libs.core.sh
Spits out 1 if omx available, else 0
Added func provides_omx_msg to libs/messages.sh
Writes a message for omx availability to log
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 8eb86d7c97b209711cf21d63ffd297e2f46d0dd0
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 22:40:12 2022 +0100
feature(rtsp)!: replaced v4l2rtspserver with rtsp-simple-server
Currently WIP, not working!. Only preparation for change.
BREAKING CHANGE: v4l2rtspserver will not longer function!
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 1ef2824494197f5a4f03e87156e96445e1a84534
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 21:56:38 2022 +0100
refactor(raspicam)!: moved detection of raspicam devices
Moved detection of raspicam devis in reusable function
BREAKING CHANGE: detection in stream services must use new function
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 04b6de9d57cf83697894fea2e216fc83c4641ec4
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 20:15:05 2022 +0100
refactor(sample_configs): removed deprecated streamer parameter
Replaced parameter streamer with new parameter mode
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 641418e0f38ff478f7c9f9377e6db556937923f6
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 20:10:06 2022 +0100
refactor(sample_configs): removed KwadFan_sample.conf
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 54944834fe4ec7c21545ed4ced81a243d103e282
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 20:04:16 2022 +0100
refactor(init_stream.sh)!: refactored function construct_streamer
Prepared function for new stream services
Switched to 'case' instead 'if elif else' for easier maintenance.
BREAKING CHANGE: Only ustreamer runs at this point!
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 4b8a4b9f9b9b8f6d244c6983c2b56a2403873ca6
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 19:58:29 2022 +0100
refactor(configparser.sh): refactored function check_section
Now comparing arrays instead plain variables
this should also improve perfomance
Changed streamer to mode in must_exist variable
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 112a4a0b8aec0b2ee1f5172651bf79f2d01db388
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 19:53:48 2022 +0100
feat(logging.sh): create logfile if not present
* This should prevent complaining about missing logfile.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 63dda4b99122c28ed37dab2eb0522ff210b1eb19
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 19:50:40 2022 +0100
feat(logging.sh): added function debug_msg
* Added debug_msg for easier debugging during development
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 9585ebefd55997bf547123cb5023dd7b8f884009
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 19:47:39 2022 +0100
style(ustreamer.sh): removed unnecessary blank line
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 86f31f4ed23dc9123fdff2a24851b5701f9f67f5
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 19:43:16 2022 +0100
feat(messages.sh): added 'unknown_mode_msg'
* Added Message to warn User that 'mode' isnt set.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 886c1ef12e547420de5c32d5cafdb40e371edef0
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 16:25:21 2022 +0100
refactor(messages.sh): changed deprecated_msg_1
* Changed message according to new behavior. Will exit if missing.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 4c70a699bb266eb76dd54c5597d30b2ad4f29446
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 16:22:49 2022 +0100
refactor(ustreamer.sh): removed check_section
* Moved check_section to init_stream.sh
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit d834a0c5e721ef7139033def8dd5e28d2e7e788a
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 11:10:08 2022 +0100
style(messages.sh): refactored func deprecated_msg_1
* "Switching to fallback mode" instead "Switching mode to fallback"
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit e388027e2a9a2361f95f4c7eb4f004af79162393
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 10:57:49 2022 +0100
feat(messages.sh): added func deprecated_msg_1
* This function logs message about deprecated streamer
parameter in webcam.conf
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit a30481b1857e6ff051d5b1b7987034a21ff1b8c2
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 10:34:24 2022 +0100
fix(core.sh): fixes error message instead of found message
* Used reversed Output, leads to Error Message even
* if binary found.
* Cleaned out quotes from array 'paths'
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 9139057379ca990a6d071c092484290a08b9f5c0
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 09:38:29 2022 +0100
refactor(v4l2_control.sh): cleaned empty line
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit a2c4eb99ecb205860b6ee4091877c70d1ea20fd6
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 09:35:30 2022 +0100
refactor(configparser.sh): changed behavior of func get_param
* get_param now spits out empty line if parameter not found.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 95ac644864ff6ec78cfe35f8f4aaf83fcf9aeb16
Author: Stephan Wendel <me@stephanwe.de>
Date: Mon Jan 3 09:21:28 2022 +0100
fix(core.sh): critical typo in core.sh
* Critical Bug leads to output binaries in stdout.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 091e98398e692c53ea12a2f769866f9583c6eef2
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 18:32:06 2022 +0100
fix(config): added ffmpeg to crowsnest dependencies
* ffmpeg is used by rtsp-simple-server
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit b832108b394f6af8debe9e942eadb7a4e864e69c
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 17:58:33 2022 +0100
fix(ustreamer.sh): fixed path to new binary location.
* ustreamer binary now inside 'crowsnest' folder.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 5a19d50dcf5e49ca26efc85fcf540880d1b25790
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 17:53:37 2022 +0100
refactor(core.sh): added scriptpath in function check_apps
* Should prevent unknown path errors
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 325e6bc6c9425f03d44f7126afbe9edb74d48828
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 17:48:19 2022 +0100
fix(core.sh): fixed typo in libs/core.sh
* replaced echo with log_msg in L#86,88
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit ce897ed0f9de20c84c320d2563c7bddee04a68c1
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 17:36:44 2022 +0100
fix(core.sh): added call function check_apps
* Fixes initial_check, now calls function check_apps
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 530d037e96e874e353db20696228905d453fb950
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 17:25:34 2022 +0100
feat(core.sh): added dependency check for apps
* Checks if Apps are build.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 58aada75c20272c7e9d09d653901fe9084326c66
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 14:31:22 2022 +0100
build(rtsp-simple-server): refactored Makefile
* Implemented version control via 'version' file
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 44798c68794a3f18398f456e92bbd2ceafe3b35c
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 14:23:48 2022 +0100
fix: removed rtsp-simple-server from submodules
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit d316e80f45fd2f6d99f6e2a07edcb63a861e6af0
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 14:14:11 2022 +0100
chore: Updated .gitignore
* Updated .gitignore to prepare for version file
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 254b5b342f857ef510a024b2e22ccc458f17382d
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 13:59:02 2022 +0100
docs(README): Updated readme
* Updated README.md to match latest Changes.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit fd4bbf4289ffde3ad0fafc324849755cff7330f9
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 13:45:35 2022 +0100
refactor: refactored tools/update.sh
* Modified to match latest Changes in Install and Environment
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 71b55848e859dda4166a4cb246a31f5cd4ba3306
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 12:52:05 2022 +0100
fix!: webcamd refuses to start after 3 Restarts
* Changed StartLimitBurst to 10
* Changed StartLimitInterval to 180s
* Changed Type to exec
* Changed RestartSec on failure to 5
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 0d6fa439e581cff20d291e9d6e314469e7fe9cb0
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 12:46:55 2022 +0100
fix: Typo in install.sh
* Line to stop existing webcamd was commented out.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 80e4298dde8c12496958c782d6f923561466cac0
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Jan 2 02:44:09 2022 +0100
build!: Refactored Install,Uninstall and Update Chain.
* Uses now make for easier Usage trough Users.
* Updated Headers of multiple files, email address was missing.
* Clean: removed no longer needed buster-backports.list.
* Added configuration file for bcm2835-v4l2 Module.
See https://github.com/pikvm/ustreamer#raspberry-pi-camera-example
* Modified config file according to Install Changes.
* Updated .editorconfig for Makefile,markdown,json and yaml files.
* Refactored bin/Makefile
BREAKING CHANGE: Uses make to install, uninstall and update now!
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 5a64bc1488a9acf793a698ad62becaaf8cd88d12
Author: Stephan Wendel <me@stephanwe.de>
Date: Sat Jan 1 15:02:35 2022 +0100
refactor!: Removed no longer used v4l2rtspserver from custompios module.
* v4l2rtspserver will be replaced by rtsp-simple-server.
BREAKING CHANGE: v4l2rtspserver config removed
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 9c0c3b41ea9254d10fb3008d9b1547fe32f2925a
Author: Stephan Wendel <me@stephanwe.de>
Date: Sat Jan 1 14:59:02 2022 +0100
refactor: Removed Version from webcamd
* Removed Version from webcamd
* To prepare use of Verion File
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit f253f934b6ffa8e58b0df370c88b7564db6eae9d
Author: Stephan Wendel <me@stephanwe.de>
Date: Fri Dec 31 13:23:20 2021 +0100
chore!: Added used Stream Services as Submodules.
* Added used Stream Services as Submodules for easier maintenance.
* Added Makefile to build Stream Services
* Added and modified .gitmodules file
* Updated .editorconfig
* Modified .gitignore to prevent pristine state in moonrakers Update Manager
BREAKING CHANGE: crowsnest has to be uninstalled and reinstalled!
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 5407896e07324e7ff768c6c3bf97334691095a30
Author: Stephan Wendel <me@stephanwe.de>
Date: Thu Dec 30 12:05:51 2021 +0100
chore!: Renamed patcher.sh to update.sh
BREAKING CHANGE: Please use update.sh instead patcher.sh in future updates!
* Renamed to be more precise in what it is made for.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 18b75f4ffc7cb734eaa5b10a411822db606da2b4
Author: Stephan Wendel <me@stephanwe.de>
Date: Wed Dec 29 08:25:48 2021 +0100
style(watchdog.sh): Reformatted func get_conf_devices
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit ec2340f5577de29fcbeccb72fef1ee0cf1840884
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Dec 19 13:47:36 2021 +0100
FEATURE: Zip Release: Upload Repo as zip to assets
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit 5f8da473329bd85d57325a59156dad60aaaa83a3
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Dec 19 13:21:15 2021 +0100
REFACTOR: Bumped CODE_OF_CONDUCT to V2.1
* See https://www.contributor-covenant.org/version/2/1/code_of_conduct/
Signed-off-by: Stephan Wendel <me@stephanwe.de>
commit c05408a01220b8f4234c0e130234861bf1303a96
Author: Stephan Wendel <me@stephanwe.de>
Date: Sun Dec 19 13:18:29 2021 +0100
IMPROVE: Run shellcheck workflow only if shellscript pushed.
Signed-off-by: Stephan Wendel <me@stephanwe.de>
Signed-off-by: Stephan Wendel <me@stephanwe.de>
257 lines
10 KiB
YAML
257 lines
10 KiB
YAML
###############################################
|
|
# General parameters
|
|
|
|
# Sets the verbosity of the program; available values are "error", "warn", "info", "debug".
|
|
logLevel: info
|
|
# Destinations of log messages; available values are "stdout", "file" and "syslog".
|
|
logDestinations: [stdout]
|
|
# If "file" is in logDestinations, this is the file which will receive the logs.
|
|
logFile: rtsp-simple-server.log
|
|
|
|
# Timeout of read operations.
|
|
readTimeout: 10s
|
|
# Timeout of write operations.
|
|
writeTimeout: 10s
|
|
# Number of read buffers.
|
|
# A higher number allows a wider throughput, a lower number allows to save RAM.
|
|
readBufferCount: 512
|
|
|
|
# HTTP URL to perform external authentication.
|
|
# Every time a user wants to authenticate, the server calls this URL
|
|
# with the POST method and a body containing:
|
|
# {
|
|
# "ip": "ip",
|
|
# "user": "user",
|
|
# "password": "password",
|
|
# "path": "path",
|
|
# "action": "read|publish"
|
|
# }
|
|
# If the response code is 20x, authentication is accepted, otherwise
|
|
# it is discarded.
|
|
externalAuthenticationURL:
|
|
|
|
# Enable the HTTP API.
|
|
api: no
|
|
# Address of the API listener.
|
|
apiAddress: 127.0.0.1:9997
|
|
|
|
# Enable Prometheus-compatible metrics.
|
|
metrics: no
|
|
# Address of the metrics listener.
|
|
metricsAddress: 127.0.0.1:9998
|
|
|
|
# Enable pprof-compatible endpoint to monitor performances.
|
|
pprof: no
|
|
# Address of the pprof listener.
|
|
pprofAddress: 127.0.0.1:9999
|
|
|
|
# Command to run when a client connects to the server.
|
|
# This is terminated with SIGINT when a client disconnects from the server.
|
|
# The following environment variables are available:
|
|
# * RTSP_PORT: server port
|
|
runOnConnect:
|
|
# Restart the command if it exits suddenly.
|
|
runOnConnectRestart: no
|
|
|
|
###############################################
|
|
# RTSP parameters
|
|
|
|
# Disable support for the RTSP protocol.
|
|
rtspDisable: no
|
|
# List of enabled RTSP transport protocols.
|
|
# UDP is the most performant, but doesn't work when there's a NAT/firewall between
|
|
# server and clients, and doesn't support encryption.
|
|
# UDP-multicast allows to save bandwidth when clients are all in the same LAN.
|
|
# TCP is the most versatile, and does support encryption.
|
|
# The handshake is always performed with TCP.
|
|
protocols: [udp, multicast, tcp]
|
|
# Encrypt handshake and TCP streams with TLS (RTSPS).
|
|
# Available values are "no", "strict", "optional".
|
|
encryption: "no"
|
|
# Address of the TCP/RTSP listener. This is needed only when encryption is "no" or "optional".
|
|
rtspAddress: :8554
|
|
# Address of the TCP/TLS/RTSPS listener. This is needed only when encryption is "strict" or "optional".
|
|
rtspsAddress: :8555
|
|
# Address of the UDP/RTP listener. This is needed only when "udp" is in protocols.
|
|
rtpAddress: :8000
|
|
# Address of the UDP/RTCP listener. This is needed only when "udp" is in protocols.
|
|
rtcpAddress: :8001
|
|
# IP range of all UDP-multicast listeners. This is needed only when "multicast" is in protocols.
|
|
multicastIPRange: 224.1.0.0/16
|
|
# Port of all UDP-multicast/RTP listeners. This is needed only when "multicast" is in protocols.
|
|
multicastRTPPort: 8002
|
|
# Port of all UDP-multicast/RTCP listeners. This is needed only when "multicast" is in protocols.
|
|
multicastRTCPPort: 8003
|
|
# Path to the server key. This is needed only when encryption is "strict" or "optional".
|
|
# This can be generated with:
|
|
# openssl genrsa -out server.key 2048
|
|
# openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
|
|
serverKey: server.key
|
|
# Path to the server certificate. This is needed only when encryption is "strict" or "optional".
|
|
serverCert: server.crt
|
|
# Authentication methods.
|
|
authMethods: [basic, digest]
|
|
# Read buffer size.
|
|
# This doesn't influence throughput and shouldn't be touched unless the server
|
|
# reports errors about the buffer size.
|
|
readBufferSize: 2048
|
|
|
|
###############################################
|
|
# RTMP parameters
|
|
|
|
# Disable support for the RTMP protocol.
|
|
rtmpDisable: no
|
|
# Address of the RTMP listener.
|
|
rtmpAddress: :1935
|
|
|
|
###############################################
|
|
# HLS parameters
|
|
|
|
# Disable support for the HLS protocol.
|
|
hlsDisable: yes
|
|
# Address of the HLS listener.
|
|
hlsAddress: :8888
|
|
# By default, HLS is generated only when requested by a user.
|
|
# This option allows to generate it always, avoiding the delay between request and generation.
|
|
hlsAlwaysRemux: no
|
|
# Number of HLS segments to generate.
|
|
# Increasing segments allows more buffering,
|
|
# Decreasing segments decreases latency.
|
|
hlsSegmentCount: 3
|
|
# Minimum duration of each segment.
|
|
# The final segment duration is also influenced by the interval between IDR frames,
|
|
# since the server changes the segment duration to include at least a IDR frame in each one.
|
|
hlsSegmentDuration: 1s
|
|
# Value of the Access-Control-Allow-Origin header provided in every HTTP response.
|
|
# This allows to play the HLS stream from an external website.
|
|
hlsAllowOrigin: "*"
|
|
|
|
###############################################
|
|
# Path parameters
|
|
|
|
# These settings are path-dependent, and the map key is the name of the path.
|
|
# It's possible to use regular expressions by using a tilde as prefix.
|
|
# For example, "~^(test1|test2)$" will match both "test1" and "test2".
|
|
# For example, "~^prefix" will match all paths that start with "prefix".
|
|
# The settings under the path "all" are applied to all paths that do not match
|
|
# another entry.
|
|
paths:
|
|
all:
|
|
# Source of the stream. This can be:
|
|
# * publisher -> the stream is published by a RTSP or RTMP client
|
|
# * rtsp://existing-url -> the stream is pulled from another RTSP server
|
|
# * rtsps://existing-url -> the stream is pulled from another RTSP server with RTSPS
|
|
# * rtmp://existing-url -> the stream is pulled from another RTMP server
|
|
# * http://existing-url/stream.m3u8 -> the stream is pulled from another HLS server
|
|
# * https://existing-url/stream.m3u8 -> the stream is pulled from another HLS server with HTTPS
|
|
# * redirect -> the stream is provided by another path or server
|
|
source: publisher
|
|
|
|
# If the source is an RTSP or RTSPS URL, this is the protocol that will be used to
|
|
# pull the stream. available values are "automatic", "udp", "multicast", "tcp".
|
|
sourceProtocol: automatic
|
|
|
|
# Tf the source is an RTSP or RTSPS URL, this allows to support sources that
|
|
# don't provide server ports or use random server ports. This is a security issue
|
|
# and must be used only when interacting with sources that require it.
|
|
sourceAnyPortEnable: no
|
|
|
|
# If the source is a RTSPS or HTTPS URL, and the source certificate is self-signed
|
|
# or invalid, you can provide the fingerprint of the certificate in order to
|
|
# validate it anyway. It can be obtained by running:
|
|
# openssl s_client -connect source_ip:source_port </dev/null 2>/dev/null | sed -n '/BEGIN/,/END/p' > server.crt
|
|
# openssl x509 -in server.crt -noout -fingerprint -sha256 | cut -d "=" -f2 | tr -d ':'
|
|
sourceFingerprint:
|
|
|
|
# If the source is an RTSP or RTMP URL, it will be pulled only when at least
|
|
# one reader is connected, saving bandwidth.
|
|
sourceOnDemand: no
|
|
# If sourceOnDemand is "yes", readers will be put on hold until the source is
|
|
# ready or until this amount of time has passed.
|
|
sourceOnDemandStartTimeout: 10s
|
|
# If sourceOnDemand is "yes", the source will be closed when there are no
|
|
# readers connected and this amount of time has passed.
|
|
sourceOnDemandCloseAfter: 10s
|
|
|
|
# If the source is "redirect", this is the RTSP URL which clients will be
|
|
# redirected to.
|
|
sourceRedirect:
|
|
|
|
# If the source is "publisher" and a client is publishing, do not allow another
|
|
# client to disconnect the former and publish in its place.
|
|
disablePublisherOverride: no
|
|
|
|
# If the source is "publisher" and no one is publishing, redirect readers to this
|
|
# path. It can be can be a relative path (i.e. /otherstream) or an absolute RTSP URL.
|
|
fallback:
|
|
|
|
# Username required to publish.
|
|
# SHA256-hashed values can be inserted with the "sha256:" prefix.
|
|
publishUser:
|
|
# Password required to publish.
|
|
# SHA256-hashed values can be inserted with the "sha256:" prefix.
|
|
publishPass:
|
|
# IPs or networks (x.x.x.x/24) allowed to publish.
|
|
publishIPs: []
|
|
|
|
# Username required to read.
|
|
# SHA256-hashed values can be inserted with the "sha256:" prefix.
|
|
readUser:
|
|
# password required to read.
|
|
# SHA256-hashed values can be inserted with the "sha256:" prefix.
|
|
readPass:
|
|
# IPs or networks (x.x.x.x/24) allowed to read.
|
|
readIPs: []
|
|
|
|
# Command to run when this path is initialized.
|
|
# This can be used to publish a stream and keep it always opened.
|
|
# This is terminated with SIGINT when the program closes.
|
|
# The following environment variables are available:
|
|
# * RTSP_PATH: path name
|
|
# * RTSP_PORT: server port
|
|
# * 1, 2, ...: regular expression groups, if path name is
|
|
# a regular expression.
|
|
runOnInit:
|
|
# Restart the command if it exits suddenly.
|
|
runOnInitRestart: no
|
|
|
|
# Command to run when this path is requested.
|
|
# This can be used to publish a stream on demand.
|
|
# This is terminated with SIGINT when the path is not requested anymore.
|
|
# The following environment variables are available:
|
|
# * RTSP_PATH: path name
|
|
# * RTSP_PORT: server port
|
|
# * 1, 2, ...: regular expression groups, if path name is
|
|
# a regular expression.
|
|
runOnDemand:
|
|
# Restart the command if it exits suddenly.
|
|
runOnDemandRestart: no
|
|
# Readers will be put on hold until the runOnDemand command starts publishing
|
|
# or until this amount of time has passed.
|
|
runOnDemandStartTimeout: 10s
|
|
# The command will be closed when there are no
|
|
# readers connected and this amount of time has passed.
|
|
runOnDemandCloseAfter: 10s
|
|
|
|
# Command to run when a client starts publishing.
|
|
# This is terminated with SIGINT when a client stops publishing.
|
|
# The following environment variables are available:
|
|
# * RTSP_PATH: path name
|
|
# * RTSP_PORT: server port
|
|
# * 1, 2, ...: regular expression groups, if path name is
|
|
# a regular expression.
|
|
runOnPublish:
|
|
# Restart the command if it exits suddenly.
|
|
runOnPublishRestart: no
|
|
|
|
# Command to run when a clients starts reading.
|
|
# This is terminated with SIGINT when a client stops reading.
|
|
# The following environment variables are available:
|
|
# * RTSP_PATH: path name
|
|
# * RTSP_PORT: server port
|
|
# * 1, 2, ...: regular expression groups, if path name is
|
|
# a regular expression.
|
|
runOnRead:
|
|
# Restart the command if it exits suddenly.
|
|
runOnReadRestart: no
|