Skip to content

Instantly share code, notes, and snippets.

@kahidna
Last active February 21, 2026 12:20
Show Gist options
  • Select an option

  • Save kahidna/a764274771494fe3053e00934e8ff846 to your computer and use it in GitHub Desktop.

Select an option

Save kahidna/a764274771494fe3053e00934e8ff846 to your computer and use it in GitHub Desktop.
benchmark jitsi web performance, make sure your jitsi doesn't require auth first
#!/bin/bash
# Default values
default_sessions=1
default_tabs_per_session=2
default_url="https://puturljitsiwebhere.domain/benchmarkJitsiRoom"
# Parse command line arguments
while getopts ":s:t:f:" opt; do
case $opt in
s) sessions="$OPTARG" ;;
t) tabs_per_session="$OPTARG" ;;
f) urls_file="$OPTARG" ;;
\?) echo "Invalid option -$OPTARG" >&2; exit 1 ;;
:) echo "Option -$OPTARG requires an argument" >&2; exit 1 ;;
esac
done
# Use default values if not set
sessions="${sessions:-$default_sessions}"
tabs_per_session="${tabs_per_session:-$default_tabs_per_session}"
# Read URLs from file or use default
if [ -n "$urls_file" ] && [ -f "$urls_file" ]; then
mapfile -t urls < "$urls_file"
else
urls=("$default_url")
fi
# Function to run Docker command
run_docker() {
docker run -it --rm \
-v /dev/shm:/dev/shm \
ghcr.io/vpalmisano/webrtcperf:2.0.6 \
--url="$1" \
--url-query='#config.prejoinPageEnabled=false&userInfo.displayName=Participant($s-$t)' \
--sessions="$sessions" \
--tabs-per-session="$tabs_per_session"
}
# Loop through URLs and run Docker command
for url in "${urls[@]}"; do
run_docker "$url"
done

Run Single Command

run single command benchmark jitsi using docker with specific quality video

docker run -it --rm -v /dev/shm:/dev/shm \
-e VIDEO_PATH=http://url-dummy-video.domain/sample-video.mp4 ghcr.io/vpalmisano/webrtcperf:2.0.6 \
--url=""https://puturljitsiwebhere.domain/benchmarkJitsiRoom" \
--url-query='#config.prejoinPageEnabled=false' \
--sessions="1" \
--video-width="320" 
--video-height="240" \
--video-framerate="18" \
--tabs-per-session="60"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment