[facebook] extract subtitles(closes #22777)
This commit is contained in:
		
							parent
							
								
									0c2d10d225
								
							
						
					
					
						commit
						07154c7930
					
				
					 2 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
					@ -147,6 +147,8 @@ class CeskaTelevizeIE(InfoExtractor):
 | 
				
			||||||
                is_live = item.get('type') == 'LIVE'
 | 
					                is_live = item.get('type') == 'LIVE'
 | 
				
			||||||
                formats = []
 | 
					                formats = []
 | 
				
			||||||
                for format_id, stream_url in item.get('streamUrls', {}).items():
 | 
					                for format_id, stream_url in item.get('streamUrls', {}).items():
 | 
				
			||||||
 | 
					                    if 'drmOnly=true' in stream_url:
 | 
				
			||||||
 | 
					                        continue
 | 
				
			||||||
                    if 'playerType=flash' in stream_url:
 | 
					                    if 'playerType=flash' in stream_url:
 | 
				
			||||||
                        stream_formats = self._extract_m3u8_formats(
 | 
					                        stream_formats = self._extract_m3u8_formats(
 | 
				
			||||||
                            stream_url, playlist_id, 'mp4', 'm3u8_native',
 | 
					                            stream_url, playlist_id, 'mp4', 'm3u8_native',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -379,6 +379,7 @@ class FacebookIE(InfoExtractor):
 | 
				
			||||||
        if not video_data:
 | 
					        if not video_data:
 | 
				
			||||||
            raise ExtractorError('Cannot parse data')
 | 
					            raise ExtractorError('Cannot parse data')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        subtitles = {}
 | 
				
			||||||
        formats = []
 | 
					        formats = []
 | 
				
			||||||
        for f in video_data:
 | 
					        for f in video_data:
 | 
				
			||||||
            format_id = f['stream_type']
 | 
					            format_id = f['stream_type']
 | 
				
			||||||
| 
						 | 
					@ -402,6 +403,9 @@ class FacebookIE(InfoExtractor):
 | 
				
			||||||
            if dash_manifest:
 | 
					            if dash_manifest:
 | 
				
			||||||
                formats.extend(self._parse_mpd_formats(
 | 
					                formats.extend(self._parse_mpd_formats(
 | 
				
			||||||
                    compat_etree_fromstring(compat_urllib_parse_unquote_plus(dash_manifest))))
 | 
					                    compat_etree_fromstring(compat_urllib_parse_unquote_plus(dash_manifest))))
 | 
				
			||||||
 | 
					            subtitles_src = f[0].get('subtitles_src')
 | 
				
			||||||
 | 
					            if subtitles_src:
 | 
				
			||||||
 | 
					                subtitles.setdefault('en', []).append({'url': subtitles_src})
 | 
				
			||||||
        if not formats:
 | 
					        if not formats:
 | 
				
			||||||
            raise ExtractorError('Cannot find video formats')
 | 
					            raise ExtractorError('Cannot find video formats')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -447,6 +451,7 @@ class FacebookIE(InfoExtractor):
 | 
				
			||||||
            'timestamp': timestamp,
 | 
					            'timestamp': timestamp,
 | 
				
			||||||
            'thumbnail': thumbnail,
 | 
					            'thumbnail': thumbnail,
 | 
				
			||||||
            'view_count': view_count,
 | 
					            'view_count': view_count,
 | 
				
			||||||
 | 
					            'subtitles': subtitles,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return webpage, info_dict
 | 
					        return webpage, info_dict
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue