From dbb48a21f57abea4e949f80e7d4c68eb15648687 Mon Sep 17 00:00:00 2001 From: DTrombett Date: Fri, 28 Mar 2025 17:23:09 +0100 Subject: [PATCH] [ie/EuroParlWebstream] Start fixing --- yt_dlp/extractor/europa.py | 58 +++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/yt_dlp/extractor/europa.py b/yt_dlp/extractor/europa.py index 48b7d89f0..35d7a085c 100644 --- a/yt_dlp/extractor/europa.py +++ b/yt_dlp/extractor/europa.py @@ -162,31 +162,43 @@ class EuroParlWebstreamIE(InfoExtractor): }] def _real_extract(self, url): - display_id = self._match_id(url) - webpage = self._download_webpage(url, display_id) + video_id = self._match_id(url) + webpage = self._download_webpage(url, video_id) + stream_info = self._search_nextjs_data(webpage, video_id)['props']['pageProps'] + status = traverse_obj(stream_info, ('media_item', 'mediaSubType')) + base = 'https://control.eup.glcloud.eu/content-manager/api/v1/socket.io/?EIO=4&transport=polling' + headers = {'referer': f'https://control.eup.glcloud.eu/content-manager/content-page/{video_id}'} + sid = self._download_socket_json(base, video_id, note='Opening socket', headers=headers)['sid'] + base += '&sid=' + sid + self._download_webpage(base, video_id, 'Polling socket with payload', data=b'40/content,', headers=headers) + self._download_webpage(base, video_id, 'Polling socket', headers=headers) + self._download_socket_json(base, video_id, 'Getting broadcast metadata from socket', headers=headers) - webpage_nextjs = self._search_nextjs_data(webpage, display_id)['props']['pageProps'] + # webpage = self._download_webpage(f'https://control.eup.glcloud.eu/content-manager/content-page/{video_id}', video_id) + # stream_info = self._search_json(r'