|
|
@ -392,7 +392,7 @@ class YoutubeIE(InfoExtractor): |
|
|
|
format_param = params.get('format', None) |
|
|
|
|
|
|
|
# Extension |
|
|
|
video_extension = {18: 'mp4'}.get(format_param, 'flv') |
|
|
|
video_extension = {'18': 'mp4'}.get(format_param, 'flv') |
|
|
|
|
|
|
|
# Normalize URL, including format |
|
|
|
normalized_url = 'http://www.youtube.com/watch?v=%s' % video_id |
|
|
@ -447,9 +447,15 @@ class YoutubeIE(InfoExtractor): |
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
try: |
|
|
|
# Modules needed only when running the main program |
|
|
|
import optparse |
|
|
|
|
|
|
|
# General configuration |
|
|
|
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())) |
|
|
|
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor())) |
|
|
|
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words) |
|
|
|
|
|
|
|
# Parse command line |
|
|
|
|
|
|
|
# Information extractors |
|
|
|
youtube_ie = YoutubeIE() |
|
|
@ -459,12 +465,12 @@ if __name__ == '__main__': |
|
|
|
'usenetrc': False, |
|
|
|
'username': None, |
|
|
|
'password': None, |
|
|
|
'quiet': False, |
|
|
|
'forceurl': False, |
|
|
|
'forcetitle': False, |
|
|
|
'simulate': False, |
|
|
|
'quiet': True, |
|
|
|
'forceurl': True, |
|
|
|
'forcetitle': True, |
|
|
|
'simulate': True, |
|
|
|
'format': None, |
|
|
|
'outtmpl': '%(ext)s/%(ext)s/%(id)s.%(ext)s' |
|
|
|
'outtmpl': '%(id)s.%(ext)s' |
|
|
|
}) |
|
|
|
fd.add_info_extractor(youtube_ie) |
|
|
|
fd.download([ |
|
|
|