obs-r2-uploader/streaming/start-streaming.sh

67 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Start the complete streaming stack
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
cd "$SCRIPT_DIR"
echo "=========================================="
echo "Starting OBS Live Streaming Stack"
echo "=========================================="
echo ""
# Start nginx-rtmp via Docker Compose
echo "Starting nginx-rtmp server..."
docker-compose up -d
echo ""
echo "Waiting for nginx to be ready..."
sleep 3
# Check if nginx is running
if ! docker ps | grep -q obs-streaming-server; then
echo "✗ Failed to start nginx-rtmp server"
exit 1
fi
echo "✓ nginx-rtmp server is running"
echo ""
# Start HLS uploader in background
echo "Starting HLS chunk uploader..."
cd "$PROJECT_DIR"
if [ -d "venv" ]; then
PYTHON="venv/bin/python"
else
PYTHON="python3"
fi
# Run HLS uploader in background
nohup $PYTHON -m obs_uploader.hls_uploader "$SCRIPT_DIR/hls" > "$SCRIPT_DIR/hls-uploader.log" 2>&1 &
HLS_UPLOADER_PID=$!
echo $HLS_UPLOADER_PID > "$SCRIPT_DIR/hls-uploader.pid"
echo "✓ HLS uploader started (PID: $HLS_UPLOADER_PID)"
echo ""
echo "=========================================="
echo "Streaming Stack is Ready!"
echo "=========================================="
echo ""
echo "RTMP URL: rtmp://localhost/live"
echo "Stream Key: my-stream"
echo ""
echo "Local HLS: http://localhost:8081/hls/my-stream.m3u8"
echo "Live URL: https://videos.jeffemmett.com/live/my-stream/my-stream.m3u8"
echo ""
echo "To stop:"
echo " ./stop-streaming.sh"
echo ""
echo "Logs:"
echo " HLS Uploader: tail -f $SCRIPT_DIR/hls-uploader.log"
echo " nginx: docker logs -f obs-streaming-server"
echo ""