- for chapter_data in re.findall(r'(?s)chapters\.push\(({.*?})\)', player):
- chapter = self._parse_json(chapter_data, video_id, js_to_json, fatal=False)
- if not chapter:
- continue
+ raw_chapters = video_info.get('chapters') or []
+ if not raw_chapters:
+ for chapter_data in re.findall(r'(?s)chapters\.push\(({.*?})\)', player):
+ chapter = self._parse_json(chapter_data, video_id, js_to_json, fatal=False)
+ if not chapter:
+ continue
+ raw_chapters.append(chapter)
+ for chapter in raw_chapters: