Restructure audio into AUDIO_DIR with per-camera retention

New AUDIO_DIR variable (like BASE_DIR/MOVIES_DIR) is the root for all
audio recordings.  Set in .env to put audio on a separate drive.

Directory layout:
  AUDIO_DIR/<cam>/YYYY-MM-DD/HH-MM-SS.m4a        — ambient recordings
  AUDIO_DIR/sunrise/<cam>/YYYY-MM-DD/sunrise-audio.m4a — sunrise clips

sky-cam.conf:
- Add AUDIO_DIR="${AUDIO_DIR:-$BASE_DIR/audio}" in storage section
- Remove AMBIENT_DIR (replaced by AUDIO_DIR)
- Add SUNRISE_AUDIO_RETENTION_DAYS=7 (sunrise clips kept separately from ambient)
- Add per-camera ambient retention examples:
    AMBIENT_RETENTION_DAYS_south=60  (keep bird recordings longer)

ambient-record.sh:
- Use AUDIO_DIR instead of AMBIENT_DIR
- Per-camera retention: AMBIENT_RETENTION_DAYS_<cam> overrides global default

sunrise-audio-capture.sh:
- Save clips to AUDIO_DIR/sunrise/<cam>/<date>/sunrise-audio.m4a
- Rolling retention of sunrise clips (SUNRISE_AUDIO_RETENTION_DAYS)

daily_sunrise_video.sh:
- Look for cam_audio in new AUDIO_DIR/sunrise path first, fall back to
  old BASE_DIR path so existing recordings keep working

install.sh:
- Pre-create AUDIO_DIR/<cam> and AUDIO_DIR/sunrise/<SUNRISE_CAM> dirs
- Add AUDIO_DIR to .env.example storage section

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
This commit is contained in:
Claude
2026-04-22 14:43:05 +00:00
parent a63a42ee46
commit 11d4630197
5 changed files with 32 additions and 6 deletions
+4
View File
@@ -37,10 +37,13 @@ echo "Creating data directories..."
for cam in "${CAMERAS[@]}"; do
mkdir -p "$BASE_DIR/$cam"
mkdir -p "$MOVIES_DIR/$cam"
mkdir -p "$AUDIO_DIR/$cam"
echo " $BASE_DIR/$cam"
echo " $MOVIES_DIR/$cam"
echo " $AUDIO_DIR/$cam"
done
mkdir -p "$BASE_DIR/$SUNRISE_CAM"
mkdir -p "$AUDIO_DIR/sunrise/$SUNRISE_CAM"
echo ""
# ── Helper: write a oneshot service unit ─────────────────────────────────────
@@ -262,6 +265,7 @@ env_example="$HERE/.env.example"
echo "# different drive. Leave commented to use the defaults next to the scripts."
echo "#BASE_DIR=/path/to/images # default: ~/sky-cam/data"
echo "#MOVIES_DIR=/path/to/videos # default: \$BASE_DIR/movies"
echo "#AUDIO_DIR=/path/to/audio # default: \$BASE_DIR/audio"
echo "#MUSIC_DIR=/path/to/music/4Seasons # default: ~/sky-cam/music"
echo ""
echo "# ── RTSP stream URLs ────────────────────────────────────────────────────────"