youtube-dl: Twitch live streams fail with Error 410: Gone

Checklist

  • I’m reporting a broken site support

  • I’ve verified that I’m running youtube-dl version 2020.05.29

  • I’ve checked that all provided URLs are alive and playable in a browser I have my browser configured to not play videos, but the videos are alive and the attached patch fixes playback of the videos.

  • I’ve checked that all URLs and arguments with special characters are properly quoted or escaped

  • I’ve searched the bugtracker for similar issues including closed ones

Verbose log

[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [‘–verbose’, ‘https://twitch.tv/brossentia’] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2020.05.29 [debug] Python version 3.8.3 (CPython) - Linux-5.6.9-x86_64-with-glibc2.29 [debug] exe versions: ffmpeg 4.2.2-1, ffprobe 4.2.2-1, rtmpdump 2.4 [debug] Proxy map: {} [twitch:stream] brossentia: Downloading stream JSON ERROR: Unable to download JSON metadata: HTTP Error 410: Gone (caused by <HTTPError 410: ‘Gone’>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. File “/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py”, line 627, in _request_webpage return self._downloader.urlopen(url_or_request) File “/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py”, line 2238, in urlopen return self._opener.open(req, timeout=self._socket_timeout) File “/usr/lib/python3.8/urllib/request.py”, line 531, in open response = meth(req, response) File “/usr/lib/python3.8/urllib/request.py”, line 640, in http_response response = self.parent.error( File “/usr/lib/python3.8/urllib/request.py”, line 569, in error return self._call_chain(*args) File “/usr/lib/python3.8/urllib/request.py”, line 502, in _call_chain result = func(*args) File “/usr/lib/python3.8/urllib/request.py”, line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp)

Description

Looks like twitch removed the stream lookup by user name from the (obsolete) kraken API. Getting it by numerical user-id still works, but requires an additional request. The following patch fixes the issue:

live-api.diff.txt

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 29
  • Comments: 19 (1 by maintainers)

Commits related to this issue

Most upvoted comments

This is another bug due to Twitch changes. #25531 has a patch.

Hello, I’ve tried the patch provided but does not seem to work on Manjaro with Python 3.8 : https://gist.github.com/seboss666/0acfb589ff601a47785aa1627771c431

The gist contains URL command in verbose mode for full details.

Lets hope this doean’t take a month to push a new release for this utterly breaks Twitch. Thanks @slaz. Thanks people. Great work.0

@Salz feel like turning that patch into a PR?

@rooseveltrp sure, copy the patch into /etc/portage/patches/net-misc/youtube-dl-2020.05.29/01-live-api.patch, and reinstall the package.

Awesome! Got it to work!

@rooseveltrp sure, copy the patch into /etc/portage/patches/net-misc/youtube-dl-2020.05.29/01-live-api.patch, and reinstall the package emerge -av1 -j1 net-misc/youtube-dl.