All Projects → 3Shain → Comen

3Shain / Comen

Licence: mit
📺直播用弹幕栏【原bilichat】

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Comen

Youtube Dl Rest
Youtube & BiliBili 视频在线解析下载 -- Website for download the Youtube & BiliBili videos.
Stars: ✭ 242 (-58.35%)
Mutual labels:  bilibili, youtube
Annie
👾 Fast and simple video download library and CLI tool written in Go
Stars: ✭ 16,369 (+2717.38%)
Mutual labels:  bilibili, youtube
Mediaunlock test
流媒体解锁检测
Stars: ✭ 121 (-79.17%)
Mutual labels:  bilibili, youtube
Rsshub
🍰 Everything is RSSible
Stars: ✭ 18,111 (+3017.21%)
Mutual labels:  bilibili, youtube
Bililive Go
一个直播录制工具
Stars: ✭ 529 (-8.95%)
Mutual labels:  bilibili
Youtube Transcript Api
This is a python API which allows you to get the transcript/subtitles for a given YouTube video. It also works for automatically generated subtitles and it does not require a headless browser, like other selenium based solutions do!
Stars: ✭ 495 (-14.8%)
Mutual labels:  youtube
Maia Yt
Currently codenamed maia-yt is a userscript (and browser extension) that enhances the user's experience on YouTube.
Stars: ✭ 493 (-15.15%)
Mutual labels:  youtube
Youtubekit
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app
Stars: ✭ 484 (-16.7%)
Mutual labels:  youtube
Pip Tool
PiP tool is a software to use the Picture in Picture mode on Windows. This feature allows you to watch content (video for example) in thumbnail format on the screen while continuing to use any other software on Windows.
Stars: ✭ 572 (-1.55%)
Mutual labels:  youtube
Website
The train engine powering the Coding Train website
Stars: ✭ 5,313 (+814.46%)
Mutual labels:  youtube
Poster Girl L2d 2233
🍬 The live2d poster girl plugin of 22&33 for WordPress
Stars: ✭ 517 (-11.02%)
Mutual labels:  bilibili
Termplay
GitLab: https://gitlab.com/jD91mZM2/termplay
Stars: ✭ 500 (-13.94%)
Mutual labels:  youtube
My Actions
爱奇艺会员签到抽奖,腾讯视频会员签到,哔哩哔哩签到,中国电信签到,V2ex签到,哔咔漫画签到,百度贴吧自动签到
Stars: ✭ 518 (-10.84%)
Mutual labels:  bilibili
Bbdown
Bilibili Downloader. 一款命令行式哔哩哔哩下载器.
Stars: ✭ 492 (-15.32%)
Mutual labels:  bilibili
Lightgallery.js
Full featured JavaScript image & video gallery. No dependencies
Stars: ✭ 5,168 (+789.5%)
Mutual labels:  youtube
Rssbox
📰 I consume the world via RSS feeds, and this is my attempt to keep it that way.
Stars: ✭ 492 (-15.32%)
Mutual labels:  youtube
Jquery Popup Overlay
jQuery plugin for responsive and accessible modal windows and tooltips
Stars: ✭ 511 (-12.05%)
Mutual labels:  overlay
Invidious
Invidious is an alternative front-end to YouTube
Stars: ✭ 6,488 (+1016.7%)
Mutual labels:  youtube
Awesome Userscripts
📖 A curated list of Awesome Userscripts.
Stars: ✭ 508 (-12.56%)
Mutual labels:  youtube
Valorantstreamoverlay
Stars: ✭ 508 (-12.56%)
Mutual labels:  overlay

Comen

MIT License PRs Welcome

当前仍在活跃开发中,代码结构可能尚未稳定,并行开发请注意代码的破坏更新 , 原项目【bilichat】请查看bilichat分支

Comen是一个主要用于在网络直播中向观众展示当前直播间实时评论流的工具。

主要特性

  • 多平台支持:默认提供了Acfun,Bilibili的接入实现。合理的抽象低耦合设计使得新平台的接入也很容易。
  • 高可靠性:不只是一个爱好项目。原项目已运行两年的时间,积累了各种对用户体验和异常处理的优化。
  • 兼容Youtube评论栏样式,只需修改URL就能迁移。
  • 高度自定义 (计划中,TBD)
  • 作为原项目的延续,提供用户几乎无感知的兼容。

贡献代码

本项目主要技术栈为前端Angular+后端Nestjs,即完全使用TypeScript(JavaScript)实现。

本项目使用到了nx workspace作为管理代码的工具。本项目是一个monorepo的结构,所以任何本项目开源的部分都能在此仓库找到。

代码结构

- apps
    - core    --- 前端项目
    - node-backend    --- 后端的node(cli)包装
- libs
    - backend-core    --- 后端的可嵌入式实现
    - common          --- 常用与扩展代码
    - gamma           --- 兼容Youtube的评论栏渲染器(Angular组件库)
    - isomorphic-danmaku            --- 同构弹幕,实现了acfun、bilibili的ws连接
    - isomprphic-danmaku-server     --- 同构弹幕,服务端only部分

调试运行 拉取仓库后,首先安装项目依赖

npm install

然后分别打开前端与后端的dev-server

nx serve core
nx serve node-backend

现在可以对代码进行更改了。任何有关代码更改都会触发自动刷新。

我想贡献一些新功能/我想修复一些问题

本项目的主要目标是将一类实时/非实时评论流在任何兼容html5的平台上渲染出来。在抽象设计上,本项目可分成三大部分:评论源(source),过滤器(filter)和渲染器(renderer)

  • 我想添加一个新的平台实现

参考 apps/core/src/app/sources 下的文件。你需要实现MessageSource接口,其中connect方法就是返回一个生产Message的可观察对象。

  • 我想修改过滤相关的代码

参考 apps/core/src/app/common/filter.ts 。过滤器是通过rxjs的pipe实现的,强烈建议熟练掌握rxjs,或仅在现有的代码上修改。原理上有点类似于后端的middleware,但rxjs的可观察对象概念要复杂一些,涉及到错误处理,subscription和complete的处理。 另外你还可能需要参考各类Message对象的定义(common包的message.ts)。他们只是单纯的数据对象,不涉及到类也没有成员函数。这些类型定义可能并不稳定。Message由source生成,经过filter后最终流向renderer。但并不是所有类型(以type字段区分的类型)都会被renderer处理。filter也有可能在中间对类型对象数据进行转换/变更。

  • 我想修改渲染相关的代码

所有渲染相关代码都在libs/gamma包内。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].