A simple GUI for yt-dlp. Download here
- Support various websites (as long as yt-dlp supports)
- Manually-tested sites: YouTube, Facebook, Reddit, TikTok, Twitter/X, Weibo, BiliBili, Soundcloud, Vimeo
- View the complete list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
- Fetch videos from playlist
- Note: YouTube playlist is automatically flattened, then you can remove or keep each video from the table
- Download the best format
- Download video-only or audio-only
- Embed thumbnail
- Concurrent downloading
- Continue downloading after interrupt
- Logging to file and console
- CJK font support
- Scripting support using Tengo (see below)
- Multiple setting profiles
- Download FFmpeg (including
ffmpeg
andffprobe
) - Download yt-dlp binary file
- Configure using GUI or via file
- Install FFmpeg: (including
ffmpeg
andffprobe
)
sudo apt install ffmpeg
- Locate FFmpeg binary file (e.g.
/usr/bin/ffmpeg
)
sudo dpkg -L ffmpeg
- Download yt-dlp binary file
- Configure using GUI or via file
- You can write Tengo script to control fetching request
- The script is loaded every time a batch of input is fetched. However, if it does not exist, the default handle is used
- The script is executed once for each request
- Input:
_input
denotes a line of input (space-stripped guaranteed) - Required output:
_action
and_url
_action = skip
: skip this request_action = override
: override the input with_url
, and continue with the default handle. Remember that the new input must be compatible to ytdlp_action = custom
: download the file from_url
using custom downloader (not Yt-dlp)- You must also specify
_filepath
denoting the target file (subdirectories are automatically created). Prefix the path with$DOWNLOAD_FOLDER/
to start at the download folder
- You must also specify
- other values: continue with the default handle
- Optional output:
_title
: title of the request (defaults to the input)
- All Tengo standard-library modules are enabled (including file and OS access)
- Additional modules (made by YTB-Downloader)
url
: URL utilities (View docs)
- Warning: Be careful when using the script, you must acknowledge what it does under the hood. Do not use script taken from untrusted sources.
- See script.tengo for an example
- The installation folder must contain the setting file, as such you can open the settings window, click on "Locate setting file" to open the explorer at the installation folder (Windows-only)
- Another approach is to open the info window, then find the path to the executable file (which must be inside the installation folder)
2. I got "ERROR: [WinError 32] The process cannot access the file because it is being used by another process:"
- This might happen when you download the video into the folder currently opening in the IDE. To resolve, pick a different download location.
- The problem happens when you install the app for all users (under
Program Files (x86)
). To resolve, enable running as administrator (see: https://i.imgur.com/ALTWIM4.png) - this is one-time process and typically does not need to do it again when manually updating the app - Alternatively, install the app for a specific user. The app will be installed to
C:\Users\User\AppData\Local\Programs\YTB Downloader
- You might be playing YouTube from the browser while downloading from the GUI both at the same time
- To build the program, first install Fyne:
go install fyne.io/fyne/v2/cmd/fyne@latest
- Build the program:
sudo ./build.sh