22 lines
737 B
Bash
Executable File
22 lines
737 B
Bash
Executable File
#!/bin/bash
|
|
|
|
CHANNEL_ID="${1:-$CHANNEL_ID}"
|
|
SLUG="${2:-$SLUG}"
|
|
if [ -n "$CHANNEL_ID" ]; then
|
|
:
|
|
else
|
|
echo "Error: No channel ID provided. Use as argument or set CHANNEL_ID environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
# Use SLUG if provided, otherwise use CHANNEL_ID as slug
|
|
SLUG="${SLUG:-$CHANNEL_ID}"
|
|
|
|
while true; do
|
|
VIDEO_ID=$(curl -sL "https://www.youtube.com/@$CHANNEL_ID/streams" | grep "Tap to watch live" | sed 's/.*\/watch?v=\([^\\]*\).*/\1/')
|
|
M3U8_STREAM_URL=$(yt-dlp -g -f b "https://www.youtube.com/watch?v=$VIDEO_ID")
|
|
mkdir -p "live/$SLUG"
|
|
timeout 21555 ffmpeg -i "$M3U8_STREAM_URL" -c copy -f hls -hls_time 6 -hls_list_size 10 -hls_flags delete_segments "live/$SLUG/live.m3u8"
|
|
rm -rf "live/$SLUG"/*
|
|
done
|