1
0
mirror of https://codeberg.org/polarisfm/youtube-dl synced 2024-11-22 16:44:32 +01:00

[eventive]: Parse ISM manifest for formats

This commit is contained in:
Elan Ruusamäe 2020-10-20 12:35:06 +03:00
parent 413fb7b0c3
commit 5b4738b297

View File

@ -2,6 +2,16 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import re import re
from .common import InfoExtractor from .common import InfoExtractor
from ..compat import (
compat_etree_fromstring,
compat_urllib_parse_unquote_plus,
)
from ..utils import (
urlencode_postdata,
)
API_URL = 'https://api.eventive.org/watch/play'
class EventiveIE(InfoExtractor): class EventiveIE(InfoExtractor):
SUBTITLE_DATE_RE = re.compile(r'\((\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2})\)$') SUBTITLE_DATE_RE = re.compile(r'\((\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2})\)$')
@ -24,7 +34,22 @@ class EventiveIE(InfoExtractor):
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
post = {
"event_id": video_id,
"film_id": "5f22387785a26f00360d29c9",
"token": ""
}
video = self._download_json(API_URL, video_id=video_id, data=urlencode_postdata(post))
formats = []
for stream in video.get('playlist', []):
formats.extend(self._extract_ism_formats(stream['url'], video_id))
self._sort_formats(formats)
info = { info = {
'id': video_id, 'id': video_id,
'title': stream['name'],
'formats': formats,
} }
return info return info