Files
linearvoid/backend/playout/start-playout.sh
T

31 lines
1.1 KiB
Bash

#!/bin/bash
set -e
echo "=== Linear Void Playout Service Starting ==="
echo "Playlist path: ${PLAYLIST_PATH:=/app/playlist/playlist.txt}"
echo "HLS segment duration: ${HLS_SEGMENT_DURATION:-6}s"
echo "HLS window size: ${HLS_WINDOW_SIZE:-24}"
# Ensure playlist directory and file exist
mkdir -p "$(dirname "$PLAYLIST_PATH")"
if [ ! -f "$PLAYLIST_PATH" ]; then
echo "Warning: Playlist not found at $PLAYLIST_PATH. Creating demo playlist."
cat > "$PLAYLIST_PATH" << EOF
# Linear Void Demo Playlist
file '/app/media/demo1.mp4'
file '/app/media/demo2.mp4'
EOF
fi
# Run normalization validation using the Go tool
echo "Validating playlist and enforcing normalization (ADR-001/ADR-003)..."
if ! /app/playlist-manager -validate "$PLAYLIST_PATH"; then
echo "ERROR: Playlist validation failed. Check logs."
exit 1
fi
echo "Playlist validated successfully. Starting continuous HLS playout..."
# Single source of truth: the Go binary runs the full loop (HLS, R2 sync,
# slate fallback, health server). The shell no longer duplicates the FFmpeg loop.
exec /app/playlist-manager "$PLAYLIST_PATH"