projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[utils] import re
[youtube-dl]
/
youtube_dl
/
YoutubeDL.py
diff --git
a/youtube_dl/YoutubeDL.py
b/youtube_dl/YoutubeDL.py
index dd2d8cb3cfc590ba7300f0f4448c67b9e708fa8d..702a6ad50b6c6bf2d3f3bfbd8c873cb3a64c8e7b 100755
(executable)
--- a/
youtube_dl/YoutubeDL.py
+++ b/
youtube_dl/YoutubeDL.py
@@
-119,7
+119,7
@@
class YoutubeDL(object):
username: Username for authentication purposes.
password: Password for authentication purposes.
username: Username for authentication purposes.
password: Password for authentication purposes.
- videopassword: Password for acces a video.
+ videopassword: Password for acces
sing
a video.
usenetrc: Use netrc for authentication instead.
verbose: Print additional info to stdout.
quiet: Do not print messages to stdout.
usenetrc: Use netrc for authentication instead.
verbose: Print additional info to stdout.
quiet: Do not print messages to stdout.
@@
-262,6
+262,8
@@
class YoutubeDL(object):
The following options are used by the post processors:
prefer_ffmpeg: If True, use ffmpeg instead of avconv if both are available,
otherwise prefer avconv.
The following options are used by the post processors:
prefer_ffmpeg: If True, use ffmpeg instead of avconv if both are available,
otherwise prefer avconv.
+ postprocessor_args: A list of additional command-line arguments for the
+ postprocessor.
"""
params = None
"""
params = None
@@
-662,7
+664,7
@@
class YoutubeDL(object):
}
self.add_default_extra_info(ie_result, ie, url)
if process:
}
self.add_default_extra_info(ie_result, ie, url)
if process:
- return self.process_ie_result(ie_result, download, extra_info
, force_generic_extractor=False
)
+ return self.process_ie_result(ie_result, download, extra_info)
else:
return ie_result
except ExtractorError as de: # An error we somewhat expected
else:
return ie_result
except ExtractorError as de: # An error we somewhat expected
@@
-687,7
+689,7
@@
class YoutubeDL(object):
'extractor_key': ie.ie_key(),
})
'extractor_key': ie.ie_key(),
})
- def process_ie_result(self, ie_result, download=True, extra_info={}
, force_generic_extractor=False
):
+ def process_ie_result(self, ie_result, download=True, extra_info={}):
"""
Take the result of the ie(may be modified) and resolve all unresolved
references (URLs, playlist items).
"""
Take the result of the ie(may be modified) and resolve all unresolved
references (URLs, playlist items).
@@
-715,8
+717,7
@@
class YoutubeDL(object):
return self.extract_info(ie_result['url'],
download,
ie_key=ie_result.get('ie_key'),
return self.extract_info(ie_result['url'],
download,
ie_key=ie_result.get('ie_key'),
- extra_info=extra_info,
- force_generic_extractor=force_generic_extractor)
+ extra_info=extra_info)
elif result_type == 'url_transparent':
# Use the information from the embedding page
info = self.extract_info(
elif result_type == 'url_transparent':
# Use the information from the embedding page
info = self.extract_info(
@@
-1009,7
+1010,7
@@
class YoutubeDL(object):
t.get('preference'), t.get('width'), t.get('height'),
t.get('id'), t.get('url')))
for i, t in enumerate(thumbnails):
t.get('preference'), t.get('width'), t.get('height'),
t.get('id'), t.get('url')))
for i, t in enumerate(thumbnails):
- if
'width' in t and 'height' in t
:
+ if
t.get('width') and t.get('height')
:
t['resolution'] = '%dx%d' % (t['width'], t['height'])
if t.get('id') is None:
t['id'] = '%d' % i
t['resolution'] = '%dx%d' % (t['width'], t['height'])
if t.get('id') is None:
t['id'] = '%d' % i
@@
-1038,12
+1039,6
@@
class YoutubeDL(object):
info_dict['id'], info_dict.get('subtitles'),
info_dict.get('automatic_captions'))
info_dict['id'], info_dict.get('subtitles'),
info_dict.get('automatic_captions'))
- # This extractors handle format selection themselves
- if info_dict['extractor'] in ['Youku']:
- if download:
- self.process_info(info_dict)
- return info_dict
-
# We now pick which formats have to be downloaded
if info_dict.get('formats') is None:
# There's only one format available
# We now pick which formats have to be downloaded
if info_dict.get('formats') is None:
# There's only one format available
@@
-1109,7
+1104,8
@@
class YoutubeDL(object):
if req_format is None:
req_format_list = []
if (self.params.get('outtmpl', DEFAULT_OUTTMPL) != '-' and
if req_format is None:
req_format_list = []
if (self.params.get('outtmpl', DEFAULT_OUTTMPL) != '-' and
- info_dict['extractor'] in ['youtube', 'ted']):
+ info_dict['extractor'] in ['youtube', 'ted'] and
+ not info_dict.get('is_live')):
merger = FFmpegMergerPP(self)
if merger.available and merger.can_merge():
req_format_list.append('bestvideo+bestaudio')
merger = FFmpegMergerPP(self)
if merger.available and merger.can_merge():
req_format_list.append('bestvideo+bestaudio')