This is a simple Flask-based FFmpeg server that accepts video uploads, uses hardware encoders when available, and returns the processed file.
Features:
- Upload a video file and choose encoding settings
- Supports hardware encoders (NVENC, QSV, AMF, VAAPI) if detected
- Advanced
extra argsfield for passing ffmpeg flags - Progress updates via polling
- Temporary files auto-cleaned after configurable lifetime
Requirements:
- Python 3.8+
- Flask
- FFmpeg and FFprobe installed and accessible in PATH
Install and run:
pip install -r requirements.txt
python app.pyOpen http://localhost:5000 in your browser.
Security note:
- This server allows advanced ffmpeg args; it sanitizes some characters but it's not hardened for public internet exposure. Run behind authentication if exposing to untrusted users.