Skip to main content
How to Download YouTube Videos - Complete Beginner's Guide

How to Download YouTube Videos - Complete Beginner's Guide

Step-by-step guide to downloading YouTube videos for processing with AutoShorts. No programming experience needed!

Nov 21, 20258 min readAutoShorts Team

⚠️ Important: Use a Burner Account

YouTube may flag accounts that download videos. Create and use a separate "burner" YouTube account for downloads. Do NOT use your main account!

1

Open Terminal (Command Line)

On Mac:

  1. Press Cmd + Space together
  2. Type "Terminal" in the search box
  3. Press Enter

On Windows:

  1. Click the Start button (Windows icon)
  2. Type "cmd" or "Command Prompt"
  3. Press Enter

💡 You'll see a black or white window with text - this is the "Terminal" or "Command Prompt". This is where you'll type commands.

2

Check if Python is Installed

Type this command and press Enter:

# On Mac/Linux:

python3 --version

# On Windows:

python --version

✅ Success looks like:

Python 3.11.5

If you see this, you're good to go!

❌ If you see "command not found" or an error:

You need to install Python first:

Download Python from python.org →

Download the latest version, run the installer, and check "Add Python to PATH" during installation.

3

Install yt-dlp (The Download Tool)

This tool downloads YouTube videos. Type this command:

# On Mac/Linux:

pip3 install yt-dlp

# On Windows:

pip install yt-dlp

⏳ This might take 1-2 minutes. You'll see text scrolling by - that's normal! Wait for it to finish.

4

Install ffmpeg (Video Processor)

This helps combine video and audio files together.

On Mac:

brew install ffmpeg

ℹ️ If you see "brew: command not found", you need Homebrew first:Install Homebrew →

On Windows:

  1. Download ffmpeg from ffmpeg.org
  2. Extract the ZIP file
  3. Add the "bin" folder to your System PATH (search "how to add to PATH Windows")
5

Create a Folder for Downloads

Let's create a folder where your videos will be saved:

mkdir youtube-downloads

cd youtube-downloads

Type each command and press Enter. The first creates a folder, the second enters it.

6

Create Python Virtual Environment

This creates an isolated space for the download tool:

# Create virtual environment:

python3 -m venv .venv

# Activate it (Mac/Linux):

source .venv/bin/activate

# Activate it (Windows):

.venv\Scripts\activate

✅ Success looks like:

You'll see (.venv) appear at the start of your terminal line

7

Save the Download Script

Copy this entire script, save it as ytdownload.py:

import argparse
import sys
import yt_dlp

def download_4k_video(url, output_dir="downloads", browser=None):
    ydl_opts = {
        'format': 'bestvideo+bestaudio/best',
        'merge_output_format': 'mp4',
        'outtmpl': f'{output_dir}/%(title)s.%(ext)s',
        'noplaylist': True,
        'quiet': False,
        'prefer_ffmpeg': True,
        'keepvideo': False,
        'postprocessors': [{
            'key': 'FFmpegVideoRemuxer',
            'preferedformat': 'mp4',
        }],
        'postprocessor_args': ['-c', 'copy'],
        'progress_hooks': [lambda d: print(d['status']) if 'status' in d else None],
    }

    if browser:
        ydl_opts['cookiesfrombrowser'] = (browser,)
        print(f"[INFO] Using cookies from {browser} browser")
        print(f"[WARNING] Make sure you're logged into a BURNER account!")

    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        info = ydl.extract_info(url, download=True)
        print(f"\n✓ Downloaded: {info.get('title', 'Unknown')}")
        print(f"✓ Resolution: {info.get('width')}x{info.get('height')}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Download YouTube video in high quality."
    )
    parser.add_argument("url", help="The YouTube video URL")
    parser.add_argument("--output_dir", default="downloads", help="Output directory")
    parser.add_argument(
        "--browser",
        choices=["chrome", "firefox", "safari", "edge", "brave"],
        help="Browser to extract cookies from (REQUIRED)"
    )
    args = parser.parse_args()

    if not args.browser:
        print("[ERROR] Please specify --browser option")
        print("Example: python ytdownload.py 'URL' --browser chrome")
        sys.exit(1)

    download_4k_video(args.url, output_dir=args.output_dir, browser=args.browser)

How to save the script:

  1. Select and copy all the code above
  2. On Mac: Open TextEdit (Applications → TextEdit)
  3. On Windows: Open Notepad (Start → Notepad)
  4. Paste the code
  5. Important: Go to Format → Make Plain Text (TextEdit only)
  6. Save as ytdownload.py in your youtube-downloads folder
8

Download a Video!

Before you run the command:

  1. Open your browser (Chrome, Safari, Firefox, etc.)
  2. Log into a BURNER YouTube account (not your main account!)
  3. Keep the browser open

Now run this command (replace the parts in caps):

python ytdownload.py "PASTE_YOUTUBE_URL_HERE" --browser YOUR_BROWSER

Example:

python ytdownload.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --browser chrome

Replace YOUR_BROWSER with:

  • chrome - if using Google Chrome
  • safari - if using Safari (Mac)
  • firefox - if using Firefox
  • edge - if using Microsoft Edge
  • brave - if using Brave
9

Find Your Downloaded Video

Your video will be saved in:

youtube-downloads/downloads/

On Mac: Open Finder → Go menu → Home → youtube-downloads → downloads

On Windows: Open File Explorer → Navigate to C:\Users\YourName\youtube-downloads\downloads

Troubleshooting

❌ "command not found" error

The tool isn't installed. Go back and reinstall Python, yt-dlp, or ffmpeg (whichever command failed).

❌ "Permission denied" error

Try adding sudo before the command (Mac/Linux only):sudo pip3 install yt-dlp

❌ "Bot detection" or "Sign in to confirm you're not a bot"

Make sure you're logged into a YouTube account in your browser (use a burner account!) and the browser is open when running the command.

❌ Video downloaded but won't play

Try using VLC Media Player - it plays almost any video format. Download from videolan.org

Ready to turn your video into viral clips?

Über den Autor

Nicolai Gaina

Nicolai Gaina

Software-Ingenieur mit über 12 Jahren Berufserfahrung in der San Francisco Bay Area. Spezialisiert auf Softwareentwicklung, Content-Erstellung und Social-Media-Wachstum, mit Fokus auf datengetriebenes Wachstum, KI und wirkungsvolle Online-Tools für Content Creator.

Folgen auf: LinkedIn