24/7 channels are everywhere on YouTube and Twitch. Lofi music, news tickers, ambient scenes, educational content loops. They run automatically on a VPS while the creator sleeps.
Why 24/7 Channels Work
| Advantage | Impact | |-----------|--------| | Always discoverable | Viewers find you any time of day | | Passive growth | Subscribers accumulate 24/7 | | Ad revenue (YouTube) | Ads run continuously on live streams | | Community building | Chat becomes a social space | | Low maintenance | Runs itself once configured |
Technical Setup
FFmpeg Loop Streaming
The simplest approach: loop a playlist of pre-made videos:
#!/bin/bash
while true; do
ffmpeg -re -f concat -safe 0 -i playlist.txt -c:v libx264 -preset veryfast -b:v 4500k -c:a aac -b:a 128k -f flv "rtmp://a.rtmp.youtube.com/live2/YOUR_KEY"
sleep 5
done
The playlist.txt file:
file '/home/stream/videos/segment1.mp4'
file '/home/stream/videos/segment2.mp4'
file '/home/stream/videos/segment3.mp4'
The while loop restarts the stream automatically if FFmpeg crashes or the connection drops.
Dynamic Overlays
Add date, time, and custom text overlays:
ffmpeg -re -i input.mp4 -vf "drawtext=text='%{localtime\:%H\:%M\:%S}':fontsize=24:fontcolor=white:x=w-tw-10:y=10" -c:v libx264 -preset veryfast -b:v 4500k -c:a aac -b:a 128k -f flv "rtmp://..."
This adds a live clock overlay to your stream, making it clear the content is live even when it's automated.
Scheduled Content Changes
Use cron to switch playlists at different times:
# Morning playlist (news/educational)
0 6 * * * cp /home/stream/playlists/morning.txt /home/stream/playlist.txt && pkill ffmpeg
# Afternoon playlist (music/ambient)
0 12 * * * cp /home/stream/playlists/afternoon.txt /home/stream/playlist.txt && pkill ffmpeg
# Night playlist (lofi/relaxation)
0 22 * * * cp /home/stream/playlists/night.txt /home/stream/playlist.txt && pkill ffmpeg
FFmpeg restarts automatically (from the while loop) and picks up the new playlist.
Content Categories
| Category | Content Source | Audience | |----------|---------------|----------| | Lofi music | Original or licensed tracks | Study/work | | News ticker | RSS feeds, API data | Information seekers | | Ambient scenes | Pre-recorded videos | Relaxation | | Educational | Pre-recorded lectures | Students | | Gaming compilations | Curated clips | Gamers |
VPS Requirements
| Content Type | CPU | RAM | Bandwidth | |-------------|-----|-----|-----------| | Audio only (radio) | 1 core | 1GB | 50GB/month | | 720p video | 2 cores | 2GB | 500GB/month | | 1080p video | 4 cores | 4GB | 1TB/month | | 1080p with overlays | 4 cores | 4GB | 1TB/month |
A Space-Node VPS with 4 cores handles 1080p 24/7 streaming with headroom for overlays and processing.
Monitoring
Keep your stream alive with a health check:
#!/bin/bash
STREAM_URL="https://www.youtube.com/channel/YOUR_CHANNEL/live"
if ! pgrep -x "ffmpeg" > /dev/null; then
echo "FFmpeg not running, restarting..."
/home/stream/start.sh &
fi
Run this via cron every 5 minutes. If FFmpeg dies for any reason, it's back within 5 minutes.
Legal Considerations
If you use music, make sure you have the rights:
- Use royalty-free music from licensed libraries
- Use Creative Commons licensed content with proper attribution
- Don't use copyrighted content without a license
- YouTube's Content ID will catch unlicensed music immediately
A 24/7 channel is one of the best passive income opportunities on YouTube. Once it's running on a VPS, your only job is creating new content to rotate into the playlist.
