This commit is contained in:
Alejandro Garcia 2024-11-25 08:27:06 +05:30 committed by GitHub
commit ad62655f1f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 48 additions and 0 deletions

View File

@ -315,6 +315,7 @@
from .buzzfeed import BuzzFeedIE from .buzzfeed import BuzzFeedIE
from .byutv import BYUtvIE from .byutv import BYUtvIE
from .c56 import C56IE from .c56 import C56IE
from .cablecasttv import CableCastTVIE
from .caffeinetv import CaffeineTVIE from .caffeinetv import CaffeineTVIE
from .callin import CallinIE from .callin import CallinIE
from .caltrans import CaltransIE from .caltrans import CaltransIE

View File

@ -0,0 +1,47 @@
from .common import InfoExtractor
class CableCastTVIE(InfoExtractor):
_VALID_URL = r'https?://(?:[a-z\-\.]+\.cablecast\.tv/show/|[a-z\-\.]+/CablecastPublicSite/show/)(?P<id>\d+)'
_TESTS = [{
'url': 'https://wctv.wilmette.com/CablecastPublicSite/show/532',
'md5': '17e7ed129582babf6d1ae5c3b9d70d18',
'info_dict': {
'id': '532',
'ext': 'mp4',
'title': 'Village Board Meeting 4/24/24',
},
}, {
'url': 'https://capitoltvri.cablecast.tv/show/9199?site=1',
'only_matching': True,
}, {
'url': 'https://king-county-tv.cablecast.tv/show/504',
'only_matching': True,
}, {
'url': 'https://wctv.wilmette.com/CablecastPublicSite/show/53/',
'only_matching': True,
}]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
url_video_page = self._html_search_regex(r'<iframe[^>]*class=\"trms-player\"[^>]*src=\"([^\"]+)\"', webpage, 'url_video_webpage')
webpage_video = self._download_webpage(url_video_page, video_id)
video_url = self._html_search_regex(r'"([^\"]*\.m3u8)"', webpage_video, 'video URL')
formats = []
subtitles = {}
fmts, subs = self._extract_m3u8_formats_and_subtitles(video_url, video_id, 'mp4', fatal=False)
formats.extend(fmts)
self._merge_subtitles(subs, target=subtitles)
title = self._og_search_title(webpage) or self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title')
return {
'id': video_id,
'title': title,
'formats': formats,
'subtitles': subtitles,
}