mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 04:37:06 -05:00 
			
		
		
		
	[generic] Fix support for multiple HTML5 videos on one page (closes #14080)
This commit is contained in:
		@@ -1879,6 +1879,15 @@ class GenericIE(InfoExtractor):
 | 
				
			|||||||
                'title': 'Building A Business Online: Principal Chairs Q & A',
 | 
					                'title': 'Building A Business Online: Principal Chairs Q & A',
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            # multiple HTML5 videos on one page
 | 
				
			||||||
 | 
					            'url': 'https://www.paragon-software.com/home/rk-free/keyscenarios.html',
 | 
				
			||||||
 | 
					            'info_dict': {
 | 
				
			||||||
 | 
					                'id': 'keyscenarios',
 | 
				
			||||||
 | 
					                'title': 'Rescue Kit 14 Free Edition - Getting started',
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            'playlist_count': 4,
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        # {
 | 
					        # {
 | 
				
			||||||
        #     # TODO: find another test
 | 
					        #     # TODO: find another test
 | 
				
			||||||
        #     # http://schema.org/VideoObject
 | 
					        #     # http://schema.org/VideoObject
 | 
				
			||||||
@@ -2849,13 +2858,20 @@ class GenericIE(InfoExtractor):
 | 
				
			|||||||
        # Look for HTML5 media
 | 
					        # Look for HTML5 media
 | 
				
			||||||
        entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
 | 
					        entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
 | 
				
			||||||
        if entries:
 | 
					        if entries:
 | 
				
			||||||
            for entry in entries:
 | 
					            if len(entries) == 1:
 | 
				
			||||||
                entry.update({
 | 
					                entries[0].update({
 | 
				
			||||||
                    'id': video_id,
 | 
					                    'id': video_id,
 | 
				
			||||||
                    'title': video_title,
 | 
					                    'title': video_title,
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                for num, entry in enumerate(entries, start=1):
 | 
				
			||||||
 | 
					                    entry.update({
 | 
				
			||||||
 | 
					                        'id': '%s-%s' % (video_id, num),
 | 
				
			||||||
 | 
					                        'title': '%s (%d)' % (video_title, num),
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					            for entry in entries:
 | 
				
			||||||
                self._sort_formats(entry['formats'])
 | 
					                self._sort_formats(entry['formats'])
 | 
				
			||||||
            return self.playlist_result(entries)
 | 
					            return self.playlist_result(entries, video_id, video_title)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        jwplayer_data = self._find_jwplayer_data(
 | 
					        jwplayer_data = self._find_jwplayer_data(
 | 
				
			||||||
            webpage, video_id, transform_source=js_to_json)
 | 
					            webpage, video_id, transform_source=js_to_json)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user