Download YouTube videos and burn Netflix-style subtitles automatically
Project description
SubPlz - Subtitle Pipeline for Everyone
Automatically download YouTube videos and burn clean, professional subtitles into them!
Features
- One-command processing - Just provide a YouTube URL or local video
- Clean burned-in subtitles - Professional white text with black outline
- AI-powered transcription - Uses OpenAI Whisper for accurate subtitles
- Multiple formats - Supports YouTube URLs and local video files
- Smart dependency handling - Guides you through installing missing dependencies
- Automatic cleanup - Removes temporary files after processing
Installation
pip install subtitle-for-everyone
System Requirements
Required Dependencies
- Python 3.8+
- FFmpeg - For video processing
- Windows: Download from ffmpeg.org
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
Python Dependencies (Installed Automatically)
yt-dlp- YouTube video downloadingopenai-whisper- AI subtitle generationtorch- Machine learning backendffmpeg-python- Video processingtqdm- Progress bars
Quick Start
Process YouTube Videos
# Single YouTube video
subplz https://www.youtube.com/watch?v=VIDEO_ID
# The command will:
# 1. Download the video
# 2. Generate subtitles using AI
# 3. Burn clean white subtitles into the video
# 4. Save to 'processed_videos' folder
Process Local Videos
# Local video file
subplz /path/to/your/video.mp4
subplz "C:\\Users\\Name\\Videos\\myvideo.mp4"
Custom Output Directory
subplz https://www.youtube.com/watch?v=VIDEO_ID -o my_output_folder
Clean Professional Subtitles
SubPlz creates clean, readable subtitles that look professional:
- White text (#FFFFFF) for maximum visibility
- Black outline for contrast on any background
- No background box - clean appearance
- Arial Bold font at size 24
- Bottom center positioning with proper margins
- Perfect readability on any video content
Output
- Processed videos are saved with
_with_subtitlessuffix - Original video quality is preserved
- Subtitles are permanently burned into the video
- Temporary files are automatically cleaned up
Dependency Troubleshooting
If you get dependency errors, SubPlz will guide you:
Missing FFmpeg
Missing dependencies: ffmpeg
Installation Instructions:
To install FFmpeg:
Windows: Download from https://ffmpeg.org/download.html
macOS: brew install ffmpeg
Linux: sudo apt install ffmpeg
Then add FFmpeg to your system PATH
Missing yt-dlp
Missing dependencies: yt-dlp
Installation Instructions:
To install yt-dlp:
pip install yt-dlp
Advanced Configuration
SubPlz uses sensible defaults, but you can customize behavior by modifying the config:
# In your Python code
from subplz.config import NETFLIX_SUBTITLE_STYLE
# Customize subtitle appearance
NETFLIX_SUBTITLE_STYLE['fontsize'] = 28 # Bigger text
NETFLIX_SUBTITLE_STYLE['primary_colour'] = "&Hffffff" # White text (default)
NETFLIX_SUBTITLE_STYLE['outline'] = 3 # Thicker outline
Examples
Basic Usage
# Download and add subtitles to a YouTube video
subplz "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Batch Processing Script
import subprocess
urls = [
"https://www.youtube.com/watch?v=VIDEO1",
"https://www.youtube.com/watch?v=VIDEO2",
"https://www.youtube.com/watch?v=VIDEO3"
]
for url in urls:
subprocess.run(["subplz", url])
Local Video Processing
# Add subtitles to local videos
subplz "/Users/name/Movies/lecture.mp4"
subplz "C:\\Downloads\\presentation.mp4"
Troubleshooting
Common Issues
-
"Command not found: subplz"
pip install --upgrade subtitle-for-everyone # Or try: python -m subplz
-
"FFmpeg not found"
- Install FFmpeg and add to system PATH
- Restart terminal after installation
-
Out of memory errors
- Use smaller Whisper model: modify
WHISPER_MODEL = "tiny"in config
- Use smaller Whisper model: modify
-
Video download failures
- Some videos may be region-blocked or private
- Try different video URLs
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
- GitHub Issues: github.com/guider23/subplz/issues
- Email: sofiyasenthilkumar@gmail.com
Acknowledgments
- OpenAI Whisper - AI transcription
- yt-dlp - YouTube downloading
- FFmpeg - Video processing
Made with care by Sid & Kan
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file subtitle_for_everyone-1.0.3.tar.gz.
File metadata
- Download URL: subtitle_for_everyone-1.0.3.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f89b8c5bad700f1a981b47630ed3d752cab13140e74e9fd0b8a0a269a3a7a97
|
|
| MD5 |
45b160f4b39eb9d00a688974b188c46b
|
|
| BLAKE2b-256 |
b939ace815fd70de7eeb7017159db1e22121933cb5953491bc5e0002173dcec6
|
File details
Details for the file subtitle_for_everyone-1.0.3-py3-none-any.whl.
File metadata
- Download URL: subtitle_for_everyone-1.0.3-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
533e2bb29b1de6e9d62f54443115a2e92d6823d29165e063e58acecaf67a5315
|
|
| MD5 |
6f86d97ecd7d65e92cfa38e4ac7c63dd
|
|
| BLAKE2b-256 |
0fb964623b9eec09ba5de397a1f4284c34de901c6fa8388826c3e7a3350a6d3c
|