if format_spec == 'best' or format_spec is None:
return available_formats[-1]
elif format_spec == 'worst':
+ audiovideo_formats = [
+ f for f in available_formats
+ if f.get('vcodec') != 'none' and f.get('acodec') != 'none']
+ if audiovideo_formats:
+ return audiovideo_formats[0]
return available_formats[0]
elif format_spec == 'bestaudio':
audio_formats = [
debuglevel = 1 if self.params.get('debug_printtraffic') else 0
https_handler = make_HTTPS_handler(self.params, debuglevel=debuglevel)
- # The ssl context is only available in python 2.7.9 and 3.x
- if hasattr(https_handler, '_context'):
- ctx = https_handler._context
- # get_ca_certs is unavailable prior to python 3.4
- if hasattr(ctx, 'get_ca_certs') and len(ctx.get_ca_certs()) == 0:
- self.report_warning(
- 'No ssl certificates were loaded, urls that use https '
- 'won\'t work')
ydlh = YoutubeDLHandler(self.params, debuglevel=debuglevel)
opener = compat_urllib_request.build_opener(
proxy_handler, https_handler, cookie_processor, ydlh)