diff --git a/third_party/libdatachannel b/third_party/libdatachannel index 1c75604..04cf473 160000 --- a/third_party/libdatachannel +++ b/third_party/libdatachannel @@ -1 +1 @@ -Subproject commit 1c75604c067cea7b68a6b7e559f830687df2e8e3 +Subproject commit 04cf4738961f55ba3f0aa39b4a61342f66bb3781 diff --git a/tools/run_all.bash b/tools/run_all.bash new file mode 100755 index 0000000..7a536d1 --- /dev/null +++ b/tools/run_all.bash @@ -0,0 +1,54 @@ +#!/bin/bash + +COLOR_NC='\033[0m' # No Color +COLOR_WHITE='\033[1;37m' +COLOR_BLACK='\033[0;30m' +COLOR_BLUE='\033[0;34m' +COLOR_LIGHT_BLUE='\033[1;34m' +COLOR_GREEN='\033[0;32m' +COLOR_LIGHT_GREEN='\033[1;32m' +COLOR_CYAN='\033[0;36m' +COLOR_LIGHT_CYAN='\033[1;36m' +COLOR_RED='\033[0;31m' +COLOR_LIGHT_RED='\033[1;31m' +COLOR_PURPLE='\033[0;35m' +COLOR_LIGHT_PURPLE='\033[1;35m' +COLOR_BROWN='\033[0;33m' +COLOR_YELLOW='\033[1;33m' +COLOR_GRAY='\033[1;30m' +COLOR_LIGHT_GRAY='\033[0;37m' + +COLORS=( $COLOR_BLUE $COLOR_CYAN $COLOR_PURPLE $COLOR_BROWN $COLOR_YELLOW $COLOR_GRAY ) + +run_camera() { + local name="$1" + shift + + job_nb=$(jobs -p -r | wc -l) + color_idx=$(($job_nb%${#COLORS[@]})) + color=${COLORS[$color_idx]} + port=$((8080+$job_nb)) + + ./camera-streamer --http-port=$port --camera-fps=20 --camera-force_active --log-stats "$@" |& + ts "$(printf "$color%%H:%%M:%%S %10s |$COLOR_NC" "$name")" & +} + +trap 'jobs -p -r | xargs -r kill; wait' EXIT + +export FAKE_CAMERA_SENSOR=arducam_64mp=imx519 + +set -eo pipefail + +make -j$(nproc) + +run_camera csi --camera-type=libcamera --camera-format=YUYV --camera-path=i2c0mux --camera-fps=20 "$@" + +for usbcam in /dev/v4l/by-id/usb-*-video-index0; do + name=$(basename "$usbcam") + name="${name#usb-}" + name="${name%%-video-index0}" + name="${name:0:10}" + run_camera "$name" --camera-path="$usbcam" --camera-format=MJPEG --camera-fps=30 "$@" +done + +wait