🚀 My ultimate local streaming command center! Bringing together pro camera gear, mobile streams, and local storage into one sleek, Dockerized package.
Ever wanted to run a professional multi-camera streaming setup from your local network? That's exactly what I built! This system handles everything from my Nikon Z7 to iOS devices, all while keeping high-quality recordings safely stored on my NAS.
- 📹 Multi-device streaming (because one camera is never enough!)
- 💾 Pristine local recordings (no quality loss here!)
- 📊 Real-time quality monitoring (catch issues before your viewers do)
- 🌐 Slick web dashboard (built with React + Tailwind)
- 🎬 Smart device management (everything just works™)
- 📦 Docker-powered (containers all the way down)
graph TD
A[Main Camera] --> B[RTMP Server]
C[iOS Devices] --> B
B --> D[NAS Storage]
B --> E[Web Dashboard]
F[Device Manager] --> B
G[API Router] --> B
- 🚀 RTMP Server: The streaming heart of the operation
- 🎮 Device Manager: Keeps everything talking nicely
- 🌐 API Router: Traffic control for our services (Go-powered!)
- 🖥 Web Dashboard: Your command center for everything
You'll need:
- 💻 Docker + Docker Compose on your laptop (
192.168.0.187
) - 💾 NAS (
cda_ds.local
, that's192.168.0.19
for the DNS-challenged) - 📸 Nikon Z7 + capture card (the good stuff)
- 📱 iOS devices running Prism Live Studio (for those sweet mobile angles)
-
Clone this bad boy:
git clone https://github.com/Cdaprod/live-streaming-setup.git cd live-streaming-setup
-
Set up your env (the easy way):
cp .example.env .env # Customize .env to your heart's content
-
Launch everything:
docker-compose up -d # Grab a coffee while Docker does its thing
Stream URL: rtmp://192.168.0.187:1935/live
Stream Key: main_camera
Quality: As high as your network can handle! (4K? Why not!)
Stream URL: rtmp://192.168.0.187:1935/live
Keys:
- Main iOS: ios_main
- B-Roll iOS: ios_secondary
# Get your test on
pip install -r tests/requirements-test.txt
pytest tests/
# Or if you're feeling brave
pytest tests/ -v --show-capture=no
Your streams are automatically saved to:
\\cda_ds.local\volume1\video\LiveStreamed-Broadcasts\
(Where the magic gets archived! 🎬)
Check out the separate FFmpeg configuration at:
ffmpeg-streamer/docker-compose.ffmpeg-streamer.yaml
🎩 Pro tip: This is where the real streaming wizardry happens!
-
Stream Issues?
# Check those RTMP stats curl http://localhost:8080/stat
-
NAS Acting Up?
# Is your NAS even mounted, bro? df -h | grep cda_ds.local
-
Need the Logs?
# The whole shebang docker-compose logs -f
🎥 This project is part of my content creation tech stack! Watch me build and use it on YouTube
This streaming setup powers my tech content creation across various platforms. From coding sessions to tech reviews, this is the backbone of my live streaming infrastructure. Want to see it in action? Check out my:
📺 YouTube Channel - Live coding and tech tutorials
🐦 Twitter - Daily tech insights and updates
📝 Blog - In-depth articles and guides
💼 LinkedIn - Professional updates
🎮 Twitch - Live coding sessions
Built with ❤️ by Cdaprod
🎬 "Because every stream deserves to be awesome!"