8
8
9
9
10
10
class SportDeutschlandIE (InfoExtractor ):
11
- _VALID_URL = r'https?://sportdeutschland\.tv/(?P<id>(?:[^/]+/)?[^?#/&]+)'
11
+ _VALID_URL = r'https?://(?:player\.)? sportdeutschland\.tv/(?P<id>(?:[^/?# ]+/)?[^?#/&]+)'
12
12
_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' ,
14
16
'info_dict' : {
15
- 'id' : '9839a5c7-0dbb-48a8-ab63-3b408adc7b54 ' ,
17
+ 'id' : '9f27a97d-1544-4d0b-aa03-48d92d17a03a ' ,
16
18
'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' ,
20
23
'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 ,
27
29
},
28
- 'skip' : 'not found' ,
29
30
}, {
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' ,
31
33
'info_dict' : {
32
- 'id' : '95c80c52-6b9a-4ae9-9197-984145adfced ' ,
34
+ 'id' : '9f27a97d-1544-4d0b-aa03-48d92d17a03a ' ,
33
35
'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' ,
37
40
'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 ,
44
46
},
45
- 'skip ' : 'not found' ,
47
+ 'params ' : { 'skip_download' : True } ,
46
48
}, {
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' ,
48
51
'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' ,
53
59
'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' ,
57
60
},
58
- 'playlist_count' : 3 ,
61
+ 'playlist_count' : 2 ,
59
62
'playlist' : [{
60
63
'info_dict' : {
61
- 'id' : '988e1fea-9d44-4fab-8c72-3085fb667547 ' ,
64
+ 'id' : '9f725a94-d43e-40ff-859d-13da3081bb04 ' ,
62
65
'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' ,
70
86
'live_status' : 'was_live' ,
71
87
},
72
88
}],
73
- 'skip' : 'not found' ,
74
89
}, {
90
+ # Livestream
75
91
'url' : 'https://sportdeutschland.tv/dtb/gymnastik-international-tag-1' ,
76
92
'info_dict' : {
77
93
'id' : '95d71b8a-370a-4b87-ad16-94680da18528' ,
@@ -85,22 +101,6 @@ class SportDeutschlandIE(InfoExtractor):
85
101
'live_status' : 'is_live' ,
86
102
},
87
103
'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
- },
104
104
}]
105
105
106
106
def _process_video (self , asset_id , video ):
0 commit comments