A modern web interface for interacting with FFmpeg containers deployed on Cloudflare.
- File Upload Interface - Drag and drop or click to upload media files
- Preset Commands - Quick access to common FFmpeg operations
- Custom Commands - Full control with custom FFmpeg command input
- Real-time Output - Live terminal-style output display
- File Downloads - Download processed media files directly
- Configuration Storage - Saves your Worker URL settings locally
- 📦 Compress Video - Reduce file size with optimal quality
- 🎵 Extract Audio - Extract audio tracks from videos
- 📏 Resize Video - Change video dimensions
- 🔄 Convert to MP4 - Convert any video format to MP4
- 🖼️ Generate Thumbnail - Create preview images from videos
- 🎞️ Create GIF - Convert video segments to animated GIFs
-
Connect Repository:
- Go to Cloudflare Dashboard
- Navigate to Workers & Pages
- Click "Create application" → "Pages"
- Connect this GitHub repository
-
Configure Build Settings:
- Framework preset: None (Static HTML)
- Build command: (leave empty)
- Build output directory:
/(root)
-
Deploy: Click "Save and Deploy"
In the interface, you'll need to enter:
- Worker URL: Your FFmpeg container worker URL
- API Path: The endpoint path (typically
/api/ffmpeg)
ffmpeg-interface/
├── index.html # Main HTML interface
├── styles.css # Styling and animations
├── script.js # JavaScript functionality
├── _headers # Security headers (optional)
└── README.md # This file
- HTML5 - Modern semantic markup
- CSS3 - Gradient backgrounds, animations, responsive design
- Vanilla JavaScript - No dependencies, modern ES6+ syntax
- File API - Handle file uploads
- Fetch API - Communicate with FFmpeg containers
- Input Validation - Client-side validation for file types and commands
- Local Storage - Secure client-side configuration persistence
- HTTPS Enforcement - Cloudflare Pages provides automatic HTTPS
- Dark Theme - Modern terminal-inspired design
- Responsive Layout - Works on desktop, tablet, and mobile
- Smooth Animations - Hover effects and transitions
- Terminal Output - Matrix-style green-on-black console
- Status Indicators - Color-coded success/error/processing states
-
Configure Connection:
- Enter your FFmpeg Worker URL
- Set the API endpoint path
-
Upload Media File:
- Click "Choose File" or drag & drop
- Supports video, audio, and image formats
-
Select Operation:
- Click a preset button for common tasks
- Or enter custom FFmpeg commands
-
Execute:
- Click "Execute FFmpeg Command"
- Watch real-time output
- Download processed files
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
Built with ❤️ for the Cloudflare ecosystem