Windows-friendly PowerShell downloader for YouTube and direct media links, built around yt-dlp and ffmpeg.
- Downloads from YouTube and other
yt-dlp-supported sites - Supports direct media links such as
mp4orm3u8 - Downloads:
- audio only
- video only
- video + audio
- Lets you choose the final output extension
- Saves files into the local
Downloadsfolder next to the script - Offers an interactive menu when arguments are not provided
youtube_1080p60_downloader.bat- Simple launcher for double-click usage on Windows
youtube_1080p60_downloader.ps1- Main PowerShell script
Downloads/- Generated output folder for downloaded media
Required:
yt-dlpffmpeg
Recommended:
Node.js- The script requests a Node-based JS runtime for YouTube and supported sites when needed
Examples:
python -m pip install --user -U yt-dlp
winget install -e --id Gyan.FFmpeg
winget install -e --id OpenJS.NodeJS.LTSyt-dlp --version
ffmpeg -version
node -vIf yt-dlp is not directly in PATH, the script also tries:
python -m yt_dlp --versionffmpeg detection behavior:
- first checks
ffmpeginPATH - then searches common WinGet install paths for
Gyan.FFmpeg
Double-click:
youtube_1080p60_downloader.bat
The script will ask for:
- source type
- URL or URLs
- mode
- extension
- optional headers for direct links
Interactive without splash:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 -NoSplashYouTube or supported site, merged video + audio:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 `
-Source yt `
-Urls "https://www.youtube.com/watch?v=VIDEO_ID" `
-Mode both `
-Extension mp4Audio only:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 `
-Source yt `
-Urls "https://www.youtube.com/watch?v=VIDEO_ID" `
-Mode audio `
-Extension mp3Video only:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 `
-Source yt `
-Urls "https://www.youtube.com/watch?v=VIDEO_ID" `
-Mode video `
-Extension mp4Multiple URLs in one run:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 `
-Source yt `
-Urls "https://www.youtube.com/watch?v=AAA","https://www.youtube.com/watch?v=BBB" `
-Mode both `
-Extension mkvDirect media link with optional headers:
powershell -ExecutionPolicy Bypass -File .\youtube_1080p60_downloader.ps1 `
-Source direct `
-Urls "https://example.com/video.m3u8" `
-Mode both `
-Extension mp4 `
-Referer "https://example.com/" `
-UserAgent "Mozilla/5.0"Downloaded files are saved in:
.\Downloads\
Filename template:
%(title).200B [%(id)s].%(ext)s
- YouTube mode prefers high-quality video, including
1080p60when available - Audio mode extracts audio and converts it to the selected audio format
- Video mode downloads video-only output
- Both mode merges video and audio into the selected container
- Direct-link mode supports optional
RefererandUser-Agentheaders
Missing dependency: yt-dlp- Install
yt-dlpor make surepython -m yt_dlpworks
- Install
Missing dependency: ffmpeg- Install
ffmpegand make sure it is inPATHor installed through WinGet in a detectable location
- Install
- direct links fail
- try adding the correct
RefererandUser-Agent
- try adding the correct
- YouTube extraction behaves inconsistently
- update
yt-dlpand make sureNode.jsis installed
- update
- Depends on external tools:
yt-dlp,ffmpeg, and sometimesNode.js - Site-specific behavior may change as YouTube and other platforms update their delivery methods
- Some direct media links require the correct headers to work
- This project currently has no automated test suite
Use this tool only for content you have the right to download. Platform terms, copyright rules, and local laws still apply.
Files in Downloads/ are generated output and should not be committed.