Skip to content

Commit 30302df

Browse files
[ie/sportdeuschland] Support embedded player URLs (#13833)
Closes #13766 Authored by: InvalidUsernameException
1 parent 3e609b2 commit 30302df

File tree

1 file changed

+59
-59
lines changed

1 file changed

+59
-59
lines changed

yt_dlp/extractor/sportdeutschland.py

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,86 @@
88

99

1010
class SportDeutschlandIE(InfoExtractor):
11-
_VALID_URL = r'https?://sportdeutschland\.tv/(?P<id>(?:[^/]+/)?[^?#/&]+)'
11+
_VALID_URL = r'https?://(?:player\.)?sportdeutschland\.tv/(?P<id>(?:[^/?#]+/)?[^?#/&]+)'
1212
_TESTS = [{
13-
'url': 'https://sportdeutschland.tv/blauweissbuchholztanzsport/buchholzer-formationswochenende-2023-samstag-1-bundesliga-landesliga',
13+
# Single-part video, direct link
14+
'url': 'https://sportdeutschland.tv/rostock-griffins/gfl2-rostock-griffins-vs-elmshorn-fighting-pirates',
15+
'md5': '35c11a19395c938cdd076b93bda54cde',
1416
'info_dict': {
15-
'id': '9839a5c7-0dbb-48a8-ab63-3b408adc7b54',
17+
'id': '9f27a97d-1544-4d0b-aa03-48d92d17a03a',
1618
'ext': 'mp4',
17-
'title': 'Buchholzer Formationswochenende 2023 - Samstag - 1. Bundesliga / Landesliga',
18-
'display_id': 'blauweissbuchholztanzsport/buchholzer-formationswochenende-2023-samstag-1-bundesliga-landesliga',
19-
'description': 'md5:a288c794a5ee69e200d8f12982f81a87',
19+
'title': 'GFL2: Rostock Griffins vs. Elmshorn Fighting Pirates',
20+
'display_id': 'rostock-griffins/gfl2-rostock-griffins-vs-elmshorn-fighting-pirates',
21+
'channel': 'Rostock Griffins',
22+
'channel_url': 'https://sportdeutschland.tv/rostock-griffins',
2023
'live_status': 'was_live',
21-
'channel': 'Blau-Weiss Buchholz Tanzsport',
22-
'channel_url': 'https://sportdeutschland.tv/blauweissbuchholztanzsport',
23-
'channel_id': '93ec33c9-48be-43b6-b404-e016b64fdfa3',
24-
'duration': 32447,
25-
'upload_date': '20230114',
26-
'timestamp': 1673733618,
24+
'description': 'md5:60cb00067e55dafa27b0933a43d72862',
25+
'channel_id': '9635f21c-3f67-4584-9ce4-796e9a47276b',
26+
'timestamp': 1749913117,
27+
'upload_date': '20250614',
28+
'duration': 12287.0,
2729
},
28-
'skip': 'not found',
2930
}, {
30-
'url': 'https://sportdeutschland.tv/deutscherbadmintonverband/bwf-tour-1-runde-feld-1-yonex-gainward-german-open-2022-0',
31+
# Single-part video, embedded player link
32+
'url': 'https://player.sportdeutschland.tv/9e9619c4-7d77-43c4-926d-49fb57dc06dc',
3133
'info_dict': {
32-
'id': '95c80c52-6b9a-4ae9-9197-984145adfced',
34+
'id': '9f27a97d-1544-4d0b-aa03-48d92d17a03a',
3335
'ext': 'mp4',
34-
'title': 'BWF Tour: 1. Runde Feld 1 - YONEX GAINWARD German Open 2022',
35-
'display_id': 'deutscherbadmintonverband/bwf-tour-1-runde-feld-1-yonex-gainward-german-open-2022-0',
36-
'description': 'md5:2afb5996ceb9ac0b2ac81f563d3a883e',
36+
'title': 'GFL2: Rostock Griffins vs. Elmshorn Fighting Pirates',
37+
'display_id': '9e9619c4-7d77-43c4-926d-49fb57dc06dc',
38+
'channel': 'Rostock Griffins',
39+
'channel_url': 'https://sportdeutschland.tv/rostock-griffins',
3740
'live_status': 'was_live',
38-
'channel': 'Deutscher Badminton Verband',
39-
'channel_url': 'https://sportdeutschland.tv/deutscherbadmintonverband',
40-
'channel_id': '93ca5866-2551-49fc-8424-6db35af58920',
41-
'duration': 41097,
42-
'upload_date': '20220309',
43-
'timestamp': 1646860727.0,
41+
'description': 'md5:60cb00067e55dafa27b0933a43d72862',
42+
'channel_id': '9635f21c-3f67-4584-9ce4-796e9a47276b',
43+
'timestamp': 1749913117,
44+
'upload_date': '20250614',
45+
'duration': 12287.0,
4446
},
45-
'skip': 'not found',
47+
'params': {'skip_download': True},
4648
}, {
47-
'url': 'https://sportdeutschland.tv/ggcbremen/formationswochenende-latein-2023',
49+
# Multi-part video
50+
'url': 'https://sportdeutschland.tv/rhine-ruhr-2025-fisu-world-university-games/volleyball-w-japan-vs-brasilien-halbfinale-2',
4851
'info_dict': {
49-
'id': '9889785e-55b0-4d97-a72a-ce9a9f157cce',
50-
'title': 'Formationswochenende Latein 2023 - Samstag',
51-
'display_id': 'ggcbremen/formationswochenende-latein-2023',
52-
'description': 'md5:6e4060d40ff6a8f8eeb471b51a8f08b2',
52+
'id': '9f63d737-2444-4e3a-a1ea-840df73fd481',
53+
'display_id': 'rhine-ruhr-2025-fisu-world-university-games/volleyball-w-japan-vs-brasilien-halbfinale-2',
54+
'title': 'Volleyball w: Japan vs. Braslien - Halbfinale 2',
55+
'description': 'md5:0a17da15e48a687e6019639c3452572b',
56+
'channel': 'Rhine-Ruhr 2025 FISU World University Games',
57+
'channel_id': '9f5216be-a49d-470b-9a30-4fe9df993334',
58+
'channel_url': 'https://sportdeutschland.tv/rhine-ruhr-2025-fisu-world-university-games',
5359
'live_status': 'was_live',
54-
'channel': 'Grün-Gold-Club Bremen e.V.',
55-
'channel_id': '9888f04e-bb46-4c7f-be47-df960a4167bb',
56-
'channel_url': 'https://sportdeutschland.tv/ggcbremen',
5760
},
58-
'playlist_count': 3,
61+
'playlist_count': 2,
5962
'playlist': [{
6063
'info_dict': {
61-
'id': '988e1fea-9d44-4fab-8c72-3085fb667547',
64+
'id': '9f725a94-d43e-40ff-859d-13da3081bb04',
6265
'ext': 'mp4',
63-
'channel_url': 'https://sportdeutschland.tv/ggcbremen',
64-
'channel_id': '9888f04e-bb46-4c7f-be47-df960a4167bb',
65-
'channel': 'Grün-Gold-Club Bremen e.V.',
66-
'duration': 86,
67-
'title': 'Formationswochenende Latein 2023 - Samstag Part 1',
68-
'upload_date': '20230225',
69-
'timestamp': 1677349909,
66+
'title': 'Volleyball w: Japan vs. Braslien - Halbfinale 2 Part 1',
67+
'channel': 'Rhine-Ruhr 2025 FISU World University Games',
68+
'channel_id': '9f5216be-a49d-470b-9a30-4fe9df993334',
69+
'channel_url': 'https://sportdeutschland.tv/rhine-ruhr-2025-fisu-world-university-games',
70+
'duration': 14773.0,
71+
'timestamp': 1753085197,
72+
'upload_date': '20250721',
73+
'live_status': 'was_live',
74+
},
75+
}, {
76+
'info_dict': {
77+
'id': '9f725a94-370e-4477-89ac-1751098e3217',
78+
'ext': 'mp4',
79+
'title': 'Volleyball w: Japan vs. Braslien - Halbfinale 2 Part 2',
80+
'channel': 'Rhine-Ruhr 2025 FISU World University Games',
81+
'channel_id': '9f5216be-a49d-470b-9a30-4fe9df993334',
82+
'channel_url': 'https://sportdeutschland.tv/rhine-ruhr-2025-fisu-world-university-games',
83+
'duration': 14773.0,
84+
'timestamp': 1753128421,
85+
'upload_date': '20250721',
7086
'live_status': 'was_live',
7187
},
7288
}],
73-
'skip': 'not found',
7489
}, {
90+
# Livestream
7591
'url': 'https://sportdeutschland.tv/dtb/gymnastik-international-tag-1',
7692
'info_dict': {
7793
'id': '95d71b8a-370a-4b87-ad16-94680da18528',
@@ -85,22 +101,6 @@ class SportDeutschlandIE(InfoExtractor):
85101
'live_status': 'is_live',
86102
},
87103
'skip': 'live',
88-
}, {
89-
'url': 'https://sportdeutschland.tv/rostock-griffins/gfl2-rostock-griffins-vs-elmshorn-fighting-pirates',
90-
'md5': '35c11a19395c938cdd076b93bda54cde',
91-
'info_dict': {
92-
'id': '9f27a97d-1544-4d0b-aa03-48d92d17a03a',
93-
'ext': 'mp4',
94-
'title': 'GFL2: Rostock Griffins vs. Elmshorn Fighting Pirates',
95-
'display_id': 'rostock-griffins/gfl2-rostock-griffins-vs-elmshorn-fighting-pirates',
96-
'channel': 'Rostock Griffins',
97-
'channel_url': 'https://sportdeutschland.tv/rostock-griffins',
98-
'live_status': 'was_live',
99-
'description': 'md5:60cb00067e55dafa27b0933a43d72862',
100-
'channel_id': '9635f21c-3f67-4584-9ce4-796e9a47276b',
101-
'timestamp': 1749913117,
102-
'upload_date': '20250614',
103-
},
104104
}]
105105

106106
def _process_video(self, asset_id, video):

0 commit comments

Comments
 (0)