Skip to content

Zeppelins-Forever/gui-dlp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gui-dlp

This is a GUI front-end application for yt-dlp and ytarchive. You must already have yt-dlp and ytarchive (and its dependencies, such as ffmepg) installed and in the system PATH Environment for the Core installation. (Settings > System > About > Advanced System Settings > Advanced tab > Environment Variables > Double-click "Path" under System Variables > make a new path to the folder where you placed yt-dlp (and do the same for ffmpeg, if you haven't already after downloading yt-dlp)).

This presently does not have all of the features available in the terminal, so I wouldn't recommend using it if you need more technically specific options.

You can run it as a python script just fine, or if you want to convert this into a Windows executable, I would recommend the tool auto-py-to-exe (https://pypi.org/project/auto-py-to-exe/), or just use one of my releases.

It is designed with Windows in mind (Linux and macOS not thoroughly tested). For experimental Linux users, you may have to install "Tk" (Tkinter module for Python) and "pyperclip" (Python access to clipboard) for full, ot near-full functionality. A couple of features may not work exactly as intended in Linux (terminal window not showing with download progress), but most functionality may still be intact. Not thoroughly tested, however, so beware of bugs.


Documentation


yt-dlp options

yt-dlp is meant for videos uploaded to a variety of platforms. If you want to download scheduled or active YouTube streams, I would recommend ytarchive, but yt-dlp usually works too. ytarchive can begin recording from the beginning of the stream, even if started midway though.
It can be found at https://github.com/yt-dlp/yt-dlp


URL for media source

Enter the source URL of the desired video (or channel, or playlist, etc.)


Destination

Enter the absolute, not relative, path to the folder you wish to download the video to. If Custom Name > Sort via Channel is selected, it will place the channel folder here and the downloaded video within it.


Custom Name

Provides options to customize the output name of the video from the default of “[title] [video ID]”. If this is selected, but the options are left in their default state (Include URL, Date First, and Sort via Channel are unchecked and the rename box is empty), the download will not be allowed to proceed. If Custom Name is selected, it functionally treats your video title as blank until other customizations are selected.
This is the order in which these option appear in the final downloaded file name:
[channel] / [upload date] [title] [video ID].extension

Include ID

An option which only appears when Custom Name is selected. Adds the video ID to the video name itself, after the title, if the video has one. Recommended if using Custom Name Box in conjunction with Download List.


Date First

An option which only appears when Custom Name is selected. Adds the date of upload to the beginning of the video title, in YYYYMMDD format.


Sort via Channel

An option which only appears when Custom Name is selected. Places the downloaded video inside of a folder named after the channel of the video source. Destination would then indicate the location of the channel folder not the video itself.


Custom Name Box

An option which only appears when Custom Name is selected. You can change the title of the video itself, replacing the default video title with a title of choice. (Ex, downloading a YouTube video titled “Yee” from channel “revergo”, with Custom Name, Include ID, Date First, and Sort via Channel selected, and typing “funny video” in the name box will result in a file titled “20120229 funny video q6EoRBvdVPQ.webm” within the folder “revergo”.) Do not include the file extension.


Use Cookies

Cookies allow certain data to be pulled from the browser, such as logins saved to the browser, which can allow downloading paywalled content, as long as you could access this data through the browser.

Browser Choices

This pulls cookies automatically from one of the available browsers. If Cookies File is chosen from these options, it will open the Cookies File box, downloading from a cookies file instead of pulling directly from a browser.


Cookies File

This allows you to select a file containing cookies data (text files are typically a good choice) in Netscape format. Use the absolute, not relative, path to the file. The EditThisCookie https://www.editthiscookie.com/ browser extension, for example, allows copying your browser cookies to your clipboard (it will have to be configured to use the Netscape format), which you can paste into a text file. Said text file can then be used as the cookies file for this option.


Download Description

This option downloads the description of the video source, if one is available, to a separate file.


Download Comments

This option downloads comments from the video source, if comments are available, to a separate file.


Wait for Video

This option can be used when a video has an associated URL and is scheduled to release in the future, but is not released yet (ex. YouTube videos having waiting rooms to start). This will continue to check the video every 15 seconds by default, but can be adjusted as desired.


Embed Thumbnail

This option will embed the video thumbnail in the downloaded file itself. Depending on the file format, the embedded thumbnail may or may not display on certain operating systems due to not having the proper codecs. MP4 is generally reliable in that regard.


Write Thumbnail

This option, in addition to downloading the video itself, writes the thumbnail to a separate file. The three file types available to be selected are WEBP, PNG, and JPG; yt-dlp defaults to webp.


Audio Only

This option only downloads the audio of the video source.


Skip Video

This option only downloads other selected attributed, but not the video itself. (Ex. If Download Comments, Write Thumbnail, and Skip Video are selected, only the comments and thumbnail would be downloaded, but not the video itself.)


Download List

This option lets you download multiple videos from a list in an external text file. In the external text file, enter one URL per line, and provide the absolute file path to the file in the Download List box.


Download Subs

This will download all available subtitles to an external file, if any are available, which can later be used by programs such as VLC to view subtitles in a video.


Embed Subs

This will embed all available subtitles within the downloaded video itself, rather than downloading them separately.


All Formats

This will download all available file types of the available video.


Non-highest Quality

Specify a particular resolution to download at. The available resolutions to download at via yt-dlp are 2160p, 1440p, 1080p, 720p, 480p, 360p, 240p, and 144p. Audio Only takes precedence.


Non-default Encoding

This option allows you to select how the downloaded video should be encoded, and does not filter by if you are downloading only audio, audio and video, or any other options, so select carefully. MKV, WEBM, and MP4 are the most commonly used options, so limit yourself to these if you are uncertain as to which formats you may want for videos. For Audio Only downloads, try M4A, MP4, or WAV.


Hide Terminal

By default, when the program is run, a terminal window appears which will show the status and progress of the download. It is not generally recommend to check this, as doing so will prevent you from being able to kill a non-Monitor Mode process if needed, nor see the status of the download.


Monitor Mode

Monitor mode in yt-dlp mode is not a command supported with yt-dlp traditionally. The closes thing it has is Wait for Video, which allows it to wait on a video waiting room, but it cannot monitor a channel for new uploads. GUI-DLP attempts to add this functionality to yt-dlp by continuously running yt-dlp on a particular target. If a “/videos” or “/live” tab on YouTube is used instead of an individual video URL, yt-dlp will continuously read through each video available for the URL. Which videos will be downloaded can be filtered by date using the Start Date function. This also works for non-YouTube URLs, so long as new videos are shown in the same place and can be read by yt-dlp. This feature can additionally be used as a way to simply download all videos after a certain date, if you cancel Monitor Mode after the downloads are complete.

Start Date

Auto-fills the current date. Used to limit which videos in Monitor Mode will be downloaded, and will download anything after the given date. If monitoring a video that is scheduled to begin in the future, use the date that the waiting room was created (or before), not the date it is scheduled to release.


Help

Opens this document if it is detected, or the main GitHub page for GUI-DLP.
https://github.com/Zeppelins-Forever/gui-dlp/tree/main


Update

Opens the GitHub releases page for GUI-DLP, easily allowing you to download the most current version of this program. Auto-updates are not supported.
https://github.com/Zeppelins-Forever/gui-dlp/releases


ytarchive options

ytarchive is designed for YouTube specifically, and can only download actively running or scheduled live videos, and it downloads from the very beginning, even when starting midway through the stream. For anything already uploaded, or if you wish to only download the current moment of a stream and nothing before, use yt-dlp.
It can be found at https://github.com/Kethsar/ytarchive"


URL for media source

See yt-dlp > URL for Media Source


Destination

See yt-dlp > Destination


Custom Name

See yt-dlp > Custom Name


Cookies File

ytarchive does not support Cookies from Browser like yt-dlp does, so a cookies file must be used.


Download Description

See yt-dlp > Download Description


Wait for Video

yt-dlp and ytarchive have slightly different methods for waiting for a video to start, which is why ytarchve has more waiting options available in GUI-DLP. The Wait for Video option causes ytarchive to wait for the time which the video is scheduled to start before checking again. May not catch if the scheduled start time is moved forward.

Check more often

Rather than only waiting for the time the video is scheduled to start, it will repeatedly poll the time until the video starts, the time between checks being however many seconds are selected.


Write Thumbnail

See yt-dlp > Write Thumbnail, but without the option for choosing the written thumbnail format.


Embed Thumbnail

See yt-dlp > Embed Thumbnail


Audio Only

See yt-dlp > Audio Only


Non-highest Quality

Different qualities available through ytarchive that aren’t available through yt-dlp. All options available are 2160p60, 2160p, 1440p60, 1440p, 1080p60, 1080p, 720p60, 720p, 480p, 360p, 240p, 144p. Audio Only takes precedence over any quality chosen.


Encode as MKV

ytarchive has fewer video encoding options than yt-dlp. By default, it downloads all videos as MP4, but this option will make it use MKV instead.


Separate Audio

Saves a copy of the audio to a separate file along with the full download.


Hide Terminal

See yt-dlp > Hide Terminal


Monitor Mode

Different than yt-dlp Monitor Mode, ytarchive has a built in option to monitor YouTube channels. While GUI-DLP’s yt-dlp monitor mode can potentially work on a wider range of video sources, it is less reliable. If you want to monitor a YouTube channel, though, ytarchive Monitor Mode is highly recommended over yt-dlp. It must use a “/videos” or “/streams” tab, otherwise it will not work.


Help

See yt-dlp > help


Update

See yt-dlp > update

About

Python-based launcher for yt-dlp and ytarchive.

Resources

License

Stars

Watchers

Forks

Packages

No packages published