mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[downloader] Add --hls-prefer-native to use the native HLS downloader (#4966)
This commit is contained in:
		| @@ -225,7 +225,6 @@ class YoutubeDL(object): | ||||
|     call_home:         Boolean, true iff we are allowed to contact the | ||||
|                        youtube-dl servers for debugging. | ||||
|     sleep_interval:    Number of seconds to sleep before each download. | ||||
|     external_downloader:  Executable of the external downloader to call. | ||||
|     listformats:       Print an overview of available video formats and exit. | ||||
|     list_thumbnails:   Print a table of all thumbnails and exit. | ||||
|     match_filter:      A function that gets called with the info_dict of | ||||
| @@ -235,6 +234,10 @@ class YoutubeDL(object): | ||||
|                        match_filter_func in utils.py is one example for this. | ||||
|     no_color:          Do not emit color codes in output. | ||||
|  | ||||
|     The following options determine which downloader is picked: | ||||
|     external_downloader: Executable of the external downloader to call. | ||||
|                        None or unset for standard (built-in) downloader. | ||||
|     hls_prefer_native: Use the native HLS downloader instead of ffmpeg/avconv. | ||||
|  | ||||
|     The following parameters are not used by YoutubeDL itself, they are used by | ||||
|     the FileDownloader: | ||||
|   | ||||
| @@ -351,6 +351,7 @@ def _real_main(argv=None): | ||||
|         'match_filter': match_filter, | ||||
|         'no_color': opts.no_color, | ||||
|         'ffmpeg_location': opts.ffmpeg_location, | ||||
|         'hls_prefer_native': opts.hls_prefer_native, | ||||
|     } | ||||
|  | ||||
|     with YoutubeDL(ydl_opts) as ydl: | ||||
|   | ||||
| @@ -34,6 +34,9 @@ def get_suitable_downloader(info_dict, params={}): | ||||
|         if ed.supports(info_dict): | ||||
|             return ed | ||||
|  | ||||
|     if protocol == 'm3u8' and params.get('hls_prefer_native'): | ||||
|         return NativeHlsFD | ||||
|  | ||||
|     return PROTOCOL_MAP.get(protocol, HttpFD) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -424,6 +424,10 @@ def parseOpts(overrideArguments=None): | ||||
|         '--xattr-set-filesize', | ||||
|         dest='xattr_set_filesize', action='store_true', | ||||
|         help='(experimental) set file xattribute ytdl.filesize with expected filesize') | ||||
|     downloader.add_option( | ||||
|         '--hls-prefer-native', | ||||
|         dest='hls_prefer_native', action='store_true', | ||||
|         help='(experimental) Use the native HLS downloader instead of ffmpeg.') | ||||
|     downloader.add_option( | ||||
|         '--external-downloader', | ||||
|         dest='external_downloader', metavar='COMMAND', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister