Skip to content

Commit 25cb13c

Browse files
committed
feat: add lianjie live record
1 parent e1aacce commit 25cb13c

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

app/core/platform_handlers/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
KugouHandler,
2222
LangLiveHandler,
2323
LehaiHandler,
24+
LianJieHandler,
2425
LivemeHandler,
2526
LookHandler,
2627
MaoerFMHandler,
@@ -119,6 +120,7 @@ def get_platform_info(record_url: str) -> tuple:
119120
"tb.cn": ("淘宝直播", "taobao"),
120121
"3.cn": ("京东直播", "jd"),
121122
"faceit.com": ("faceit", "faceit"),
123+
"lailianjie.com": ("连接直播", "lianjie"),
122124
".m3u8": ("自定义录制直播", "custom"),
123125
".flv": ("自定义录制直播", "custom"),
124126
}
@@ -151,6 +153,7 @@ def get_platform_info(record_url: str) -> tuple:
151153
"KugouHandler",
152154
"LangLiveHandler",
153155
"LehaiHandler",
156+
"LianJieHandler",
154157
"LivemeHandler",
155158
"LookHandler",
156159
"MaoerFMHandler",

app/core/platform_handlers/handlers.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -972,6 +972,27 @@ async def get_stream_info(self, live_url: str) -> StreamData:
972972
return await self.live_stream.fetch_stream_url(json_data, self.record_quality)
973973

974974

975+
class LianJieHandler(PlatformHandler):
976+
platform = "lianjie"
977+
978+
def __init__(
979+
self,
980+
proxy: str | None = None,
981+
cookies: str | None = None,
982+
record_quality: str | None = None,
983+
platform: str | None = None,
984+
) -> None:
985+
super().__init__(proxy, cookies, record_quality, platform)
986+
self.live_stream: streamget.LianJieLiveStream | None = None
987+
988+
@trace_error_decorator
989+
async def get_stream_info(self, live_url: str) -> StreamData:
990+
if not self.live_stream:
991+
self.live_stream = streamget.LianJieLiveStream(proxy_addr=self.proxy, cookies=self.cookies)
992+
json_data = await self.live_stream.fetch_web_stream_data(url=live_url)
993+
return await self.live_stream.fetch_stream_url(json_data, self.record_quality)
994+
995+
975996
DouyinHandler.register(r"https://.*\.douyin\.com/")
976997
TikTokHandler.register(r"https://.*\.tiktok\.com/")
977998
KuaishouHandler.register(r"https://live\.kuaishou\.com/")
@@ -1017,3 +1038,4 @@ async def get_stream_info(self, live_url: str) -> StreamData:
10171038
TaobaoHandler.register(r".*\.tb\.cn/")
10181039
JDHandler.register(r"3\.cn/")
10191040
FaceitHandler.register(r"https://.*\.faceit\.com/")
1041+
LianJieHandler.register(r"https://.*\.lailianjie\.com/")

0 commit comments

Comments
 (0)