mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[postprocessor] Fix chapters if duration is not extracted (#6037)
Authored by: bashonly
This commit is contained in:
		| @@ -302,6 +302,11 @@ class FFmpegPostProcessor(PostProcessor): | ||||
|             None) | ||||
|         return num, len(streams) | ||||
| 
 | ||||
|     def _fixup_chapters(self, info): | ||||
|         last_chapter = traverse_obj(info, ('chapters', -1)) | ||||
|         if last_chapter and not last_chapter.get('end_time'): | ||||
|             last_chapter['end_time'] = self._get_real_video_duration(info['filepath']) | ||||
| 
 | ||||
|     def _get_real_video_duration(self, filepath, fatal=True): | ||||
|         try: | ||||
|             duration = float_or_none( | ||||
| @@ -678,6 +683,7 @@ class FFmpegMetadataPP(FFmpegPostProcessor): | ||||
| 
 | ||||
|     @PostProcessor._restrict_to(images=False) | ||||
|     def run(self, info): | ||||
|         self._fixup_chapters(info) | ||||
|         filename, metadata_filename = info['filepath'], None | ||||
|         files_to_delete, options = [], [] | ||||
|         if self._add_chapters and info.get('chapters'): | ||||
| @@ -1040,6 +1046,7 @@ class FFmpegSplitChaptersPP(FFmpegPostProcessor): | ||||
| 
 | ||||
|     @PostProcessor._restrict_to(images=False) | ||||
|     def run(self, info): | ||||
|         self._fixup_chapters(info) | ||||
|         chapters = info.get('chapters') or [] | ||||
|         if not chapters: | ||||
|             self.to_screen('Chapter information is unavailable') | ||||
|   | ||||
| @@ -23,6 +23,7 @@ class ModifyChaptersPP(FFmpegPostProcessor): | ||||
| 
 | ||||
|     @PostProcessor._restrict_to(images=False) | ||||
|     def run(self, info): | ||||
|         self._fixup_chapters(info) | ||||
|         # Chapters must be preserved intact when downloading multiple formats of the same video. | ||||
|         chapters, sponsor_chapters = self._mark_chapters_to_remove( | ||||
|             copy.deepcopy(info.get('chapters')) or [], | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bashonly
					bashonly