Compare commits

...

2 Commits

Author SHA1 Message Date
vvillenave
14c0e357bc
Merge fd69e827b7048c2816fb2a9cab8002bec8a33af8 into 2b4fbfce25902d557b86b003cf48f738129efce4 2025-03-26 07:54:23 +00:00
Valentin Villenave
fd69e827b7 [WIP-creacast] Add support for creacast.com
This code doesn’t work, but as a beginner I’m having
a hard time figuring out how to make it functional.
Could someone give me any pointers?
2021-06-30 10:23:28 +02:00
2 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,60 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class CreaCastIE(InfoExtractor):
_VALID_URL = r'''(?x)
https?://(?:\w+\.)?creacast\.com/
(?:
channel/\w+/[^/]*iid=(?P<id>\d+)|
play.php\?k=(?P<id>[^/?#&]+)
)'''
_TESTS = [
{
'url': 'https://www.creacast.com/play.php?k=GHGGRuQfeaJ4g4r6cpGSe4',
'md5': 'a524c0a6096c583345603777596b439c',
'info_dict': {
'id': 'GHGGRuQfeaJ4g4r6cpGSe4',
'ext': 'mp4',
'title': 'Strasbourg VOD'
}
},
{
'url': 'https://www.creacast.com/channel/strasbourg/?sort=v&iid=5444&display=vod',
'md5': 'TBC',
'info_dict': {
'id': '5444',
'ext': 'mp4',
'title': 'Conseils | Strasbourg.eu'
}
}
]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
data = self._parse_json(
self._search_regex(
r'(?s)runParams\s*=\s*({.+?})\s*;?\s*var',
webpage, 'runParams'),
video_id)
formats = self._extract_m3u8_formats(
data['replyStreamUrl'], video_id, 'mp4',
entry_protocol='m3u8_native', m3u8_id='hls')
print("toto\n\n")
title = self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title')
return {
'id': video_id,
'title': title,
'description': self._og_search_description(webpage),
'uploader': self._search_regex(r'<div[^>]+id="uploader"[^>]*>([^<]+)<', webpage, 'uploader', fatal=False),
'formats': formats,
}

View File

@ -266,6 +266,7 @@ from .cpac import (
) )
from .cracked import CrackedIE from .cracked import CrackedIE
from .crackle import CrackleIE from .crackle import CrackleIE
from .creacast import CreaCastIE
from .crooksandliars import CrooksAndLiarsIE from .crooksandliars import CrooksAndLiarsIE
from .crunchyroll import ( from .crunchyroll import (
CrunchyrollIE, CrunchyrollIE,