Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Tele5: Download fails, "Unable to extract video ID" #24553
Comments
|
The format of the video ID seems to have changed:
youtube-dl has the following regex in
I tried simply hacking the regex to allow arbitrary strings as ID, and also fixed the nexx extractor in the same way, but it seems it's not that simple This is the patch I tried: diff --git a/youtube_dl/extractor/nexx.py b/youtube_dl/extractor/nexx.py
index 586c1b7..3de4a84 100644
--- a/youtube_dl/extractor/nexx.py
+++ b/youtube_dl/extractor/nexx.py
@@ -24,7 +24,7 @@ class NexxIE(InfoExtractor):
nexx:(?:(?P<domain_id_s>\d+):)?|
https?://arc\.nexx\.cloud/api/video/
)
- (?P<id>\d+)
+ (?P<id>.+)
'''
_TESTS = [{
# movie
diff --git a/youtube_dl/extractor/tele5.py b/youtube_dl/extractor/tele5.py
index 33a7208..b4b1581 100644
--- a/youtube_dl/extractor/tele5.py
+++ b/youtube_dl/extractor/tele5.py
@@ -48,9 +48,9 @@ class Tele5IE(InfoExtractor):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
video_id = self._html_search_regex(
- (r'id\s*=\s*["\']video-player["\'][^>]+data-id\s*=\s*["\'](\d+)',
- r'\s+id\s*=\s*["\']player_(\d{6,})',
- r'\bdata-id\s*=\s*["\'](\d{6,})'), webpage, 'video id')
+ (r'id\s*=\s*["\']video-player["\'][^>]+data-id\s*=\s*["\']([^"]+)',
+ r'\s+id\s*=\s*["\']player_([^"]{6,})',
+ r'\bdata-id\s*=\s*["\']([^"]{6,})'), webpage, 'video id')
return self.url_result(
'https://api.nexx.cloud/v3/759/videos/byid/%s' % video_id, |
|
It looks like they are using JWplayer not NEXX, i'll have a look at it. |
|
Browser fetches this manifest. Download using this works with youtube-dl. Based on domain name it looks still to be nexx:
|
|
My bad I completely missed that, I've got a fix that works based on JWPlatformIE rather than the NexxIE as that seemed a more straight forward approach. |
|
@AndrewMBL : nevertheless it's correct that it's related to jwplayer, as it's first loading the nexx id from cdn.jwplayer.com JSON reply: |
|
FYI: For the given example URL, this code solves the problem:
... replacing the first few lines of _real_extract(): ...
(the new/changed code is marked with "# NEW:") |
|
@AndrewMBL your fix in https://github.com/AndrewMBL/youtube-dl/tree/patch-2 works perfectly, thanks! |
|
Maybe it makes sense to note somewhere, that this makes video-IDs from the --download-archive invalid? |
|
Hmm i think your approach is better where the Video ID is preserved. |
|
@martin54 this fix fails on playlist items but with a small change it works great and preserves the video ids.
|
|
@AndrewMBL your fix below works for me as well an different videos. Thanks. I worry this is just the beginning of a migration away from nexx, but the future will tell. |
|
Everything has advantages and disadvantages.
|
|
Hi Guys! At first, you're doing a great job!! |
|
Hi all, |
|
the patch worked for me |
|
|
@martin54 : thank you for trying to assist my command line: ./youtube-dl https://www.tele5.de/star-trek/raumschiff-voyager/ganze-folge/der-flugkoerper/ --verbose Here is the verbose log:
|
|
@seligmanns : Using the same patch, and up-to-date nexx.py, I got a different log. Esp. the URL is different: If removing all external tools from PATH, I got the same error as you. Therefore, it looks more like a "problem" in nexx.py or hlsnative (or missing tools), and not it tele5.py.
|
|
Unfortunately this fix isn't working any more for very new videos on Tele5 ca. since Thursday 16-APR, as they don't use the nexxx_id any more (entry is missing in the JSON from cdn.jwplayer.com). I changed the code to support both nexx (if available), and otherwise to fallback to native JWplayer support via url 'jwplatform:'. The modified full code of tele5.py is available here: The main logic looks like this:
Please note: The full code also supports playlists, therefore there're "more" differences to the master version. Also I didn't checked for coding style etc. . PS: that code isn't fully based on the latest master version, e.g. the test cases are outdated :-( As a very negative side effect of the switch to JWplayer, the nexx property "%%(alt_title)s" isn't available any more for filenames (which was the only reliable source for episode numbers). |
Checklist
Verbose log
Description
Tele5 changed something on their backend tonight. Yesterday I was able to download just fine, but today it just gives that error. This happens with all movies on https://www.tele5.de/filme/online/ as of today, even those that I was able to successfully download yesterday.
Note this is not a duplicate of #22810 as the error message is different so I thought it would be better to open a new issue instead of piggybacking on the old one.