An educational project demonstrating how to build a video streaming platform using Cloudflare as the hosting provider. This project showcases end-to-end integration of cloud-based video delivery with a custom web-based player.
- Build a functional video streaming webpage
- Integrate with Cloudflare Stream API
- Create a custom video player with modern controls
- Demonstrate cloud-based video hosting best practices
- Educate students on streaming platform architecture
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Video Hosting: Cloudflare Stream
- API Integration: Cloudflare Stream API
- Design: Programmer-inspired theme with particle effects
- Features: Dark/Light mode toggle
Video-Streaming-Integration/
├── index.html # Landing page with educational content
├── player.html # Video player page
├── css/
│ ├── main.css # Main styles
│ ├── landing.css # Landing page styles
│ ├── player.css # Video player styles
│ └── particles.css # Particle effect styles
├── js/
│ ├── main.js # Main JavaScript
│ ├── cloudflare-api.js # Cloudflare API integration
│ ├── video-player.js # Custom video player controls
│ ├── particles.js # Particle animation
│ └── theme-toggle.js # Dark/Light mode toggle
├── assets/
│ └── images/ # Project images
└── docs/
└── setup-guide.md # Setup and configuration guide
- Cloudflare account with Stream enabled
- Basic knowledge of HTML, CSS, JavaScript
- Modern web browser
- Clone this repository
- Configure your Cloudflare API credentials in
js/config.js - Open
index.htmlin your browser - Upload videos to Cloudflare Stream
- Update video IDs in the player configuration
- Sign up for Cloudflare Stream at https://www.cloudflare.com/products/cloudflare-stream/
- Navigate to Stream in your Cloudflare dashboard
- Upload your videos
- Get your Account ID and API Token
- Copy video IDs for embedding
This project teaches:
- Video streaming protocols and delivery
- Cloud-based hosting vs self-hosting
- API integration best practices
- Frontend video player development
- Responsive web design
- State management (theme toggling)
- ✅ Custom video player with full controls
- ✅ Ocean blue particle effect background (Modern style)
- ✅ Dark/Light mode toggle
- ✅ Responsive design for all devices
- ✅ Cloudflare Stream API integration
- ✅ Educational landing page
- ✅ Video quality selection
- ✅ Fullscreen support
- ✅ Keyboard shortcuts
- Cloudflare Stream: Best for production, CDN-backed
- AWS S3 + CloudFront: More control, higher complexity
- Vimeo: Easy integration, paid plans
- YouTube: Free but limited customization
- Self-hosted: Maximum control, requires infrastructure
See /docs/setup-guide.md for detailed setup instructions and API documentation.
This is an educational project. Feel free to fork, modify, and learn!
MIT License - Free to use for educational purposes
Built as an educational demonstration project
Note: This project requires a Cloudflare Stream account. Free tier available for testing.