1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-06-22 23:46:50 +02:00

[twitcasting] Fix extraction (#2788)

Authored by: Lesmiscore
This commit is contained in:
Lesmiscore (Naoya Ozaki) 2022-02-15 23:30:11 +09:00 committed by GitHub
parent 812283199a
commit df635a09a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,9 +86,14 @@ def _real_extract(self, url):
request_data = urlencode_postdata({
'password': video_password,
}, encoding='utf-8')
webpage = self._download_webpage(
webpage, urlh = self._download_webpage_handle(
url, video_id, data=request_data,
headers={'Origin': 'https://twitcasting.tv'})
if urlh.geturl() != url and request_data:
webpage = self._download_webpage(
urlh.geturl(), video_id, data=request_data,
headers={'Origin': 'https://twitcasting.tv'},
note='Retrying authentication')
title = (clean_html(get_element_by_id('movietitle', webpage))
or self._html_search_meta(['og:title', 'twitter:title'], webpage, fatal=True))
@ -149,11 +154,12 @@ def find_dmu(x):
m3u8_url, video_id, ext='mp4', m3u8_id='hls',
live=True, headers=self._M3U8_HEADERS)
formats.extend(self._extract_m3u8_formats(
m3u8_url, video_id, ext='mp4', m3u8_id='source',
live=True, query={'mode': 'source'},
note='Downloading source quality m3u8',
headers=self._M3U8_HEADERS, fatal=False))
if traverse_obj(stream_server_data, ('hls', 'source')):
formats.extend(self._extract_m3u8_formats(
m3u8_url, video_id, ext='mp4', m3u8_id='source',
live=True, query={'mode': 'source'},
note='Downloading source quality m3u8',
headers=self._M3U8_HEADERS, fatal=False))
if has_websockets:
qq = qualities(['base', 'mobilesource', 'main'])
@ -164,11 +170,12 @@ def find_dmu(x):
'format_id': 'ws-%s' % mode,
'ext': 'mp4',
'quality': qq(mode),
'source_preference': -10,
# TwitCasting simply sends moof atom directly over WS
'protocol': 'websocket_frag',
})
self._sort_formats(formats)
self._sort_formats(formats, ('source',))
infodict = {
'formats': formats