YouTube Downloader 1.0
======================

Saves a YouTube video to your PC as an MP4. Nothing happens until you
click a button.

INSTALL
1. Unzip the folder anywhere.
2. Double-click install.cmd.
   It installs FFmpeg, Deno and uv with winget if they are missing, sets
   up its own Python 3.11 with the download engine (yt-dlp), copies the
   program to "%USERPROFILE%\YouTube Downloader", and adds a Start menu
   and desktop shortcut. It never deletes anything. Running it again
   repairs or updates the install; the old app.py is kept as
   app_backup_<date>.py.
   Skip the shortcuts with:  install.cmd /noshortcuts

USE
1. Copy a video's address from YouTube. Click Paste, then Look Up.
2. Pick a quality. Each line says what it plays in:
     H.264  plays everywhere, every editor (AVPrep2, AVPrep3, Premiere,
            phones). YouTube offers it up to 1080p.
     VP9 / AV1  anything above 1080p. Needs a modern player or editor.
   The size shown is YouTube's own estimate.
3. Choose the Save to folder once. It is remembered.
4. Click Download. Stop works at any time; the unfinished piece stays in
   the folder, and clicking Download again with the same quality carries
   on from where it stopped.
5. Play or Show in Folder when it finishes.

A file never replaces an existing one. A second copy of the same video
is saved as "Title (2).mp4".

ABOUT THE SEPARATE PIECES
For anything above 360p, YouTube sends the picture and the sound as two
files, and FFmpeg joins them into one MP4. By default the download engine
removes those two working pieces after a successful join, the same as
every yt-dlp front end. Tick "Keep the separate picture and sound files"
before clicking Download if you want them kept.

WHEN DOWNLOADS START FAILING
YouTube changes its site often. Click Update Engine, close the window,
open it again, and try again. That fixes most failures. Show Details
displays the engine's own messages.

The bottom line of the window shows whether FFmpeg and Deno were found.
Deno runs YouTube's player code; without it some videos fail or show
fewer qualities. If either says NOT FOUND, run install.cmd again.

WHAT IT DOES NOT DO
Playlists, channels, audio only, captions. One video at a time. A
playlist address is refused with a message. Age-restricted and
members-only videos need a signed-in account, and this program does not
sign in.

USE IT FOR
Your own uploads, Creative Commons material, public-domain footage, and
anything you have permission to use. Downloading doesn't change who owns
the video.

REMOVING IT
Delete the "YouTube Downloader" folder in your user folder and the two
shortcuts named YouTube Downloader (Start menu and desktop). FFmpeg,
Deno and uv stay installed; other tools use FFmpeg.

FILES
app.py                       the program
install.cmd                  setup and repair
make_shortcuts.ps1           used by install.cmd
Start YouTube Downloader.cmd opens the program without the shortcut
config.json                  your folder, last quality and window size
.venv\                       its own Python and the download engine
