Skip to content

A simple Python GUI for downloading with yt-dlp and converting them to Discord-friendly MP4s using FFmpeg.

License

Notifications You must be signed in to change notification settings

slowchu/ytdlp-gui-to-mp4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ytdlp-gui-to-mp4

A lightweight, open-source graphical interface for downloading and converting videos from supported platforms using yt-dlp and FFmpeg into Discord friendly .MP4 files

Designed to make downloading and converting videos simple, fast, and Discord-friendly — no terminal needed.

Strongly suggest running the batchfile to install FFMPEG and yt-dlp automatically for easiest compatibility. Keep the file if windows asks you to delete it.


Release v1.6

  • Fixed issue with encoding? Suddenly the app didn't work anymore, once again. It works now. (at least it works for me)

  • updated the batchfile to be a bit more reliable. Remember to run it as an admin.

  • added a toggle that lets you see whats going on. Will show basically whats going on in CMD, but inside the app itself. This is normally hidden with a no_window command, but its nice to be able to see more than just an "in progress" bar.

image

✅ Features

  • Paste any yt-dlp supported video platform URL
  • Choose your output filename
  • Adjust video quality using an intuitive slider and resolution drop down
  • “Discord Optimized” mode, attempts to output at low settings in an attempt to optimize size for non-nitro file limits/mobile usage:
    • 720p max resolution
    • CRF 28 for size reduction
    • 96kbps audio
  • MP4 output (H.264 + 128k or 96k AAC)
  • Saves files to your system's Videos/YT-DLP Downloads folder
  • Filesize estimator + Static Image modifier (makes estimate more accurate for videos with static images, does not control quality)
  • Clean GUI, no terminal required

📦 Requirements (if running from .py source)

  • Python 3.7 or later
  • yt-dlp installed (yt-dlp.exe must be in the same folder or system PATH)
  • ffmpeg installed (ffmpeg.exe must be in the same folder or system PATH)

⚙️ Optional: Setup Script (install-tools.bat)

This project includes a helpful batch script: install-tools.bat

🔧 What It Does:

  • Downloads the latest versions of:
  • Adds both tools to your system PATH
    • This allows you to run yt-dlp and ffmpeg from anywhere
  • Sets everything up so the GUI works out of the box

📌 When to Use It:

  • If the GUI doesn’t work because yt-dlp or ffmpeg is missing

🛠 How to Use:

  1. Right-click the file install-tools.bat
  2. Choose Run as Administrator
  3. Wait for it to finish downloading and updating your system

💡 You may need to restart your terminal or PC after running it for PATH changes to apply.

Disclaimer

This tool uses FFmpeg, a free and open-source multimedia framework licensed under the GNU General Public License (GPL) or Lesser GPL (LGPL), depending on the build.

FFmpeg is not distributed with this project. To learn more or get the latest version, visit: https://ffmpeg.org

This tool uses:

  • yt-dlp — a powerful command-line video downloader (Unlicense)
  • FFmpeg a free and open-source multimedia framework licensed under the GNU General Public License (GPL) or Lesser GPL (LGPL), depending on the build.

These tools are not bundled or distributed with the project. Visit their official pages for more information.

This project optionally uses a batch file (install-tools.bat) to download and configure:

  • yt-dlp — a command-line video downloader (licensed under The Unlicense)
  • FFmpeg — a multimedia converter (licensed under GPL/LGPL)

The script downloads these tools from their official sources and installs them to a local tools directory (e.g. C:\Program Files\VideoTools). It also adds them to your system PATH so the GUI can access them.

These tools are not created or maintained by this project. They are used as external dependencies. Running the batch file is entirely optional — you may install and configure these tools manually if preferred.

About

A simple Python GUI for downloading with yt-dlp and converting them to Discord-friendly MP4s using FFmpeg.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published