mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[npr] Add support for streams (closes #24042)
This commit is contained in:
		| @@ -4,6 +4,7 @@ from .common import InfoExtractor | ||||
| from ..utils import ( | ||||
|     int_or_none, | ||||
|     qualities, | ||||
|     url_or_none, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -48,6 +49,10 @@ class NprIE(InfoExtractor): | ||||
|             }, | ||||
|         }], | ||||
|         'expected_warnings': ['Failed to download m3u8 information'], | ||||
|     }, { | ||||
|         # multimedia, no formats, stream | ||||
|         'url': 'https://www.npr.org/2020/02/14/805476846/laura-stevenson-tiny-desk-concert', | ||||
|         'only_matching': True, | ||||
|     }] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
| @@ -95,6 +100,17 @@ class NprIE(InfoExtractor): | ||||
|                             'format_id': format_id, | ||||
|                             'quality': quality(format_id), | ||||
|                         }) | ||||
|             for stream_id, stream_entry in media.get('stream', {}).items(): | ||||
|                 if not isinstance(stream_entry, dict): | ||||
|                     continue | ||||
|                 if stream_id != 'hlsUrl': | ||||
|                     continue | ||||
|                 stream_url = url_or_none(stream_entry.get('$text')) | ||||
|                 if not stream_url: | ||||
|                     continue | ||||
|                 formats.extend(self._extract_m3u8_formats( | ||||
|                     stream_url, stream_id, 'mp4', 'm3u8_native', | ||||
|                     m3u8_id='hls', fatal=False)) | ||||
|             self._sort_formats(formats) | ||||
|  | ||||
|             entries.append({ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․