A web application for the Acceleration Consortium that allows you to stream multiple YouTube hardware streams simultaneously in a grid layout.
- Multi-stream viewing: Watch up to 9 YouTube streams at once
- Flexible grid layouts: Choose between 1x1, 2x2, or 3x3 grid layouts
- 16:9 aspect ratio: Proper YouTube video proportions
- Stream management: Add, remove, and organize hardware streams
- Zoom functionality: Click to zoom in on any stream for full-screen viewing
- Responsive design: Works on desktop and mobile devices
- Modern dark UI: Black design with orange accents and AC branding
- Make sure you have Python 3.7+ installed
- Clone or download this repository
- Install the required dependencies:
pip install -r requirements.txt
-
Start the application:
python app.py
-
Open your browser and navigate to
http://localhost:5000
-
Managing Streams:
- Click "Manage Streams" to open the stream management panel
- Add new streams by entering a YouTube URL and title
- Remove streams using the trash icon
- Close the panel when done
-
Watching Streams:
- Choose your preferred grid size (1x1, 2x2, or 3x3)
- Click on empty slots to select streams to watch
- Use the zoom button to view a stream in full-screen
- Remove streams from slots using the X button
https://www.youtube.com/watch?v=VIDEO_ID
https://youtu.be/VIDEO_ID
https://www.youtube.com/embed/VIDEO_ID
https://www.youtube.com/live/VIDEO_ID
- Backend: Flask (Python)
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Data Storage: JSON file (streams.json)
- YouTube Integration: YouTube embed API
youtube-multiview/
├── app.py # Flask backend
├── requirements.txt # Python dependencies
├── streams.json # Stream data storage (auto-generated)
├── static/
│ ├── css/
│ │ └── style.css # Styling
│ └── js/
│ └── app.js # Frontend JavaScript
└── templates/
└── index.html # Main HTML template
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 80+
- Some YouTube videos may not be embeddable due to restrictions set by the content creator
- Live streams work best for real-time viewing
- The application auto-mutes videos by default to prevent audio overlap
Issue: Video not loading
- Solution: Check if the YouTube video allows embedding, try a different video
Issue: Audio overlap
- Solution: Videos are auto-muted by default, you can unmute individual videos as needed
Issue: Performance issues with many streams
- Solution: Reduce the number of simultaneous streams or close other browser tabs