[extractor/common] Add support for DASH manifests with SegmentLists with bare SegmentURLs
[youtube-dl] / youtube_dl / extractor / common.py
index 8e4ee0deb7a9fa24eb526c0bf9ce2cb30cedd195..15999411ba2e20bd48c6c2c0eaa3d60832e73bf4 100644 (file)
@@ -1975,6 +1975,15 @@ class InfoExtractor(object):
                                     })
                                     segment_index += 1
                             representation_ms_info['fragments'] = fragments
+                        elif 'segment_urls' in representation_ms_info:
+                            # Segment URLs with no SegmentTimeline
+                            # Example: https://www.seznam.cz/zpravy/clanek/cesko-zasahne-vitr-o-sile-vichrice-muze-byt-i-zivotu-nebezpecny-39091
+                            fragments = []
+                            for segment_url in representation_ms_info['segment_urls']:
+                                fragments.append({
+                                    location_key(segment_url): segment_url,
+                                })
+                            representation_ms_info['fragments'] = fragments
                         # NB: MPD manifest may contain direct URLs to unfragmented media.
                         # No fragments key is present in this case.
                         if 'fragments' in representation_ms_info: