GithubHelp home page GithubHelp logo

mrs0m30n3 / youtube-dl-gui Goto Github PK

View Code? Open in Web Editor NEW
9.2K 285.0 1.6K 2.27 MB

A cross platform front-end GUI of the popular youtube-dl written in wxPython.

License: The Unlicense

Shell 1.06% Python 98.62% Roff 0.32%
youtube-dl python wxpython gui cross-platform youtube-dlg downloader video video-downloader linux

youtube-dl-gui's People

Contributors

2e0pgs avatar arttse avatar cleitonme avatar daviewales avatar dnlsrl avatar dstftw avatar fat115 avatar fironet avatar fsmaxb avatar ikkebr avatar lgbaldoni avatar lsahn-gh avatar mi2-2 avatar mrs0m30n3 avatar nodiscc avatar pavreh avatar philipzae avatar pr0d1r2 avatar sebix avatar snosi avatar swyter avatar todool avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

youtube-dl-gui's Issues

Keep downloads history

Add a new tab where the user will be able to view information about his-her downloads.

Information could be:

  • url
  • filename (as stored on the server)
  • filename (local)
  • creation time
  • download conclusion time
  • size (user friendly)
  • download status (successfully, error, etc..)
  • more...

Feature suggested by Jozseph Grant [email protected]

Support for livestreamer as download backend

Is it doable to add livestreamer as a download tool?

Livestreamer is a command-line utility that pipes video streams from various services into a video player, such as VLC. The main purpose of Livestreamer is to allow the user to avoid buggy and CPU heavy flash plugins but still be able to enjoy various streamed content.

It supports online services not supported by youtube-dl (+50 sites, including twitch.tv ... ). Related to #17 because the tool is mainly for live streaming.

True portable mode for Windows

Thanks for making a portable version for Windows, I and other portable software users really appreciate it. Right now it's kind of semi portable, because settings, log files and youtube-dl are stored outside of program directory (appdata). Could you please make so that all the needed files are stored in one folder (program folder), thanks.

No sound when downloading DASH video

Currently there is no sound when downloading a DASH video using youtube-dl-gui.

youtube-dl-gui should automatically download the audio file when selecting a DASH video - youtube-dl can automatically merge the audio and the DASH video.

Example:
youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

This command downloads the 137 video format (mp4 DASH 1080p) and the 140 audio format (which means m4a audio@128k). Youtube-dl then joins the two automatically (if ffmpeg/libav exists on the system).

change name on the fly

itd be useful to me if i would be able to doubleclick the name of the currently downloading file and edit it according to my needs.
a feature like this or anything similar would be much appreciated - thank you

Unicode decode error

Comments from issue #39

rb07 commented 4 days ago

Another use case (already mentioned in the youtube-dl thread): any user with a foreign character in its user name results in an early exception (the user's home directory is used to create/store something at the start of the program, and it fails; same thing happens when the program tries to create a log of the exception inside the installed location, which doesn't have write permission for the user -- no UTF problem here, just write permission, which is easy to fix).

This is in Windows so its probably lack of UTF-16 support.

MrS0m30n3 commented 2 days ago

Hi @rb07

That seems like a completely different problem. The main problem with the issue 4787 on the youtube-dl repo is the python's subprocess module on versions prior to 3. I was not able to reproduce your problem neither with the raw python version or the py2exe (Windows executable) version using foreign characters in the username path. Can you run the portable version of youtube-dlg from your desktop and paste the output of the log here?

note
Youtube-dlg creates the log file in the initialization process (See: init.py:58) but i don't see a reason why this could fail if we use a config_path with foreign characters.

rb07 commented 2 days ago

You misunderstood the log issue, I said the problem is a permission problem, not a UTF problem (i.e. foreign characters are not involved, actually not even tested since the path is /Program Files/YoutubeDLG).

Back on topic, the foreign character issue happened with the Windows executable, version 0.3.7, the original (not from the portable version, from the installed version) log:

Traceback (most recent call last):
File "__main__.py", line 35, in <module>
File "youtube_dl_gui\__init__.pyc", line 52, in <module>
File "youtube_dl_gui\utils.pyc", line 93, in get_config_path
File "ntpath.pyc", line 84, in join
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position 8: ordinal not in range(128)

MrS0m30n3 commented a day ago

This was a completely different issue. Anyway, the problem was in the joining process as you can see in your log file, i just had to decode the imported value from the os.getenv function using the system preferred encoding. You should not longer face this issue as long as your system encoding can handle the foreign characters (See: def80ed for more details).

You can find the patched portable version here.
Can you give it a try an let me know if that worked?

rb07 commented 19 hours ago

Tested the patched portable version, same problem, see the log:

Traceback (most recent call last):
File "youtube-dl-gui", line 35, in <module>
File "youtube_dl_gui\__init__.pyc", line 54, in <module>
File "youtube_dl_gui\optionsmanager.pyc", line 51, in __init__
File "youtube_dl_gui\optionsmanager.pyc", line 201, in load_default
File "ntpath.pyc", line 310, in expanduser
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position 10: ordinal not in range(128)

Gui cannot download some files that youtube-dl can

Hello there,

I really like your software and find it very useful but I'm having problems to download some specific links, specifically from the platform this link comes from: http://www.mitele.es/programas-tv/este-hotel-es-un-desastre/temporada-1/programa-1/ . Using the command line interface from youtube-dl the files is download without problems but when I try to download it using your GUI, it got stuck in "Downloading" and doesn't show any speed, ETA, percent nor size. Actually I think that the files doesn't start to download. Apart from that when this happens, the button "STOP" doesn't work and can't close the program, I have to use the task manager to force close it.

I hope you can look into this.

Use Linux Distro's youtube-dl Script

Update button dumps a local copy of youtube-dl into app's local config. I'd rather have an option to use the Linux distro on-board version of youtube-dl, which can be checked with "which youtube-dl" in bash, don't know offhand the Python equiv.

Is there a version for Mac/OS?

Hello, sorry if this may be a stupid question, but I'm not very familiar with Mac. Somebody asked me if this software is also available for Mac, but all I can find is a deb-package, which is, I believe, meant for Linux. So could someone tell me if this programme has also been compiled for Mac or if there is an alternative version of it for Mac computers?

Many thanks!

Save keywords as well

Can we have the ability to save keywords (can be referred to as video tags) as well? They may be hidden on the page normally, but it's clearly visible in the source of the page.

Change number of simultaneous downloads

Hello there again,

Is there any way to increase the number of simultaneous downloads? At this moment the software only allows me to download 3 files at the same time. When the video provider is slow this is far from being reasonable as you use only a minimal part of the available bandwith.

So I was wondering if there is any way to increase it or if you plan to add this in the future...

Keep up the good work!

Feature request for an option to restart download if there are any errors

My ISP injects random data into SSL connections so as to crash them out and stop large downloads, though if I use while true; do youtube-dl something; done in bash, then eventually it peices together the full video. An option for re-requesting the entire download if there are any errors no matter what would make the program more usable for people with ISPs that do this.

Package youtube-dl-gui for Debian

It would be really nice to be able to install youtube-dl-gui through distributions package managers.
Packaging it for Debian may be a good first step, as it will also make it available for a large number of derivative distros.

I've filed a Request For Packaging at http://bugs.debian.org/753350

Leaving this as a reminder for myself. I need to get better at python packaging and will start working on this after the current code refactoring is done. Help is also welcome (if the packaging process can be documented in another debian-packaging branch, this would be helpful)

revise all options

When I try a youtube URL with default options I get this error:
youtube-dl.exe: error: no such option: --max-quality

version: youtube-dl-gui-0.3.8-win-portable

from the log:

[07/23/15 02:02:26] Usage: youtube-dl.exe [OPTIONS] URL [URL...]
[07/23/15 02:02:26] youtube-dl.exe: error: no such option: --max-quality

Programme stalls

Am I correct in assuming youtube-dl-gui is supposed to behave in exactly the same way as youtube-dl?

In that case I found an issue. Try downloading the following, with the flag "-f mp4", http://deredactie.be/permalink/1.2464764. It stalls halfway during the download. Seems to do so for all videos from that website. Downloading the same with youtube-dl from the command line works fine though.

Connection to a German IP

Why did Youtube-dlG try to connect to 95.143.172.170 the first time I opened it? The "Auto update" option is disabled by default in the options.

[Q] "Stream" button

Hi, how easy/hard is it to add a Stream button to GUI that passes the video/audio URL to a media player?

I use youtube-dl --get-url http://youtube.com/example | xargs mplayer or vlc in the shell, I imagine this is easy to add with a subprocess call. The part I don't get is how to add a new button that calls this on the first playlist item.

@MrS0m30n3 can you point me to the right part of the code? Thanks
Very nice tool

Youtube-dlg stops downloading queue when encountering blocked content

First of all, thanks for this awesome tool.

Sadly I encountered an issue when downloading playlists or channels:

ERROR: [...]: YouTube said: Unfortunately, this video is not available in your country because it could contain music, for which we could not agree on conditions of use with GEMA.

After this yt-dlg just halts and does not finish what's left in the queue.

This should be solvable by using youtube-dl's "-i" or "--ignore-errors".
I tired setting this up in the "Commands" section within the options, but it doesn't seem to work as I am still getting the Error and youtube-dlg refuses to download anything after it encountered said GEMA related error.

This is not about circumventing geo-blocking; I just want yt-dlg to continue downloading and skipping blocked videos to finish whats left in the queue.

Subprocess module unicode support

It doesn't work under Windows in case I pointed to Unicode names (whether folder name or video name). The log doesn't show any useful info I just get this:

[04/13/15 11:53:36] WARNING: There's no description to write.

You can test it using this Arabic video under DailyMotion (this bug occurs for YouTube too)
In case I pointed to Arabic folder name it failes to download. If I pointed to Latin folder name it download the file as following:

 Royal Secrets _      -1_12-   .mp4

While it should be as following:

 سلسلة عمليات إحتيال دولية -1/12- وصية السيدة العجوز.mp4

2015-04-13_12-03-56

Improved DASH audio options.

The 720p format currently uses a 192kbps audio track, higher than the existing DASH options. Running youtube-dl -f 137+22 http://www.... seems to keep the 1080p video and the 720p audio whilst removing the 720p video track.

Tray/notification icon with drag-n-drop?

A tray icon that supports drag n dropping URLs (eg. from your browser bar, link on web page...) on it for quick download would be nice. I found gtkStatusIcon for pyGTK.

nomnom had this but sadly it's abandoned and only compatible with clive/cclive download tools.

[suggestion] drop https://code.google.com/p/youtube-dlg/

Hi @MrS0m30n3 glad to see there's progress on the refactoring. This is just to let you know that you can use github Releases, and attach the windows binary to the github releases. This would be more comfortable than keeping the cooglecode project around, and hosting the releases on google drive..

I'd also be more comfortable downloading from github when I'm on a windows machine.

Let me know if I can be of any help.

external downloaders with youtube dl gui

Is it possible to properly configure an external downloader, such as aria2c with y-dl-gui? The same cl argument --external-downloader aria2c is functioning normally with the cl version. For instance, using the following arg in gui version: aria2c --external-downloader "download" is "completed" with status finished in main window. In this case, nothing is downloading. The same thing happens with following args:
--external-downloader aria2c
youtube-dl --external-downloader aria2c
youtube-dl-gui --external-downloader aria2c

0.3.6: wrong path for youtube-dl (permission issues)

youtube-dl-gui 0.3.6 tries to download youtube-dl in the folder where youtube-dl-gui is installed. But it doesn't have permissions to write to that folder under Linux, so that's not possible. Applications are installed as root but regular users run them, so youtube-dl can't be downloaded into the folder where the app was installed.

Please revert this change. Thanks!

Make icon not hardcoded

Since there are a lot of icon-themes (at least for *buntu), that cover a lot of different programs, including youtube-dlg, it would be cool to edit the youtube-dlg.desktop file and change the icon line to something like "Icon=youtube-dlg" instead of the hardcoded Icon=.../youtube-dlg.png

Thanks

Support use of git version of youtube-dl

youtube-dl usually releases rapidly. However, recently there's a long gap between releases. Is it possible to use the latest git version when 'update' is clicked? I've shortly examined how 'update' works. Seems we need at least a git library for python and a local installation of py2exe to achieve such a feature. With this feature, youtube-dl-gui can also use non-official forks (other than rg3's) as the backend. Any opinion?

DASH downloaded videos with Unicode titles/filenames not muxing

After downloading several videos in DASH with Japanese titles (such as this one in 480p) I began noticing that the program displayed an error next to the item after finishing. It had successfully downloaded the video and audio files, but not muxed them together.

I'm guessing it has to do with the Unicode filenames, as non-Unicode titles/filenames mux fine. In the meantime I could probably uncheck 'Title as Name' for such videos.

Opus support?

FFMPEG has an encoder for it, just needs to be listed in the audio format options.

Use XDG_CONFIG_HOME not HOME

Proper convention is "${XDG_CONFIG_HOME}/youtube-dl-gui" with no hidden-files dot on the subfolder. Usually it would be ~.config/youtube-dl-gui but the XDG folder can vary from the HOME folder.

Audio only YouTube Download?

Hello, love this GUI.

I was hoping there was a way to have YouTube links download as an MP3. I imagine there is a Command for this, but I haven't been able to figure it out (nor on the command line version).

Thanks in advance for any assistance.

Application icon not found

The application icon is displayed in the About dialog window.

On Linux, in some desktops (WM running without DE), XDG_DATA_DIRS is not defined and get_icon_path() in util.py cannot find the application icon to be displayed in the About dialog window.

Solution: add a fallback application icon in /usr/share/pixmaps.

(Reference: https://aur.archlinux.org/packages/youtube-dl-gui-git/)

Please add scheduling support

Please add scheduling support or some argument that automatically starts the download process.

I'd also like to not take up another ticket so I'd also like to see download validation support (where duplicate downloads are rejected without being downloaded) as soon as you are able.

Thanks.

Feature request for an option to remove videos from the URL list when they're completed

I have satellite internet which errors out a lot, youtube-dlg works fine most of the time. Sometimes I have to restart the entire download and it just goes through all of them, pre-processes three videos at a time, and says the finished videos are finished. That's what I want instead of it redownloading them, but there are also some videos that won't download in WEBM that it would be hard to fish the list and take out all URLs except for those. It'd be neat if there were an option in the options window to remove URLs from the URLs list when they're done downloading, so when I press the download button again to finish the ones that error out (or to switch to a different format), it won't pre-process the list all over again (and I won't have to fish URLs to only redownload non-WebM videos). And perhaps, an option for a secondary format for when an undownloadable-in-this-format error occurs.

Window can't be closed at times, settings not being remembered.

Using the 0.3.4 Windows binary after changing some options, returning to the main window and downloading a file, the program wouldn't close by pressing the close button. Had to end the task.

Opened the app and all the settings were reset, so changed them again. This time I could close the window and upon relaunch they were remembered. A few more setting changes and I was back to the same issue. Accidentally opened another instance of the app, which reset the options again.

Thought I'd report these two issues, in case they could be fixed. The GUI is great otherwise, and easy to use, working as expected in the few tests made.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.