yt-dlp: [Broken]twitcasting.tv

Checklist

  • I’m reporting a broken site support
  • I’ve verified that I’m running yt-dlp version 2021.04.03
  • I’ve checked that all provided URLs are alive and playable in a browser
  • 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

2021-04-06 23:20:14,226-DEBUG-Worker_1-[debug] Command-line config: ['--newline', '-i', '-o', 'D:\\Videos\\YT\\%(title)s.%(ext)s', '-v', '--ignore-config', '--hls-prefer-native', 'https://twitcasting.tv/ayari_blkliliy']
2021-04-06 23:20:14,226-DEBUG-Worker_1-[debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252
2021-04-06 23:20:14,226-DEBUG-Worker_1-[debug] yt-dlp version 2021.04.03 (exe)
2021-04-06 23:20:14,226-DEBUG-Worker_1-[debug] Python version 3.8.8 (CPython 64bit) - Windows-10-10.0.19041-SP0
2021-04-06 23:20:14,227-DEBUG-Worker_1-[debug] exe versions: ffmpeg 4.2.1
2021-04-06 23:20:14,227-DEBUG-Worker_1-[debug] Proxy map: {}
2021-04-06 23:20:14,227-DEBUG-Worker_1-WARNING: Falling back on generic information extractor.
2021-04-06 23:20:14,227-DEBUG-Worker_1-WARNING: Falling back on generic information extractor.
2021-04-06 23:20:14,227-DEBUG-Worker_1-ERROR: Unsupported URL: https://ssl.twitcasting.tv/ayari_blkliliy/twplayer?r3719
2021-04-06 23:20:14,227-DEBUG-Worker_1-Traceback (most recent call last):
2021-04-06 23:20:14,227-DEBUG-Worker_1-  File "yt_dlp\YoutubeDL.py", line 1026, in wrapper
2021-04-06 23:20:14,227-DEBUG-Worker_1-  File "yt_dlp\YoutubeDL.py", line 1047, in __extract_info
2021-04-06 23:20:14,227-DEBUG-Worker_1-  File "yt_dlp\extractor\common.py", line 558, in extract
2021-04-06 23:20:14,227-DEBUG-Worker_1-  File "yt_dlp\extractor\generic.py", line 3555, in _real_extract
2021-04-06 23:20:14,227-DEBUG-Worker_1-yt_dlp.utils.UnsupportedError: Unsupported URL: https://ssl.twitcasting.tv/ayari_blkliliy/twplayer?r3719
2021-04-06 23:20:14,227-DEBUG-Worker_1-Child process exited with non-zero code: 1


Description

Tried to download a live from twitcasting.tv but didn’t work. Also tried a vod from the same site with no luck.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Twitcasting live and channels are not supported. Only VOD is supported although even that is currently broken

I know how to fix the regex for the VOD, but the m3u8 download is still failing with a 502 and I’m not sure how to fix it

To get the video stream the site sends a GET request to https://ja.twitcasting.tv/streamserver.php?target=<uploader_id>&mode=client which responds with json containing the stream url. The stream seems to be using websockets (wss).

@colethedj This is only for livestreams. The vods are downloaded from an m3u8 that looks like https://dl01.twitcasting.tv/tc.vod/v/2357609-1617797211-1617826011-2c2689a5-18c7201000782cc6/fmp4/index.m3u8

@Spicadox fyi, this patch is in the new release

VODs have been fixed. No getting m3u8 or passing headers needed.

I did not encounter the rate-limiting issue @lauzi mentioned though

How I downloaded a vod:

The m3u8 502 issue was fixed by adding these 2 headers: --add-header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36" --add-header "Origin: https://twitcasting.tv".

However, some of the later video fragments (e.g. after the 50th or such) are not immediately available (502 errors), so you need to rate-limit the requests so that the server has enough time to prepare the fragments before you download them.

What I ended up doing was I called youtube-dl with --verbose, copied the ffmpeg command that youtube-dl ran, and manually ran it with -rt (realtime). It was (obviously) slow but all fragments were successfully downloaded.