mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 08:35:12 +00:00 
			
		
		
		
	[brightcove] Fix subtitles extraction (closes #25540)
This commit is contained in:
		@@ -25,9 +25,11 @@ from ..utils import (
 | 
				
			|||||||
    int_or_none,
 | 
					    int_or_none,
 | 
				
			||||||
    parse_iso8601,
 | 
					    parse_iso8601,
 | 
				
			||||||
    smuggle_url,
 | 
					    smuggle_url,
 | 
				
			||||||
 | 
					    str_or_none,
 | 
				
			||||||
    unescapeHTML,
 | 
					    unescapeHTML,
 | 
				
			||||||
    unsmuggle_url,
 | 
					    unsmuggle_url,
 | 
				
			||||||
    update_url_query,
 | 
					    update_url_query,
 | 
				
			||||||
 | 
					    url_or_none,
 | 
				
			||||||
    clean_html,
 | 
					    clean_html,
 | 
				
			||||||
    mimetype2ext,
 | 
					    mimetype2ext,
 | 
				
			||||||
    UnsupportedError,
 | 
					    UnsupportedError,
 | 
				
			||||||
@@ -553,10 +555,16 @@ class BrightcoveNewIE(AdobePassIE):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        subtitles = {}
 | 
					        subtitles = {}
 | 
				
			||||||
        for text_track in json_data.get('text_tracks', []):
 | 
					        for text_track in json_data.get('text_tracks', []):
 | 
				
			||||||
            if text_track.get('src'):
 | 
					            if text_track.get('kind') != 'captions':
 | 
				
			||||||
                subtitles.setdefault(text_track.get('srclang'), []).append({
 | 
					                continue
 | 
				
			||||||
                    'url': text_track['src'],
 | 
					            text_track_url = url_or_none(text_track.get('src'))
 | 
				
			||||||
                })
 | 
					            if not text_track_url:
 | 
				
			||||||
 | 
					                continue
 | 
				
			||||||
 | 
					            lang = (str_or_none(text_track.get('srclang'))
 | 
				
			||||||
 | 
					                    or str_or_none(text_track.get('label')) or 'en').lower()
 | 
				
			||||||
 | 
					            subtitles.setdefault(lang, []).append({
 | 
				
			||||||
 | 
					                'url': text_track_url,
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        is_live = False
 | 
					        is_live = False
 | 
				
			||||||
        duration = float_or_none(json_data.get('duration'), 1000)
 | 
					        duration = float_or_none(json_data.get('duration'), 1000)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user