feat(sim): add MediaMTX binary downloader

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-04-05 13:18:51 -04:00
parent b3a79580f4
commit 4c0e621758

38
scripts/download_mediamtx.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
# Download the MediaMTX static binary used by scripts/sim_cameras.sh.
# One-time setup. Re-run to upgrade.
set -euo pipefail
VERSION="${MEDIAMTX_VERSION:-1.9.3}"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
DEST_DIR="${REPO_ROOT}/.sim"
DEST="${DEST_DIR}/mediamtx"
case "$(uname -s)_$(uname -m)" in
Linux_x86_64) ASSET="mediamtx_v${VERSION}_linux_amd64.tar.gz" ;;
Linux_aarch64) ASSET="mediamtx_v${VERSION}_linux_arm64v8.tar.gz" ;;
Darwin_x86_64) ASSET="mediamtx_v${VERSION}_darwin_amd64.tar.gz" ;;
Darwin_arm64) ASSET="mediamtx_v${VERSION}_darwin_arm64.tar.gz" ;;
*)
echo "Unsupported platform: $(uname -s) $(uname -m)" >&2
exit 1
;;
esac
URL="https://github.com/bluenviron/mediamtx/releases/download/v${VERSION}/${ASSET}"
mkdir -p "${DEST_DIR}"
TMP="$(mktemp -d)"
trap 'rm -rf "${TMP}"' EXIT
echo "Downloading ${ASSET}..."
curl -fsSL "${URL}" -o "${TMP}/mediamtx.tar.gz"
echo "Extracting..."
tar -xzf "${TMP}/mediamtx.tar.gz" -C "${TMP}"
mv "${TMP}/mediamtx" "${DEST}"
chmod +x "${DEST}"
echo "Installed: ${DEST}"
"${DEST}" --version || true