YouTube-dl's first release since June 2021
github.com
github.com
Now from the comments I've found out about yt-dlp[1] which claims to fix this issue[2]. Will check it out.
Little later I also discovered I could use `yt-dlp` together with the `aria2c` downloader and now I am never going below 15 MB/s when downloading.
~/.config/youtube-dl/config.yt-dlp:
--restrict-filenames
--output '%(title)s.%(ext)s'
--ignore-errors
--embed-subs
--all-subs
--format 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
--embed-thumbnail
--audio-quality 0
--add-metadata
--xattrs
--xattr-set-filesize
--prefer-free-formats
--geo-bypass
--no-mark-watched
--console-title
--no-warnings
--downloader aria2c
--downloader-args '-j 16 -s 16 -x 16 -k 1M'
Only the last 2 lines are pertinent here but I am including my entire config because it serves me very well.And my ~/.zshrc alias:
alias ytdl="yt-dlp --config-location ~/.config/youtube-dl/config.yt-dlp"https://github.com/yt-dlp/yt-dlp/commit/404f611f1c4aa516fbc4...
Of course this is easy to solve, but every layer of obfuscation they add generally requires someone to go and work around it in yt-dlp. It's mutually assured time waste on both sides.
I just learned an awesome new term. Thank you
youtube-dl.exe -f "bestvideo[height<=2160][vcodec!^=av01]+bestaudio/best[height<=2160][vcodec!^=av01]" --all-subs --convert-subs srt --embed-subs --external-downloader aria2c
Gets me the best quality that my (fully offline) LG 4K TV can play.
There is some tuning to be done based on your own personal preference as you can tune it to _only_ skip sponsors, but by default it skips a variety of fluff
- Engagement reminders - Canned Intros - Self promotion
They're all marked by other users of the extension and I've never come across a malicious marking, so it's got a neat community, sadly I'm never early enough to contribute.
In the likes of YouTube Vanced (third party YouTube fork with integrated sponsorblock on android) it's simply a player, I resume the youtube-dl alternative works the same way
Thinking of switching to yt-dlp, but then how does yt-dlp get around the throttling? Does it emulate a browser to make it look like a normal viewing of a video?
But I've seen somebody here in this thread mentioning that yt-dlp emulates the YouTube Android client.
Aren't you interested to find out? It sounds like it would be interesting to know how they did it.
Now its throttled like everytime. Will look into yt-dlp.
https://github.com/ytdl-org/youtube-dl/commit/21b759057502c6...
The bug still exists in yt-dlp. I run a local copy with my fix for those times when I need it.
The complaint is that it's come up repeatedly ('Not again. Use search') - agree it's a bit of a brush off, and it's not helpful for anybody (perhaps most of all the maintainers themselves!) that it doesn't link any of the others, or the one that was merged, or the first one with a better explanation for rejection, or whatever.
Something I would say though (that as above doesn't seem to be the issue, but who knows maybe it contributed) is that you could put a bit more time into the PR description & title. There's little human-readable (without following a link) information in the title. Your checked boxes are all broken (`[x ]` & `[ x]`) despite the instructions on how to do it (`[x]`) that you've left in (that also indicates a bad template in fairness, should be a comment (`<!--`) so only you see it, while editing). It's hard to read, separating your own description from the templated instructions.
You also didn't follow up on it in a way that seems like you're bothered, nor at all for several months. When you open a PR like this you're being helpful and fixing something yes, but you're also asking someone to maintain it for you going forward, and really you just proved that you wouldn't have anything further to do with it. Maybe if you'd followed up when it was closed asking for a link to where it had been addressed previously so that you could help test it ('since it is still not working for me with the latest released version or master @ deadb33f') it would have gone differently, perhaps the maintainer simply misunderstood what you were fixing, and would've reopened it.
The thing that threw me off was the "Not again. Use search before you implement anything" comment. Ok, so if it's a recurring issue why isn't it fixed? It's not a big fix.
This could mean screenshots - or sometimes something like a youtube video, or just logs of before and after.
Show visually the before and after, and try and write descriptive titles etc.
If it's github, then a PR (instead of just an issue).
Having said that, I don't always have the time.
There are also slightly more dark patterns, like if you are fixing something including "broken" in the description of the bug will grab more attention.
[EDIT]
As an example on this PR:
I would have written a title like:
"Don't fail on filenames over max length on Windows and Linux"
In the description, try and write the thing that is fixed first (you dive into the implementation) so that if someone only reads the first few lines they still know what's up.
Then dive into the implementation.
Imagine the person has very little attention span - maybe they are scanning the bugs while their small child is bugging them, you need the important info first, and you need to grab them (but don't go as far as click bait).
On a similar thing, use hyperlinks when you mention other bugs (e.g. you mention) #15024 - just make everything as little effort for them as possible.
Imagine you're the maintainer being asked to look into something. Would you rather have all of the information provided in as much detail as possible so that you could dive right in and fix it, or do a deep dive into something that may or may not even be a problem but something from a grumpy person on the internet?
Edit: Just to clear I love youtube-dl and use it all the time. I greatly appreciate all the work that went into it. I have no problem with the maintainers. I only posted my original comment because I want to contribute to open source now that I am retired and wondered what went wrong my first time. Now I know and I thank everyone who took the time to comment.
It's just silly and lacking perspective. Letting the bug sit in there while procrastinating on some larger project. Waiting for some ideal circumstance, but not acting to create it, so nothing happens. But, to do the "temporary fix," you have to admit you're not acting on your goal.
Fitting that the author would abandon the project, if they are making such intentions and not following through.
I love using automation for this. I'm often frustrated that people didn't bother searching, and I don't have enough time in the day to do the searching for them. I configure my repos so that I can just apply the "duplicate" label, and a bot will leave a polite and cheerful message thanking people and asking them to search next time to avoid duplicates.
It successfully fails to evoke my exact mental state at the moment and gives people the exact info and reasons for rejection they need, all without me having to lift a finger.
Or the error message could provide, in its output, a documented option to shorten the name (e.g. --truncate-filenames).
This seems a better use of automation than nuking user reports about the error.
Sometimes developers are volunteers, have too much to do, and they can get frustrated. Having good procedures is critical, like testing/CI, pre-commit with blake8 and such instead of asking to read a very long list of rules, using GitHub merge queue, involve previous contributors automatically, share the burden with others as much as possible, etc.
There's this pull request that works on fixing the problem (not merged yet), I don't know if it is yours under a different alias, but you can see the work and edge cases involved for something that a priori seems simple ("just truncate the name!" haha). Also the dude making the PR looks like an external contributor. It seems like normal polite open source interaction there to me, despite what could be perceived as a negative initial reaction. What might come across as dry or brushing off could be genuine concern at unforeseen consequences.
What I don’t understand is affected versions of youtube-dl/yt-dlp aborts download when the resultant filename just happens to be too long, and there’s no quick and easy way to temporarily work it. Ephemeral URLs could become stale before that is done.
youtube-dl -o "%(title).200s-%(id)s.%(ext)s"
I think the good ones that make this easy and fun are pretty rare, I definitely check the pull requests and bugs for any project before I consider contributing nowadays.
Personally I consider it a plus if my PR gets any feedback. They owe me nothing
Sounds like your PR would've been a nice merge tho, thanks for playing
This is an exception. Probably he is simply burned out.
Sometimes authors end up over-identifying with their software or processes, so to speak. Or regular bug reports hit harder for them on a given day.
I've never had that kind of thing happen myself, but years ago I participated in a FOSS project that was similar with feature patches. It was amazing to see the patches that came in, that didn't meet the maintainer standard, that would have been awesome (graphics software). The only people who got patches submitted were the ones who hung around, stayed active in the community, and maintained a long narrative about the changes the maintainer wanted to see. It was a really high bar.
But that's just one example...I had really good results lately with projects like Nim generously taking up and diving into bug reports from complete noobs like me.
use regedit to open HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
Set LongPathsEnabled to true
https://www.howtogeek.com/266621/how-to-make-windows-10-acce...
I think a project like this likely could benefit from the per-website code being maintained separately from the main codebase. This would allow for out-of-band hotfixes and have disjoint groups that are willing/can maintain each site. Of course this introduces other issues, namely versioning and cross-cutting refactors.
I've long since stopped using the tool and therefore lost both interest and knowledge about it to properly maintain it, but I've been reluctant to pass my rights on to someone else. It kind of breaches the mandate I feel I was given.
I'm at the point where I'dd b e happy to give the rights to someone if it would keep the project alive. However, I personally think it would be better if someone forks and renames the project. Mostly due to a lot of 3rd party packages being released many years ago which I assume would not be properly updated if the project were to become active again. The only one who can push a new version onto pip is the long inactive owner.
If someone wants to make a fork, I'dd merge any PR that updates the readme to a maintained fork.
https://github.com/ytdl-org/youtube-dl/commit/21b759057502c6...
I haven't found anything else related to this yet (i.e. who will be taking over, if anyone)
Something utilizing basic Unix tools, C or Perl would be perfect. I did find a simple Perl script [1], apparently written in 2020, but it didn't work for me out of the box, possibly due to some simple regex issue.
Edit: my browser cached the page so I didn't see the special version lol. Try a private window or https://web.archive.org/web/submit?url=https%3A%2F%2Fwww.jwz...
Many thanks!
Edit: I can confirm that this jwz's script works. Very handy for me. Thanks again!
The most frustrating thing is: my plugin still works fine. But I cannot easily enable it permanently any more. I can temporary load it. But my own Firefox doesn't allow me to trust myself permanently. Maybe I'd have to submit it for signing or use some special version of Firefox... can't be bothered. It feels so disempowering.
Hm, well I'm sure it's by a well-known and trustworthy author.
"The source for this add-on is at https://github.com/darktrojan/openwith."
Dark Trojan. Sounds legit.
youtube-dl --external-downloader=aria2c --external-downloader-args '--min-split-size=1M --max-connection-per-server=16 --max-concurrent-downloads=16 --split=16' xlvbT8dv5Gc
[1] https://aria2.github.io/yt-dlp uses a different method than youtube-dl (I believe it uses the API used by the Android app, instead of by the youtube.com website).
Clever.
Since mpv 0.34 it even looks for yt-dlp first, and fallback to youtube-dl otherwise. Before that you had to set an option, or just symlink youtube-dl to yt-dlp.
What option?
Symlinking either into ~/.config/mpv/ (or wherever your mpv config is) should also work.
On one hand I'm sad to see youtube-dl's demise. But its prompt replacement gives me hope for the strength of the community to overcome whatever challenges the IP industry might present.