|
|
@ -221,6 +221,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
'132': '240p',
|
|
|
|
'132': '240p',
|
|
|
|
'151': '72p',
|
|
|
|
'151': '72p',
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
_3d_itags = ['85', '84', '102', '83', '101', '82', '100']
|
|
|
|
IE_NAME = u'youtube'
|
|
|
|
IE_NAME = u'youtube'
|
|
|
|
_TESTS = [
|
|
|
|
_TESTS = [
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -467,7 +468,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
def _print_formats(self, formats):
|
|
|
|
def _print_formats(self, formats):
|
|
|
|
print('Available formats:')
|
|
|
|
print('Available formats:')
|
|
|
|
for x in formats:
|
|
|
|
for x in formats:
|
|
|
|
print('%s\t:\t%s\t[%s]' %(x, self._video_extensions.get(x, 'flv'), self._video_dimensions.get(x, '???')))
|
|
|
|
print('%s\t:\t%s\t[%s]%s' %(x, self._video_extensions.get(x, 'flv'),
|
|
|
|
|
|
|
|
self._video_dimensions.get(x, '???'),
|
|
|
|
|
|
|
|
' (3D)' if x in self._3d_itags else ''))
|
|
|
|
|
|
|
|
|
|
|
|
def _extract_id(self, url):
|
|
|
|
def _extract_id(self, url):
|
|
|
|
mobj = re.match(self._VALID_URL, url, re.VERBOSE)
|
|
|
|
mobj = re.match(self._VALID_URL, url, re.VERBOSE)
|
|
|
@ -751,8 +754,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
# Extension
|
|
|
|
# Extension
|
|
|
|
video_extension = self._video_extensions.get(format_param, 'flv')
|
|
|
|
video_extension = self._video_extensions.get(format_param, 'flv')
|
|
|
|
|
|
|
|
|
|
|
|
video_format = '{0} - {1}'.format(format_param if format_param else video_extension,
|
|
|
|
video_format = '{0} - {1}{2}'.format(format_param if format_param else video_extension,
|
|
|
|
self._video_dimensions.get(format_param, '???'))
|
|
|
|
self._video_dimensions.get(format_param, '???'),
|
|
|
|
|
|
|
|
' (3D)' if format_param in self._3d_itags else '')
|
|
|
|
|
|
|
|
|
|
|
|
results.append({
|
|
|
|
results.append({
|
|
|
|
'id': video_id,
|
|
|
|
'id': video_id,
|
|
|
|