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
[nebula] change to new API URL, fix up tests #7156
Conversation
Tested this patch applied on top of latest stable (2023.03.04), Python 3.10, NixOS. Confirmed that nebula.tv downloads work again. |
It looks like the {
"id": "video_episode:e389af9d-1dab-44f2-8788-ee24deb7ff0d",
"type": "video_episode",
"slug": "tldrnewseu-did-the-us-really-blow-up-the-nordstream-pipelines",
"title": "Did the US Really Blow Up the NordStream Pipelines?",
"zype_id": "63f64c74366fcd00017c1513"
} We could try to (non-fatally) extract '_old_archive_ids': [make_archive_id(NebulaIE, zype_id)], |
* fix up tests * keep zype_id as archive ID if it exists Original Patch by @Lamieur on issue yt-dlp#7017
@bashonly Like that? |
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.
please avoid force-pushing in the future
Hmm okay, different projects seem to have different workflows in that regard. But thanks for fixing the issues, @bashonly! |
Tested out the PR and it appears that downloading just the audio is buggy. Following command:
Will download the audio fine, but it will keep it named as Not sure if this is out of scope, just wanted to mention it. I can create a new issue if desired. |
@matejdro the master m3u8 for that video does not have any codec information for the audio track, and there is no default extension set in the arguments for I think this is the best we could do, which will result in an .mp4 download instead of .m3u8: def _fetch_video_formats(self, slug):
stream_info = self._call_nebula_api(f'https://content.api.nebula.app/video/{slug}/stream/',
video_id=slug,
auth_type='bearer',
note='Fetching video stream info')
manifest_url = stream_info['manifest']
- return self._extract_m3u8_formats_and_subtitles(manifest_url, slug)
+ return self._extract_m3u8_formats_and_subtitles(manifest_url, slug, 'mp4') |
Closes yt-dlp#7017 Authored by: Lamieur, rohieb Co-authored-by: Lam <github@Lam.pl>
Fixes #7017
Nebula changed to a new API URL. Original patch was by @Lamieur on issue #7017, I've fixed up the tests, however I'm still getting errors that I cannot explain, because the .mp4 I'm getting when calling yt-dlp on the URL has a reasonable size and plays just fine.
(Redacted some of the URLs because Nebula needs a username and password.)
Description of your pull request and other information
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 all of the following options that apply:
What is the purpose of your pull request?
Copilot Summary
🤖 Generated by Copilot at 36ce55c
Summary
🌐🔢📚
Update the Nebula extractor to support the latest API and content changes. Fix the test cases for
nebula.py
.Walkthrough
content.api.nebula.app
(link, link)id
field instead ofzype_id
field for video ID (link, link, link, link, link)