Windows graphical interface for yt-dlp, designed as a simple YouTube downloader

ytdlp-interface

This is a Windows graphical interface for yt-dlp, that is designed as a simple YouTube downloader. It doesn't download playlists, and generally speaking it doesn't attempt to accommodate the crazy number of features offered by yt-dlp (it just downloads a video using the selected format, with a few options for the download).

Some third-party binaries are distributed with the program binary:

To use, it's easiest to just dump the files in the folder where yt-dlp.exe is located, although you can put them anywhere. To completely remove from your system, also delete the settings file %AppData%\ytdlp-interface.json.

Download link: https://github.com/ErrorFlynn/ytdlp-interface/releases/download/v1.0.0/ytdlp-interface.7z


Building the source

The project depends on two static libraries: Nana C++ GUI library v1.8 or later (at the time I'm writing this v1.8 is in development, so you must build branch develop-1.8), and libjpeg-turbo. To build Nana with JPEG support see this thread.

The program also uses JSON for modern C++ to get video info from yt-dlp.exe and to read/write the settings file, but that's just a header file that's included in the project (you can replace it with its latest version if you really want to).

The easiest way to build the project is to open the solution file with Visual Studio 2019 or later. If that's not an option, you're a resourceful individual, I'm sure you'll come up with something (that's as far as my support goes, sorry).


ytdlp-interface 1


ytdlp-interface 2


ytdlp-interface 3

Owner
I am an amateur programmer who has a passion for modern C++. My handle is a clever and very funny reference to the late Hollywood actor Errol Flynn.
null
Comments
  • Any change to download from other site other than YouTube?

    Any change to download from other site other than YouTube?

    Hi,

    I've just come across this repo - Excellent BTW!

    yt-dlp can download from other types of sites, however, when trying with your app is says 'not a valid link'...

    Any chance this can be used for other types of site?

  • FFmpeg special version

    FFmpeg special version

    Hello, thank you very much for this wonderful and amazing software ! juste a question, I wonder if Ytdlp-interface uses the special version of FFmpeg to avoid bugs? because there is a special builds of FFmpeg for yt-dlp to fix some bugs, it will be great if Ytdlp-interface can add and update automatically this special builds of FFmpeg to fix some bugs for example

    [Fix AAC HLS streams being truncated mid stream]

    [Fix for YouTube's VP9 encodes with non-monotonous DTS]

    https://github.com/yt-dlp/FFmpeg-Builds

  • Portable Mode

    Portable Mode

    Hello,

    First I would like to say that ytdlp-interface turned out to be a well-designed and very pleasant to use GUI fpr yt-dlp, good work, thanks.

    As of version 1.4.1 program settings are saved in configuration file (ytdlp-interface.json) in AppData:

    C:\Users\User\AppData\Roaming\ytdlp-interface.json

    My request- when ytdlp-interface starts it should check its program folder for the configuration file, ytdlp-interface.json, and if it is there (next to the executable, ytdlp-interface.exe), it should use it to load and save settings without re-creating it in AppData.

    I suppose an additional useful enhancement might be a new check box in Settings:

    • Portable mode

    which, if enabled, will save both the configuration file and the downloaded videos in program folder, so nothing will be written outside the program folder. This would be particularly convenient for using the program from external drives on other machines without leaving any traces behind (all data is saved in program folder)

    Regards

  • aria2c integration

    aria2c integration

    yt-dlp can use aria2c as external downloader. The main reason of using aria2c is download thread parallelization. Can you please add detecting aria2c on %PATH% (or selecting manually in Settings) and corresponding changes in UI:

    • Checkbox "Use aria2c"
    • Integer input "Download threads count"

    Command with this options looks like: yt-dlp --external-downloader "aria2c" --external-downloader-args "-j 8" ...

  • Audio preset and download with one click

    Audio preset and download with one click

    Hello, it will be great please if there an option preset to choose by default to download the worst audio quality for a faster download, and possiblity to choosing the native audio quality "opus" or "m4a" , I use another program to automatically download the worst audio quality of youtube videos and I always get the audio quality with "opus" format with 64kbps bitrate or 48kbps bitrate and we would like to have the worst audio quality because I put these audios in my smaprtphone using the "snapdrop.net" sharing site and I would like to preserve the battery of smartphone by using the most worst audio quality, it will be great to add the "opus" 64kb/s audio format or "m4a" audio format for the "worstaudio" preset!

    Please I have an important suggestion, it will be great to make the button "download" next to the "paste from clipboard" button for more speed, and also it will be amazing to merge and unify the "paste from clipboard" and "download" buttons into a single button with memorization of the "worstaudio" preset, so we can download audio or video just by clicking on a one and only unified button and we no longer need anymore to click on 2 distant buttons "paste from clip board" and "Download"!

    Thank you so much for this wonderful software jewel of technology :)

  • N_m3u8DL-CLI

    N_m3u8DL-CLI

    Hello, Hello, since Ytdlp-Interface is aN amazing a graphical interface of command line tools , it well be great if our beloved Ytdlp-Interface add support for m3u8 with adding support for this tool updated recently N_m3u8DL-CLI :

    https://github.com/nilaoda/N_m3u8DL-CLI

  • lux and streamlink

    lux and streamlink

    Hello, it will be great if our beloved Ytdlp-Interface adds support for lux which is fast and simple video download library and CLI tool written in Go and support for the awesome streamlink because some videos are huge and bulky so it's annoying and a waste of time to wait for the end of download but with streamlink, you can watch the video directly without waiting for the download but the problem is that it's in the command line and can be difficult to use for newbies......

    https://github.com/iawia002/lux

    https://streamlink.github.io/

Sample Project that I'm trying to build on YouTube (Live)

GTK-Project Sample Project that I'm trying to build on YouTube (Live) Streams discussing this: S.No. Date Title Limk 1 30/08/2021 Code Along: Building

Mar 18, 2022
A simple but powerful multimedia player library designed for Qt Quick.

QtMediaPlayer A simple but powerful multimedia player library designed for Qt Quick. Features Full-featured multimedia player Cross-platform: support

Apr 21, 2022
DTV is a library that provides a simple interface for generating video files from a C++ application
DTV is a library that provides a simple interface for generating video files from a C++ application

Direct to Video (DTV) What does DTV do? DTV is a library that provides a simple interface for generating video files from a C++ application. It uses F

Jun 20, 2022
GB Studio Extended Nominal Player Adaptation/Interface
GB Studio Extended Nominal Player Adaptation/Interface

gbsenpai gbsenpai - GB Studio Extended Nominal Player Adaptation/Interface - is a project to port the GB Studio player to additional, non-GB/GBC platf

Jun 21, 2022
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Includes game emulation support, providing one unified interface for your games.

Jun 24, 2022
Olive is a free non-linear video editor for Windows, macOS, and Linux.
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

Jun 15, 2022
mpv to vlc converter (for anilabx-lite-windows)

mpv-to-vlc Simple CPP project, created for AniLabX-Lite (requested by @themrlokopoff) Compiling Open project in Visual Studio Select "Release" version

Aug 18, 2021
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

Jun 23, 2022
SortNode is a JS binding for SORT: Simple, online, and real-time tracking of multiple objects in a video sequence.

SortNode is a JS binding for SORT: Simple, online, and real-time tracking of multiple objects in a video sequence.

Sep 17, 2021
⏺️ A simple recording program with the ability to record screens and audio on your computer.
⏺️ A simple recording program with the ability to record screens and audio on your computer.

⏺️ A simple recording program with the ability to record screens and audio on your computer.

Jun 18, 2022
a simple example of video streaming with a ESP32 AI Thinker
a simple example of video streaming with a ESP32 AI Thinker

esp32-video-streaming its a simple camera system that im trying to make for fun I want to make an async server but idk it doesnt works correctly and w

Mar 9, 2022
Sentry-Picam is a simple wildlife / security camera solution for the Raspberry Pi Zero W, providing 1080p/30fps motion activated H.264 video capture.
Sentry-Picam is a simple wildlife / security camera solution for the Raspberry Pi Zero W, providing 1080p/30fps motion activated H.264 video capture.

Sentry-Picam is a simple wildlife / security camera solution for the Raspberry Pi Zero W, providing 1080p/30fps motion activated H.264 video capture.

Jun 12, 2022
simple mp4 player based on rockchip rv1109 platform

mp4player RV1109平台上实现一个简单的 mp4 播放器,主要是本人使用的开发板QT无法播放mp4,应该是没有编译qst所致,因而想利用rockchip平台自有的 功能实现一个简单的播放器。 base目录包含一些基础框架实现,包含信号,线程,时间等,线程和消息泵的实现非常非常简单,因而不

Feb 22, 2022
A simple example showing how to render a video with libvlc + raylib.
A simple example showing how to render a video with libvlc + raylib.

Hey! I bet you have been trying to render and control a video with raylib for a long long time. Don't you think you should at least buy me a beer? Wha

May 23, 2022
A Flutter Youtube and Video Downloader

A Flutter Desktop GUI App of Youtube-dl which download video from Youtube, Facebook (both public and private)

May 19, 2022
Media Downloader is a Qt/C++ front end to youtube-dl
Media Downloader is a Qt/C++ front end to youtube-dl

media-downloader This project is a Qt/C++ based frontend to youtube-dl and it can be used to download any media file supported by youtube-dl. Features

Jun 24, 2022
Free Media Player for Windows and Linux with Youtube support.

SMPLAYER SMPlayer is a free media player for Windows and Linux with Youtube support.

Jun 15, 2022
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Dear ImGui (This library is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addit

Jun 24, 2022
o/ ImGui Builder is a graphical framework for assembling imgui codes in your interface easily
o/ ImGui Builder is a graphical framework for assembling imgui codes in your interface easily

IMGUI BUILDER The project consists a gui editor of the Imgui framework EDITOR Menu Export 1 - Export cpp file 2 - Cpp file Credits Credits for Shadowy

Jun 17, 2022
A graphical interface to set options on devices with coreboot firmware
A graphical interface to set options on devices with coreboot firmware

Corevantage A graphical interface to set options on devices with coreboot firmware. Introduction This is a utility that allows users to view and modif

Jan 22, 2022