Files
linsa-linsa-io/cli/stream-mac.sh

30 lines
943 B
Bash
Executable File

#!/bin/bash
# Stream Mac screen + audio to Cloudflare Stream via RTMPS
# Uses VideoToolbox for zero-CPU hardware encoding
# Device 2 = Capture screen 0
# Device 1 = MacBook Pro Microphone (audio)
# Cloudflare Stream credentials (set STREAM_KEY env var or in ~/.config/linsa/stream.env)
RTMPS_URL="rtmps://live.cloudflare.com:443/live/"
if [ -z "$STREAM_KEY" ]; then
if [ -f ~/.config/linsa/stream.env ]; then
source ~/.config/linsa/stream.env
fi
fi
if [ -z "$STREAM_KEY" ]; then
echo "Error: STREAM_KEY not set"
echo "Set it via: export STREAM_KEY=your_key"
echo "Or create ~/.config/linsa/stream.env with: STREAM_KEY=your_key"
exit 1
fi
exec ffmpeg -f avfoundation -capture_cursor 1 -framerate 60 -i "2:1" \
-c:v h264_videotoolbox -b:v 50000k -maxrate 100000k -bufsize 200000k \
-profile:v high -pix_fmt yuv420p \
-g 120 -keyint_min 120 \
-c:a aac -b:a 256k -ar 48000 -ac 2 \
-f flv "${RTMPS_URL}${STREAM_KEY}"