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
+3 -2
View File
@@ -37,8 +37,9 @@ fi
CHUNK="${AMBIENT_CHUNK_SECS:-1800}"
BITRATE="${AMBIENT_BITRATE:-96k}"
RETAIN="${AMBIENT_RETENTION_DAYS:-30}"
SAVE_DIR="${AMBIENT_DIR:-$BASE_DIR/ambient}"
retain_var="AMBIENT_RETENTION_DAYS_${CAM}"
RETAIN="${!retain_var:-${AMBIENT_RETENTION_DAYS:-30}}"
SAVE_DIR="${AUDIO_DIR:-$BASE_DIR/audio}"
echo "Ambient recorder started: cam=$CAM chunk=${CHUNK}s bitrate=$BITRATE retain=${RETAIN}d"
echo "Saving to: $SAVE_DIR/$CAM/"