KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
Swellow
★ 11
Open GitHub ↗
以自己的理解摸索实现一个类似emby核心功能的本地影视管理工具。
Download README (.md)
Explore Similar Repositories
web3-example
:
Using Web3.js to Send Transactions on BSC
ar3_hardware_mods
:
Hardware modifications for the AR3
ChromeDino-CE
:
Chrome Dino running on STM32
machine_learning_for_persistence
:
No description available.
dev-achievements
:
Earn Achievements while learning how to code
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
Swellow
?
Download (.md)
# 还未到达可以git clone在本地测试的地步。 # 每天写一点点,任重道远…… # Swellow  ## 1 是什么 作者以自己的理解摸索实现一个`模仿emby`核心功能的、BS模式的本地影视管理工具。 技术栈涉及[Asp.Net Core5.0(Web Api后端)](https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-5.0)、[Blazor WASM(前端Web)](https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-5.0)、[EF Core(数据库访问)](https://docs.microsoft.com/zh-cn/ef/core/),前端UI设计使用[Bootstrap](https://v4.bootcss.com/)和[BootstrapBlazor](http://blazor.sdgxgz.com/)。 Swellow的名称来自《精灵宝可梦》中的“傲骨燕/大王燕”。 ## 2 实现功能 ### 2.1 影视信息收集存储 #### 2.1.1 元数据来源 * 爬虫 * 从有影视信息的网站抓取 * 问题麻烦比较多,针对特定网站定制化繁琐,增加网站负担…… * 网站提供的API接口 * 豆瓣之前有,但现在好像没了,或者收费了。 * `TMDB有接口,有使用文档,目前起步会采用它。` * 除了连接国外网站不稳定,要代理,其他没什么大问题。 * 自建信息分发仓库 * 不管信息源头从哪来,先由作者先行获得,再存储在作者这里。 * 借用阿里云数据库等云平台,`由作者充当豆瓣或TMDB的角色`。 * 需要用户付费,向阿里付费。 * 用户可以在本地维护修元数据,并向作者提交完善。 * 这种方式未来可行,如果未来很美好的话。 #### 2.1.2 图片字幕等 * 和元数据类似,主要分歧在于从哪来。 * 存储的成本比元数据高很多。 * 还是从TMDB来。 #### 2.1.3 用户本地存储信息 * 目前的想法,两个数据库。 * 一个是原始的影视信息(标题、简介)数据库,与Swellow本身并无绝对依赖关系。 * 一个是Swellow运转所需的数据库,如“页面显示的标题:流浪地球(2019)”,而不是“标题:流浪地球”。 * 当用户重新设置“页面显示的标题”的组成格式,如“标题+(+主要演员们+)”,则重新从第一个数据库拿信息,重写新标题“流浪地球(吴京 吴孟达 屈楚萧 赵今麦)”保存到第二个数据库中。 * 备份 * 第一个数据库的信息来源是2.1.1讨论的问题,它甚至可以是从作者处直接下载的数据库文件。 * 第二个数据库是依据用户的个人设置,可以快速生成的本地化数据。备份的意义不大。 * 问题 * 作者个人的局限,没接触过具体的工程项目,暂时只想到这种解决方式。 ### 2.2 前端页面与模型 #### 2.2.1 Home * 页面 * - [x] 呈现所有媒体库 * - [ ] 上一次观看内容 * - [ ] 最新加入内容 * - [ ] …… #### 2.2.2 媒体库 * 模型 * 用户建立的媒体库,包含一个或多个本地文件夹下的视频。 * 媒体库的性质可以是电影、电视剧、混合电影+电视剧。 * 页面 * - [x] 媒体库详情页,呈现下辖所有作品 * - [ ] 随机播放、排序等按钮功能 * - [ ] …… #### 2.2.3 电影 * 模型 * 页面上所需的各种信息,标题、年份、导演、演员、简介等。 * 一部作品只要是单集(但可以多cd)就可以算作电影。 * 电影可以属于一个系列,比如《超凡蜘蛛侠》系列,或者更大的《漫威宇宙》系列。 * 有了系列后,电影也趋向于电视剧,界限开始模糊。 * 页面 * - [x] 播放 * - [ ] 编辑元数据 * - [ ] …… #### 2.2.3 电视剧 * 模型 * 和电影大同小异。 * 一部电影可能有多季,一季当然也有多集。 * 番外篇。 * 页面 * - [x] 播放 * - [ ] 编辑元数据 * - [ ] …… #### 2.2.4 演职人员 * 模型 * 人物的基本信息,参演的作品,导演的作品。 * 不明确具体是演员还是导演,只在影视作品的详情页区分开来。 * 页面 * - [x] 罗列基本信息,参演的作品,导演的作品。 * - [ ] 编辑元数据 * - [ ] …… #### 2.2.5 设置 * 控制台。 * - [ ] 显示Swellow当前的状态。 * 添加媒体库 * - [ ] 在这里添加新的媒体库。 * - [ ] 重新扫描本地文件。 * 设置规范本地 * - [ ] 各种重命名本地文件的公式。 * - [ ] 代理等其他设置 ### 2.3 后端支持 #### 2.3.1 数据库读写 * 读 * 写 #### 2.3.2 组装ViewModel ### 2.4 刮削规范 这超出了一个web应用的功能范畴。 #### 2.4.1 刮削 * 回到信息的收集 #### 2.4.2 规范 * 修改本地文件 * 重命名文件、文件夹、字幕文件。 * 归类。