mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[extractor/ArteTV] Extract chapters (#5879)
Authored by: iw0nderhow, bashonly
This commit is contained in:
		| @@ -65,6 +65,21 @@ class ArteTVIE(ArteTVBaseIE): | ||||
|     }, { | ||||
|         'url': 'https://api.arte.tv/api/player/v2/config/de/LIVE', | ||||
|         'only_matching': True, | ||||
|     }, { | ||||
|         'url': 'https://www.arte.tv/de/videos/110203-006-A/zaz/', | ||||
|         'info_dict': { | ||||
|             'id': '110203-006-A', | ||||
|             'chapters': 'count:16', | ||||
|             'description': 'md5:cf592f1df52fe52007e3f8eac813c084', | ||||
|             'alt_title': 'Zaz', | ||||
|             'title': 'Baloise Session 2022', | ||||
|             'timestamp': 1668445200, | ||||
|             'duration': 4054, | ||||
|             'thumbnail': 'https://api-cdn.arte.tv/img/v2/image/ubQjmVCGyRx3hmBuZEK9QZ/940x530', | ||||
|             'upload_date': '20221114', | ||||
|             'ext': 'mp4', | ||||
|         }, | ||||
|         'expected_warnings': ['geo restricted'] | ||||
|     }] | ||||
| 
 | ||||
|     _GEO_BYPASS = True | ||||
| @@ -180,9 +195,6 @@ class ArteTVIE(ArteTVBaseIE): | ||||
|             else: | ||||
|                 self.report_warning(f'Skipping stream with unknown protocol {stream["protocol"]}') | ||||
| 
 | ||||
|             # TODO: chapters from stream['segments']? | ||||
|             # The JS also looks for chapters in config['data']['attributes']['chapters'], | ||||
|             # but I am yet to find a video having those | ||||
| 
 | ||||
|         formats.extend(secondary_formats) | ||||
|         self._remove_duplicate_formats(formats) | ||||
| @@ -205,6 +217,11 @@ class ArteTVIE(ArteTVBaseIE): | ||||
|                 {'url': image['url'], 'id': image.get('caption')} | ||||
|                 for image in metadata.get('images') or [] if url_or_none(image.get('url')) | ||||
|             ], | ||||
|             # TODO: chapters may also be in stream['segments']? | ||||
|             'chapters': traverse_obj(config, ('data', 'attributes', 'chapters', 'elements', ..., { | ||||
|                 'start_time': 'startTime', | ||||
|                 'title': 'title', | ||||
|             })) or None, | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chris
					chris