--- title: VidSub Encoder Bot emoji: 🎬 colorFrom: blue colorTo: purple sdk: docker pinned: false --- # VidSub Encoder Bot A Telegram bot that can encode videos with custom settings and hardcode/softcode subtitles. Built with Pyrogram and FFmpeg. ## Features - Encode videos with custom settings - Hardcode or softcode subtitles - Adjust video quality and resolution - Convert between H.264/H.265 codecs - Control audio quality with AAC encoding and adjustable bitrate - Select specific audio tracks from multi-audio videos - Support for multiple subtitle formats (SRT, ASS, VTT) - Custom filename support - Progress tracking for downloads/uploads - Clean user interface with detailed progress information - REST API for bot management ## Supported Formats - **Video**: MP4, MKV, WebM - **Subtitles**: SRT, ASS, VTT ## Commands - `/start` - Start the bot - `/help` - Show help message - `/softcode` - Embed subtitles (faster) - `/hardcode` - Burn subtitles into video - `/nosubs` - Encode without subtitles - `/quick` - Use default encoding settings - `/reset` - Start over with settings - `/clear` - Clear all data ## API Endpoints The bot provides a REST API for management. All endpoints use GET requests: - `GET /` - Show API information - `GET /startbot` - Start the bot - `GET /stopbot` - Stop the bot - `GET /status` - Get bot status API documentation is available at `/docs` when the server is running. ## Deployment This bot is configured to run on Hugging Face Spaces using Docker. The configuration is hardcoded in `config.py` for simplicity. ### Requirements - Python 3.9+ - FFmpeg - Pyrogram - TgCrypto - FastAPI - Uvicorn - Requests - psutil ## License This project is licensed under the MIT License.