errorflynn / ytdlp-interface Goto Github PK
View Code? Open in Web Editor NEWWindows graphical interface for yt-dlp, designed as a simple YouTube downloader
License: MIT License
Windows graphical interface for yt-dlp, designed as a simple YouTube downloader
License: MIT License
something new started, just in the past week
if i try to start an ok.ru download, the interface closes.
i tried using an older version.
it didn't crash but it wouldn't download anything either.
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]
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:
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
Have you looked into this ? Though its already really, really good.
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:
Command with this options looks like: yt-dlp --external-downloader "aria2c" --external-downloader-args "-j 8" ...
Trying to download a video with for example é or korean/japanese characters, results in the program stuttering then crashing.
I would prefer if the app didn't check for updates. Can you make it optional (a checkbox or json setting)?
Hi this issue may have been addressed elsewhere but I cant seem to find any information on it.
Since the queue function was added in V1.6 I no longer seem to be able to use the --wait-for-video function in the custom arguments that I could use on older versions such as V1.5.1.
I now get the error "yt-dlp failed to get info" and can no longer use current versions to wait for videos that are scheduled to go live.
Ist there a way to download more than 1 video at a time?
Would it be possible to allow us to choice a starting timestamp and an ending timestamp so we can clip parts of videos down the the frame.
Hi, I noticed some issues when downloading a complete YT channel like
https://www.youtube.com/@solidbugs
Overall the application seems to work and download all videos for the channel.
But the following issues occurred while downloading:
Hopefuly you can reproduce the issues...
Hi, great GUI and thanks for providing it on scoop as well.
I am trying a few other GUIs and one thing I feel missing is being able to see what video and audio is selected by yt-dlp by default. In the queue table, is it possible to show extra data such as the video/audio format and size? Not sure if this data is available yet, or only when you actually start downloading.
My use case is that while I do prefer a certain default format, sometimes I change my mind based on seeing the format and sizes. For example, I might prefer default 4k video size, but if the file size is too big, I might settle for 1440p instead. Similarly I might prefer webm, but see that it's not available, I might just decide to not download it at all.
I think it'd be a lot more convenient this way instead of clicking select formats for each item. The only issue is whether it takes up too much column space if you're not fullscreened. Maybe an idea is to show an icon for the video and audio and when you hover over them it shows the text. Similarly this could be done for the website showing a favicon to save space?
Any thoughts on this? Thanks.
all the items in the queue are being downloaded at once even though I have set 'Max concurrent downloads' to 1
Please enable sponsor block support to download videos without sponsor sections
Hi !
Trying to downlaod a film on Arte leaves me with
ERROR: [ArteTV] 063571-000-A: Unable to download JSON metadata: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>);
I wasn't able to download a film with the program when I could some days ago. I attempted to download this one https://www.arte.tv/fr/videos/063571-000-A/la-loi-du-marche/ (it won't be available tomorrow so of course it'll give a 404 but until then it was available but yt-dlp can't dl it.
I don't know if I use the ticket tool correctly, it's my first time.
Thank you and have a nice day !
In 1.9.2 it was pretty obvious whether an audio or video format of an item is selected or not.
But in 2.0 this isn't as clear. The default formats have their own text color and background, giving the illusion of being selected. Well, it confused me for a moment.
A checkbox column on the left would surely clear this confusion. But maybe a different kind of highlighting could work too.
Congrats for the new version, its a pleasure to work with.
Just one thing sometimes I'm missing:
A resumable list of selected playlist items could be fine.
At the moment after having selected a number of items of a long playlist
and then (for whatever reasons) have to interrupt doing this
and shutdown ytdlp-interface,
this selection seems to be not documented and not resumable.
In ytdlp-interface.json the URL of the playlist is found,
but not the selection of items.
When resuming, therefore the entire playlist is downloaded,
if not having redone the whole selection process before.
In such cases a resumable list of selected playlist items could be very helpful.
Thank you very much.
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?
Hello,
I wanted to download a playlist, and because they were a lot of videos, i wanted to add an index at the beginning of the filename like this ;
-o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s"
But this doesn't work because there is already one "-o" for the destination folder. Is it possible to do something about it ?
Thank you for your works !
Bets regards
Thank you very much for the info!
So I could do some (a lot of ...) experimenting
and some questions occurred ...
Preface
Downloading e.g. this video https://www.youtube.com/watch?v=0jdJOo1i8Hk
was no problem with the default output template,
but failed for me using my (admittedly a little bit special) one.
[ Remark:
NB: In the following sometimes then '#'-character is used,
this only refers to numbered items in the download parameters,
it does not refer to any 'feature request: #n',
only I don't know how to de-highlight and de-link these ! ]
What makes things interesting:
In the command line window it is downloaded without any problem,
even with my possibly a bit unusual output template like
"C:\Users\av\Downloads\ErrorFlynn` - ytdlp-interface\yt-dlp.exe" -S "res:1080,vext:mp4,aext:m4a,fps" --trim-filenames 100 -P E:\YT -o "@ %(channel)s%(playlist_title& in: |)s%(playlist_title|)s%(playlist_index& #|)s%(playlist_index|)d '%(title)s%(alt_title& ~ |)s%(alt_title|)s' - %(upload_date>%Y-%m-%d)s %(location& |)s%(location|)s %(duration>%Hh%Mm%Ss )s%(resolution)s id=%(id)s.%(ext)s" https://www.youtube.com/watch?v=0jdJOo1i8Hk
the file was downloaded perfectly.
The same parameters put into ytdlp-interface
make the queue show:
Website: error_______Media title: yt-dlp failed to get info (see output)_______Status: error
Output:
GUI: yt-dlp is unable to process queue item #1 (output below) . . . . . . . [ concerning the '# 1' plz see the remark at the top ]
ERROR: Fixed output name but more than one file to download: @
[ Remark: The shown '@' is only the first character of the output template,
exchanging this by any other doesn't change the behaviour ... ,
possibly the elements of the output template are interpreted as URLs ? ]
After despite the error message clicking the 'Start download' button
ytdlp-interface starts working,
output shows now:
[GUI] executing command line: "C:\Users\av\Downloads\ErrorFlynn - ytdlp-interface\yt-dlp.exe" -S "res:1080,vext:mp4,aext:m4a,fps" --trim-filenames 100 -P E:\YT -o "@ %(channel)s%(playlist_title& in: |)s%(playlist_title|)s%(playlist_index& #|)s%(playlist_index|)d '%(title)s%(alt_title& ~ |)s%(alt_title|)s' - %(upload_date>%Y-%m-%d)s %(location& |)s%(location|)s %(duration>%Hh%Mm%Ss )s%(resolution)s id=%(id)s.%(ext)s" https://www.youtube.com/watch?v=0jdJOo1i8Hk
[ Remark: This seems to be exactly, what I had tested on the command line successfully ?
Do I miss something? ]
[ continued ... ]
Usage: yt-dlp.exe [OPTIONS] URL [URL...]
yt-dlp.exe: error: invalid after_move print to file filename "%(channel)s%(playlist_title&": incomplete format key
Usage: yt-dlp.exe [OPTIONS] URL [URL...]
yt-dlp.exe: error: invalid after_move print to file filename "%(channel)s%(playlist_title&": incomplete format key
[GUI] yt-dlp.exe process has exited
and queuing shows:
Website: error_______Media title: yt-dlp failed to get info (see output)_______Status: done
subsequently in ytdlp-interface.json
"unfinished_queue_items": [],
But no file has been downloaded.
And, maybe even more interesting:
With exactly the same parameters in ytdlp-interface left unchanged, but
using the playlist-URL
https://www.youtube.com/playlist?list=PLrlXp3PlwgRI5OLvm3P91LJr1CYnO5TRD
and selecting in the playlist item #12, . . . . . . . [ concerning the '# 12' plz see the remark at the top ]
everything works fine!
Output:
[GUI] executing command line: "C:\Users\av\Downloads\ErrorFlynn - ytdlp-interface\yt-dlp.exe" -S "res:1080,vext:mp4,aext:m4a,fps" --trim-filenames 100 -P E:\YT -o "@ %(channel)s%(playlist_title& in: |)s%(playlist_title|)s%(playlist_index& #|)s%(playlist_index|)d '%(title)s%(alt_title& ~ |)s%(alt_title|)s' - %(upload_date>%Y-%m-%d)s %(location& |)s%(location|)s %(duration>%Hh%Mm%Ss )s%(resolution)s id=%(id)s.%(ext)s" -I 12 --compat-options no-youtube-unavailable-videos https://www.youtube.com/playlist?list=PLrlXp3PlwgRI5OLvm3P91LJr1CYnO5TRD
[youtube:tab] Extracting URL: https://www.youtube.com/playlist?list=PLrlXp3PlwgRI5OLvm3P91LJr1CYnO5TRD
[youtube:tab] PLrlXp3PlwgRI5OLvm3P91LJr1CYnO5TRD: Downloading webpage
[download] Downloading playlist: All Episodes - 2-Stroke Carburetor Learning
[youtube:tab] Playlist All Episodes - 2-Stroke Carburetor Learning: Downloading 1 items of 60
[download] Downloading item 1 of 1
[youtube] Extracting URL: https://www.youtube.com/watch?v=0jdJOo1i8Hk
[youtube] 0jdJOo1i8Hk: Downloading webpage
[youtube] 0jdJOo1i8Hk: Downloading android player API JSON
[youtube] 0jdJOo1i8Hk: Downloading MPD manifest
[info] 0jdJOo1i8Hk: Downloading 1 format(s): 135-dash+140
[dashsegments] Total fragments: 15
[download] Destination: E:\YT@ TheRepairSpecialist in All Episodes - 2-Stroke Carburetor Learning #12 'Episode 12 Two-Stroke .' - 2016-10-09 00h01m16s 640x480 id=0jdJOo1i8Hk.f135-dash.mp4
[dashsegments] Total fragments: 1
[download] Destination: E:\YT@ TheRepairSpecialist in All Episodes - 2-Stroke Carburetor Learning #12 'Episode 12 Two-Stroke .' - 2016-10-09 00h01m16s 640x480 id=0jdJOo1i8Hk.f140.m4a
[Merger] Merging formats into "E:\YT@ TheRepairSpecialist in All Episodes - 2-Stroke Carburetor Learning #12 'Episode 12 Two-Stroke .' - 2016-10-09 00h01m16s 640x480 id=0jdJOo1i8Hk.mp4"
Deleting original file E:\YT@ TheRepairSpecialist in All Episodes - 2-Stroke Carburetor Learning #12 'Episode 12 Two-Stroke .' - 2016-10-09 00h01m16s 640x480 id=0jdJOo1i8Hk.f140.m4a (pass -k to keep)
Deleting original file E:\YT@ TheRepairSpecialist in All Episodes - 2-Stroke Carburetor Learning #12 'Episode 12 Two-Stroke .' - 2016-10-09 00h01m16s 640x480 id=0jdJOo1i8Hk.f135-dash.mp4 (pass -k to keep)
[download] Finished downloading playlist: All Episodes - 2-Stroke Carburetor Learning
[GUI] yt-dlp.exe process has exited
Queue:
Website: youtube.com_______Media title: [playlist] All Episodes - 2-Stroke Carburetor learning_______Status: done
File downloaded perfectly.
Probably I made some mistake, but have no idea, which one(s) ...
What can I do to make it work on the single URL as perfectly as on the playlist URL item # 12,
using my output template ?
One more issue I wold like to report.
Every time I run the program, I have to choose the folder for downloading a file. Would it be possible to keep that path for the next time and make drop-down list? No need to use registry, it could be as simple as open a text file with downloading folders history with at least one folder path in it.
However, I would probably make some round number, like 8 or 16 paths :-)
Thanks.
Version 1.5.1 of the release cannot resolve the video after updating ffmpeg and yt-dlp. After clicking format selection, the software automatically exits, it may crash.
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......
It looks like no matter what custom arguments I use, I mean no matter what -o name
is manually set as a custom argument, your app will ignore any custom output set in favor of default %(title)s.%(ext)s
.
Can you make ytdlp-interface ignore the default output name if there's a custom argument set for the output name? 🤔
I was downloading a playlist of Youtube videos and there were a couple of small annoyances.
The pasted playlist link was not extracted to a list of individual items on the queue. It would be useful if it did that (maybe with a collapsible UI), also to have the ability to select the desired A/V formats for individual items (see point 2).
After adding each video separately, I had to click "Select formats" and then "Use the selected format(s)" for each item, because it always defaulted to "Let yt-dlp choose the best formats".
The formats that I selected for the previous video were remembered for the next one, but they were not used. Maybe a setting to make "selected formats" the default would solve this.
Oh and thank you for making this. It's a nice app.
Hello,
In ytdlp-interface 1.6.2 whatever I try to download I get:
Usage: yt-dlp.exe [OPTIONS] URL [URL...]
yt-dlp.exe: error: You must provide at least one URL.
Type yt-dlp --help to see a list of all options.
Usage: yt-dlp.exe [OPTIONS] URL [URL...]
yt-dlp.exe: error: You must provide at least one URL.
Type yt-dlp --help to see a list of all options.
[GUI] yt-dlp.exe process has exited
Example command line in output:
[GUI] executing command line: "C:\UT\Apps\ytdlp-interface\yt-dlp.exe" -S "res:1080,vext:mp4,aext:m4a,fps" --windows-filenames --no-mtime -P "D:\" -o %(title)s.%(ext)s https://www.youtube.com/watch?v=S1t_8iRFVs4
Am I doing something wrong? In 1.5.1 it was working just fine.
It is a feature request!
If possible please add the option to give index to the playlist video.
the latest v1.9, will close itself automaticlly after 2 seconds from openning it, in Windows 10 22H2.
Originally posted by altadr March 28, 2023
(How) Can Output-Window content be printed to logfile.txt for debugging purposes?
By using a custom argument?
Any help appreciated,
thank you very much
As of current, the program does not have any visible check for the "--add-metadata" command argument, and thus has to be manually added for all links in the download queue through the "Each item in the queue has its own download options" check and then inserting the argument in the Custom arguments space. Adding the option would be a good Quality of Life feature to remove unnecessary work that can be automated
After downloading a video I often like to watch (open) the file/folder.
Please add such commands in the right mouse context menu.
Program has problems with DASH Video. Doesn't download Video and Audio.
Please add the command for Ffmpeg in the program. Example:
yt-dlp --downloader ffmpeg "https://sdt-epix13-44.tvp.pl/token/video/vod/69057678/20230411/3000535500/44546e57-2f23-4742-af8e-74c4d40feb89/video.ism/video-fmp4.m3u8"
I'm trying to download 8k video which seemed to work in the previous version. In the latest version I haven't been able to get it working, I have -f bv+ba in my custom arguments, also tried manually selecting the 8k format.
EDIT:
Nevermind, I got it working. To download 8k, I actually need to remove the custom arguments. Then manually selecting 8k works, but I usually download with the metadata as well.
So to get it working with metadata I download the 8k without any custom arguments, then trigger the download again with the metadata argument (it doesn't redownload the video and just appends the metadata).
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 :
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 :)
please save and restore the window position when closing and re-starting the app.
atm, the window is always started centered.
GUI: yt-dlp is unable to process queue item #1 (output below)
Usage: yt-dlp.exe [OPTIONS] URL [URL...]
yt-dlp.exe: error: You must provide at least one URL.
Type yt-dlp --help to see a list of all options.
I can download the videos but I can't choose video and audio streams due to this error
First of all, thanks for your program for lazy downloaders 👍
Some videos on Youtube have a bunch of downloadable video and audio tracks.
This one, for example: https://www.youtube.com/watch?v=1La4QzGeaaQ&t=34s&ab_channel=Jacob%2BKatieSchwarz
By default when you choose desired resolution the program downloads the video track with maxumum bitrate for that resolution and audio with the maximal bitrate. And automatically packs those tracks to one MKV container. However, if I want another videotrack from the list (particullary for this video - 4k with no HDR), it does not download audio track for me and, therefore, does not pack them in into a conainer.
I'm pretty sure it can be done form CLI :), but would like to do it just by choosing custom set of tracks.
Would it be possible to do?
Thanks.
https://www.youtube.com/watch?v=nJ6tidrzxqM
Gets added to the queue, but soon crashed when trying to get metadata.
Calling yt-dlp from the command-line works with no issues.
Windows 10 64 bit, latest versions of everything.
Please, use shared FFmpeg builds. Instead of 2 files 100 MB each (200 MB total), you may reduce unpacked FFmpeg size to 100 MB.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.