projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ChangeLog] Actualize
[youtube-dl]
/
youtube_dl
/
extractor
/
vessel.py
diff --git
a/youtube_dl/extractor/vessel.py
b/youtube_dl/extractor/vessel.py
index 59f2b4ba4feb94be13d5be9fb39d4b1ecf50787b..80a643dfe6d6a7a160cb4035b52b9a95b03769cf 100644
(file)
--- a/
youtube_dl/extractor/vessel.py
+++ b/
youtube_dl/extractor/vessel.py
@@
-13,7
+13,7
@@
from ..utils import (
class VesselIE(InfoExtractor):
class VesselIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?vessel\.com/(?:videos|embed)/(?P<id>[0-9a-zA-Z]+)'
+ _VALID_URL = r'https?://(?:www\.)?vessel\.com/(?:videos|embed)/(?P<id>[0-9a-zA-Z
-_
]+)'
_API_URL_TEMPLATE = 'https://www.vessel.com/api/view/items/%s'
_LOGIN_URL = 'https://www.vessel.com/api/account/login'
_NETRC_MACHINE = 'vessel'
_API_URL_TEMPLATE = 'https://www.vessel.com/api/view/items/%s'
_LOGIN_URL = 'https://www.vessel.com/api/account/login'
_NETRC_MACHINE = 'vessel'
@@
-24,7
+24,7
@@
class VesselIE(InfoExtractor):
'id': 'HDN7G5UMs',
'ext': 'mp4',
'title': 'Nvidia GeForce GTX Titan X - The Best Video Card on the Market?',
'id': 'HDN7G5UMs',
'ext': 'mp4',
'title': 'Nvidia GeForce GTX Titan X - The Best Video Card on the Market?',
- 'thumbnail': 're:^https?://.*\.jpg$',
+ 'thumbnail':
r
're:^https?://.*\.jpg$',
'upload_date': '20150317',
'description': 'Did Nvidia pull out all the stops on the Titan X, or does its performance leave something to be desired?',
'timestamp': int,
'upload_date': '20150317',
'description': 'Did Nvidia pull out all the stops on the Titan X, or does its performance leave something to be desired?',
'timestamp': int,
@@
-32,12
+32,18
@@
class VesselIE(InfoExtractor):
}, {
'url': 'https://www.vessel.com/embed/G4U7gUJ6a?w=615&h=346',
'only_matching': True,
}, {
'url': 'https://www.vessel.com/embed/G4U7gUJ6a?w=615&h=346',
'only_matching': True,
+ }, {
+ 'url': 'https://www.vessel.com/videos/F01_dsLj1',
+ 'only_matching': True,
+ }, {
+ 'url': 'https://www.vessel.com/videos/RRX-sir-J',
+ 'only_matching': True,
}]
@staticmethod
def _extract_urls(webpage):
return [url for _, url in re.findall(
}]
@staticmethod
def _extract_urls(webpage):
return [url for _, url in re.findall(
- r'<iframe[^>]+src=(["\'])((?:https?:)?//(?:www\.)?vessel\.com/embed/[0-9a-zA-Z]+.*?)\1',
+ r'<iframe[^>]+src=(["\'])((?:https?:)?//(?:www\.)?vessel\.com/embed/[0-9a-zA-Z
-_
]+.*?)\1',
webpage)]
@staticmethod
webpage)]
@staticmethod
@@
-111,13
+117,17
@@
class VesselIE(InfoExtractor):
location = f.get('location')
if not location:
continue
location = f.get('location')
if not location:
continue
- if f.get('name') == 'hls-index':
+ name = f.get('name')
+ if name == 'hls-index':
formats.extend(self._extract_m3u8_formats(
location, video_id, ext='mp4',
formats.extend(self._extract_m3u8_formats(
location, video_id, ext='mp4',
- entry_protocol='m3u8_native', m3u8_id='m3u8'))
+ entry_protocol='m3u8_native', m3u8_id='m3u8', fatal=False))
+ elif name == 'dash-index':
+ formats.extend(self._extract_mpd_formats(
+ location, video_id, mpd_id='dash', fatal=False))
else:
formats.append({
else:
formats.append({
- 'format_id':
f.get('name')
,
+ 'format_id':
name
,
'tbr': f.get('bitrate'),
'height': f.get('height'),
'width': f.get('width'),
'tbr': f.get('bitrate'),
'height': f.get('height'),
'width': f.get('width'),