Prerequisites
Before you begin, ensure you have the following installed on your system:Node.js 20+
JavaScript runtime for the frontend
Python 3.10+
Backend API runtime environment
ffmpeg
Media processing toolkit (must be in PATH)
Verify ffmpeg is installed by running
ffmpeg -version and ffprobe -version in your terminal.Installation
Install frontend dependencies
Install the Node.js packages using npm:This will install Next.js, React, and all required frontend dependencies from
package.json.Set up the backend
Create a Python virtual environment and install backend dependencies:
On Windows, use
.venv\Scripts\activate instead of source .venv/bin/activateStart the backend server
From the The backend will start on
mini-services/offlinetube-api directory with your virtual environment activated:http://0.0.0.0:8001. You should see:Start the frontend server
Open a new terminal window, navigate to the project root, and start the frontend:The frontend will start on
http://localhost:3000.Your first download
Now that OfflineTube is running, let’s download your first video:Search for content
Use the search bar in the OfflineTube interface to find a video, or browse trending content.
Select quality and format
Click on a video to view its details. You’ll see options to:
- Choose between video or audio-only download
- Select quality (e.g., 720p, 1080p, 480p)
- Pick specific formats if available
Start the download
Click the download button to begin. You’ll see:
- Real-time progress percentage
- Download speed
- Estimated time remaining
- File size information
Quick tips
Troubleshooting
If you encounter issues:- “Failed to fetch” errors: Verify the backend is running on port 8001 and check firewall settings
- FFmpeg errors: Ensure ffmpeg and ffprobe are installed and available in your system PATH
- No thumbnails: Thumbnails use remote fallbacks automatically, but local caching may take a moment
- Missing audio: The backend validates audio tracks; if a download lacks audio, it will be marked as an error
Next steps
Detailed installation
Learn about environment variables, system requirements, and advanced configuration
API reference
Explore the backend API endpoints for integration and automation