Compare commits

..

5 Commits

Author SHA1 Message Date
Philipp Hagemeister
be24c8697f release 2015.02.17.2 2015-02-17 17:38:31 +01:00
Sergey M?
0d93378887 [videolecturesnet] Check http format URLs (Closes #4968) 2015-02-17 22:35:27 +06:00
Sergey M?
4069766c52 [extractor/common] Test URLs with GET 2015-02-17 22:35:27 +06:00
Philipp Hagemeister
7010577720 release 2015.02.17.1 2015-02-17 17:35:08 +01:00
Philipp Hagemeister
8ac27a68e6 [hls] Switch to available as a property 2015-02-17 17:35:03 +01:00
4 changed files with 27 additions and 14 deletions

View File

@@ -23,7 +23,7 @@ class HlsFD(FileDownloader):
tmpfilename = self.temp_name(filename)
ffpp = FFmpegPostProcessor(downloader=self)
if not ffpp.available():
if not ffpp.available:
self.report_error('m3u8 download detected but ffmpeg or avconv could not be found. Please install one.')
return False
ffpp.check_version()

View File

@@ -753,9 +753,7 @@ class InfoExtractor(object):
def _is_valid_url(self, url, video_id, item='video'):
try:
self._request_webpage(
HEADRequest(url), video_id,
'Checking %s URL' % item)
self._request_webpage(url, video_id, 'Checking %s URL' % item)
return True
except ExtractorError as e:
if isinstance(e.cause, compat_HTTPError):

View File

@@ -49,15 +49,30 @@ class VideoLecturesNetIE(InfoExtractor):
thumbnail = (
None if thumbnail_el is None else thumbnail_el.attrib.get('src'))
formats = [{
'url': v.attrib['src'],
'width': int_or_none(v.attrib.get('width')),
'height': int_or_none(v.attrib.get('height')),
'filesize': int_or_none(v.attrib.get('size')),
'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0,
'ext': v.attrib.get('ext'),
} for v in switch.findall('./video')
if v.attrib.get('proto') == 'http']
formats = []
for v in switch.findall('./video'):
proto = v.attrib.get('proto')
if not proto in ['http', 'rtmp']:
continue
f = {
'width': int_or_none(v.attrib.get('width')),
'height': int_or_none(v.attrib.get('height')),
'filesize': int_or_none(v.attrib.get('size')),
'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0,
'ext': v.attrib.get('ext'),
}
src = v.attrib['src']
if proto == 'http':
if self._is_valid_url(src, video_id):
f['url'] = src
formats.append(f)
elif proto == 'rtmp':
f.update({
'url': v.attrib['streamer'],
'play_path': src,
})
formats.append(f)
self._sort_formats(formats)
return {
'id': video_id,

View File

@@ -1,3 +1,3 @@
from __future__ import unicode_literals
__version__ = '2015.02.17'
__version__ = '2015.02.17.2'