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.
RTLXL.nl stopped working #4115
RTLXL.nl stopped working #4115
Comments
|
youtube-dl --verbose http://www.rtlxl.nl/#!/rtl-late-night-301978/14291f72-b3c2-33f3-8fa5-01cf48b31400[debug] System config: [] |
|
Strangely enough, that command wouldn't work at all on my mac's Bash shell - I believe it was picking up ! as an event of some sort. Running $ export E="!"
$ youtube-dl --verbose "http://www.rtlxl.nl/#$E/rtl-late-night-301978/14291f72-b3c2-33f3-8fa5-01cf48b31400"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'http://www.rtlxl.nl/#!/rtl-late-night-301978/14291f72-b3c2-33f3-8fa5-01cf48b31400']
[debug] Encodings: locale UTF-8, fs utf-8, out None, pref UTF-8
[debug] youtube-dl version 2014.11.02.1
[debug] Python version 2.7.8 - Darwin-13.4.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 2.4.2, ffprobe 2.4.2
[debug] Proxy map: {}
[rtlxl.nl] 14291f72-b3c2-33f3-8fa5-01cf48b31400: Downloading JSON metadata
[rtlxl.nl] 14291f72-b3c2-33f3-8fa5-01cf48b31400: Downloading f4m manifest
ERROR: Unable to download f4m manifest: HTTP Error 404: File or directory not found. (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 231, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1286, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)I'll look more into this later, but it seems to be that the extractor API has changed. |
|
I have changed the rtlxl.nl extractor to use m3u8 streams instead of f4m, so this issue should be fixed in the next release of youtube-dl. @iggyvolz, wow that's quite a trick you've pulled with the variable substitution! However, you could've just used single quotes instead of double quotes, as single quotes inhibit all interpretation of the string inside the quotes. |
|
I see you've chosen to go for the 'adaptive-json' (DRM variant). Why? ( info = self._download_json(
'http://www.rtl.nl/system/s4m/vfd/version=2/uuid=%s/fmt=flash/' % uuid,
uuid)
...
videopath = material['videopath'].replace('f4m','m3u8')
m3u8_url = 'http://manifest.us.rtl.nl' + videopath
formats = self._extract_m3u8_formats(m3u8_url, uuid, ext='mp4')
video_urlpart = videopath.split('/flash/')[1][:-4]Simply replace 'f4m' with 'm3u8' in "videopath" of the 'flash-json', and you have the 'non-DRM-manifest-playlist'. |
|
My motivation was to make it more robust, so I have tried to mimic the behavior of the flash player in the browser. If you can confirm that the method of simply replacing the |
|
I have just tested numerous videos and I can confirm this method works. |
|
Hi naglis, are you still going to make that change? If not, then at least change line 47 accordingly: video_urlpart = videopath.split('/adaptive/')[1][:-5] |
|
Hi @corone17, BTW, this got a little mixed with the original issue, feel free to open new issues for any problems/suggestions you might have in the future ;) |
|
Sorry to yet again comment here, but this still concerns this issue. Like I pointed out above, line 47 is still incorrect. From the JSON:
Then because
The extension is now 4 characters instead of 3 and therefore after video_urlpart = videopath.split('/flash/')[1][:-4]
PG_URL_TEMPLATE = 'http://pg.us.rtl.nl/rtlxl/network/%s/progressive/%s.mp4'
formats.extend([
{
'url': PG_URL_TEMPLATE % ('a2m', video_urlpart),
'format_id': 'pg-sd',
},
{
'url': PG_URL_TEMPLATE % ('a3m', video_urlpart),
'format_id': 'pg-hd',
'quality': 0,
}
])format
and has a period too many. Line 47 therefore has to be: video_urlpart = videopath.split('/adaptive/')[1][:-5] |
|
That was pretty sloppy of me. Thanks! Should be fixed in the next version of youtube-dl. |
|
Working fine now. Thanks, naglis. |
youtube-dl http://www.rtlxl.nl/#!/rtl-late-night-301978/14291f72-b3c2-33f3-8fa5-01cf48b31400
[rtlxl.nl] 14291f72-b3c2-33f3-8fa5-01cf48b31400: Downloading JSON metadata
[rtlxl.nl] 14291f72-b3c2-33f3-8fa5-01cf48b31400: Downloading f4m manifest
ERROR: Unable to download f4m manifest: HTTP Error 404: File or directory not found. (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Be sure
to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
I'm running the latest YT-DL version on Win7. Something probably changed on the RTLxl.nl site?
Thanx in advance for looking into this issue!