-
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
[extractor/niconicochannelplus] Add extractor #5686
Conversation
For VoD, live and list in channels on "Niconico Channel Plus" (Japanese: ニコニコチャンネルプラス). https://portal.nicochannel.jp/ Thanks to the following people who provided useful information: - lokilin, raised a request in issue 2537; - 雷兰濑 (railannad), raised a request in issue 4366 of streamlink/streamlink; - Trung0246, analyzed HTTP data in issue 4366 of streamlink/streamlink; - Lesmiscore, made cross-reference between the above two issues.
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.
LGTM Thanks!
They are covered by the core test suite |
Thanks, I've found " |
… "convert_to_vod_flg" are True The name of those fields is confusing.
I have a question. I didn't specify the "ext" when calling " yt-dlp/yt_dlp/extractor/common.py Lines 2139 to 2140 in c733555
And then use the "ext" in the selected format for further works (e.g., download): Lines 2751 to 2753 in c733555
My question is: should I call " Thank you in advance. |
I found that the "ext" field of "info_dict" is ignored. So... have I misunderstood the docs? It says "additionally, it must contain either a formats entry or a url one": yt-dlp/yt_dlp/extractor/common.py Lines 114 to 117 in c733555
yt-dlp/yt_dlp/extractor/common.py Lines 229 to 232 in c733555
Hmm, the "ext" field in the top layer of "info_dict" is only for "url" and useless for "formats", right? |
Yes
Does -F show correct ext without it? There was some situations where it does not - I don't remember exactly when |
@pukkandan , thanks for your reply.
I'm going to remove the wrong top-layer "ext".
Yes, "
OK. |
The "ext" field does not work with "formats" and will be ignored.
Hi, @pukkandan ! Thank you for your review. I've modified the code based on your suggestion. Please re-review it |
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.
Mostly just some nitpicks, though metadata extraction should be non-fatal
Some of the suggestions may require a merge from master
Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
… fatal Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
…and safely Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
Co-authored-by: bashonly <[email protected]>
Closes yt-dlp#2537 Authored by: pzhlkj6612
IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
Hello! This PR will fix #2537 .
Commit Message
For VoD, live and list in channels on "Niconico Channel Plus" (Japanese: ニコニコチャンネルプラス).
Thanks to the following people who provided useful information:
Added extractor arguments
niconicochannelplus:max_comments
Generated entries in "supportedsites.md"
Why Todo and Warning for DVR (Digital Video Recorder)
Code
Reason
I've read the TypeScript code of nicochannel.jp (thanks to source map), but still can't understand the meaning of the two fields "
allow_dvr_flg
" and "convert_to_vod_flg
". They are not always "True
" and DVR is not always working, so I guess there might be a connection between them.On nicochannel.jp, however, almost all ended live streams are finally converted to VoD, so it's not possible to test DVR at any time. Thus, I left a TODO there.
How to test DVR and help to finish this extractor
Let's generate a list of scheduled live streams.
Script for finding scheduled live events
Live streams in the upcoming two weeks:
Table of live events
After a live ends:
Passed Automatic Tests
Run of "pytest"
Well, how to test the "only_matching" test cases?
Tests in the real world
ペイトン尚未の「クリエイト倶楽部」 (https://nicochannel.jp/paytoncreate/lives)
Full log of test for "paytoncreate/lives"
内田秀のカフェでちょっとお話しませんか? (https://nicochannel.jp/uchi-cafe/videos?vodType=2&sort=-number_of_vod_views)
Full log of test for "uchi-cafe/videos?vodType=2&sort=-number_of_vod_views"
Template
Before submitting a pull request make sure you have:
In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:
What is the purpose of your pull request?