-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge youtube-dl and fix Youtube Feeds #245
Conversation
Consider this a work in progress. I really need to get some sleep right now. I will look at any failing tests tomorrow. I would really appreciate it if someone can test/review this |
ceea5f9
to
880d03d
Compare
Old Extractors left behind: VLivePlaylistIE YoutubeSearchURLIE YoutubeShowIE YoutubeFavouritesIE If removing old extractors, make corresponding changes in docs/supportedsites.md youtube_dlc/extractor/extractors.py Not merged: .github/ISSUE_TEMPLATE/1_broken_site.md .github/ISSUE_TEMPLATE/2_site_support_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md .github/ISSUE_TEMPLATE/4_bug_report.md .github/ISSUE_TEMPLATE/5_feature_request.md test/test_all_urls.py youtube_dlc/version.py Changelog
33dc60a
to
7146e2f
Compare
@kyuyeunk I see that you have some PRs open regarding vlive. So I assume you are familiar with its code. Can you have a look at youtube-dl's vlive extractor code and check how much of it we can/should merge |
Another thing that is worth noting before merging this is that the youtube extractor behaves differently now. Now it directly downloads the videos in the URL that is given to it instead of trying to interpret it as user/channel/playlist etc. For example, in older versions, if you tried to download I am not sure how to revert this to older behaviour or if it even should be reverted in the first place |
Making youtube direct URLs work without any false positives was much harder than I thought. For example, I ended up having to keep a record of the reserved names and perform a negative lookahead. If anyone has a better idea to fix this, you are welcome to try.
|
@blackjack4494 Please review and merge this when you have time |
I've compared the
All in all, Meanwhile, I will try to work on a code that is based on youtube_dl version that also supports new url type and make a pull request of it. This is mostly because of reasons stated in 2 and 3. Also, maintaining similarity between youtube_dl and youtube_dlc codebase could be important. |
@kyuyeunk I agree with you. While maintaining code similarity to youtube-dl is important, there is no need for us to do so at the cost of functionality. I will leave |
a8ee7f3
to
6063e73
Compare
6063e73
to
de6b9b9
Compare
I have added support for ytsubs, ythistory, ytrec. So all youtube extractors should be working correctly now.
|
62ac36a
to
a0566bb
Compare
0533d98
to
ef2f3c7
Compare
Sudden changes in behaviour here could be problematic for those of us who regularly crawl a large number of channels in the background, causing a lot of unwanted content from other channels to get downloaded instead. I think the change by itself might make sense - especially if it remains consistent with youtube-dl's behaviour going forward - but if you could print a deprecation warning for a few releases when an affected URL is provided before the change is made I'm sure it'll save quite a few headaches for all the archivers out there. |
@Zirro It is a change introduced by youtube-dl itself. I also prefer it the old way. It is easy enough to "fix" it by redirecting the channel home page to
Also, this will make dlc behave differently than dl, which in my opinion is not a good idea. Adding a warning is a good idea. I don't know how much actual practical value it has, but there is no harm in adding it. |
I think you may have misunderstood me - I'm fine with either behaviour as the default in the long run. My hesitation is about changing it right away without a prior warning/notice to users. If a temporary condition is added to retain the old behaviour (by appending |
Okay, sounds good to me. While testing this PR I found another issue that resulted in unexpected videos being downloaded, though it is more of an edge case. I had a few incorrect entries along the line of https://www.youtube.com/watch?list=UUXIkr0SRTnZO4_QpZozvCCA (where However, unlike most incorrect paths on the site which result in either a 404 or a YouTube-specific error, |
@Zirro Generally speaking, users shouldn't expect youtube-dl to handle redirects caused by invalid URLs correctly. But for this specific case, I have made a patch. It will issue a warning and then download the playlist. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
50/66
had some troubles with few extractors. sometimes vpn did the job. guess most of the time it's my connection dropping.
Yeah changing current behaviour out of the blue may raise issues. It's better to do some light transitioning over time.
right now i am the only maintainer. have already asked if some other people were interested. there were two people I had in mind a way back then. Will try to add 1-2 maintainer the following week if they are interested. Really tried to release an updated version this weekend but didn't make it due to be being more busy than I expected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
something is broken in viki extractor. related to subtitles. I guess some header is missing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even though I approve this now there are some (minor) issues with
googledrive
youtube
viki
vlive
but those can be fixed afterwards.
As for youtube downloading behaviour: What I thought of is a flag that will change to new/experimental downloading like youtube-dl behaves now. Later on this behaviour could become standard but it should be possible to switch back to old behaviour with another flag. @pukkandan tell me what you think. haven't digged deep into how you reverted to old behaviour. maybe it's as simple as to check a certain parameter to change behaviour. |
Could you elaborate on what the exact issues are? Then I could have a look; especially youtube - that's the extractor I'm most familiar with
I look at the provided URL and if it directly points to the channel page, append a I personally think |
@blackjack4494 I found a minor bug in my code and have pushed a commit to fix it. Should I make it a separate PR? |
@pukkandan p.s. sorry i'm late with the answer, the notification email went to the spam folder for some reason. |
@nixxo This PR has already been merged. Could you make a seperate PR with just the skyitalia extractor |
@pukkandan pr done. #270 |
…4494#245) Authored by: colethedj
This is my attempt at merging 'ytdl-org/youtube-dl/master' release
2020.11.192020.11.26 into youtube-dlcI have tried to resolve all conflicts by preferring youtube-dl's code when it doesn't sacrifice any functionality of dlc
Major changes needed to be made only to vlive, skyit and youtube extractors.
For vlive, youtube-dl no longer has aplaylist
extractor. I do not know why this is. So I have kept the playlist extractor from dlc while replacing the others.youtube-dl's vlive extractor does not support playlists or posts. I have reverted the changes to it. See #248 and related patchesSo for the timebeing, I am reverting any chages to it. Someone who's more familiar with vlive needs to take a look at thisEdit: youtube-dl has now added support for all url types. So now it can be completely merged
yt-dl added a skyit extractor. However, dlc already has one which seems to be implemented differently. So I am not merging it. It is probably best to handle it in a seperate PR like for vlive
For youtube,
Channel
,Playlists
andLive
extractors have been replaced by the newTab
extractor. youtube-dl no longer haveYoutubeSearchURLIE
,andYoutubeFavouritesIE
YoutubeShowIE
extractors. Also, all their feed extractors are broken.I have made the following changes from the youtube-dl's extractor:
:ytwatchlater
,:ytfav
youtube.com/AsapSCIENCE
- See 404 Not Found for channel URL without /c/ or /channel/ #186, [youtube] "youtube.com/name" can be a user or a channel #190However, it would be wise to rigorously review that section of the code again.I have tested it with both embeddable and non-embeddable age-restricted videos.Edit: yt-dl now has fixed the feed extractors. However, they only download one page while my implementation allows continuations. I have tried to use as much of the code from yt-dl without sacrificing any functionality
ShowIE is removed in youtube-dl. I am not sure whether youtube still has show URLs. I couldn't find any. So I kept it removed
Another thing to note is that youtube-dl's youtube extractor behaves differently than previous versions. Now it directly downloads the videos in the URL that is given to it instead of trying to interpret it as user/channel/playlist etc. For example, in older versions, if you tried to download
https://www.youtube.com/user/HBO
, you would get all the uploads by HBO. But now, it downloads the playlists in the home page ("Transhood TRANSlation Summit" and "New on HBO"). If you want to download the whole channel, you must give/videos
in the URL (https://www.youtube.com/user/HBO/videos
.I am not sure how to revert this to older behaviour or if it even should be reverted in the first place.Edit: This behaviour has been reverted for this PR. Related ytdl-org/youtube-dl#27099, ytdl-org/youtube-dl#27166, ytdl-org/youtube-dl#27186, ytdl-org/youtube-dl#27180
The following files were not merged:
Closes #200, Closes #216, Closes #230, Closes #233, Closes #186, Closes #172, Closes #247, Closes #256, Closes #226
Makes #190, #253, #249, #248, #227 obsolete