全球主机交流论坛

标题: 一键搭建私有影音系统,支持Docker、linux、windows和macOS桌面版 [打印本页]

作者: jekyll    时间: 2025-4-11 17:34
标题: 一键搭建私有影音系统,支持Docker、linux、windows和macOS桌面版
本帖最后由 jekyll 于 2025-4-11 17:42 编辑


系统工作原理:
设置监控目录,该目录下有新增视频文件(例如aria2或qBittorrent下载完毕)时,自动将视频文件转换为兼容web播放器编码的hls协议流媒体文件,并提取出封面。
后续计划增加AI分类和剧情简介总结功能。
docker和linux server版仅支持目录监控方式工作,桌面版支持手动添加视频文件

Docker镜像地址:
https://hub.docker.com/r/d9ee/lss

特色:

跨平台、跨系统
可在armhf、arm64、amd64架构的linux、windows、macOS系统上运行

资源占用小
如果视频源本身为h264+aac格式,1GB视频3秒即可完成发布

支持自定义h264编码器
支持水印
支持m3u8加密
支持自定义m3u8和ts后缀名称
支持自动发布到对象存储
内建web播放器服务
内建内网穿透服务

作者: 枝江小狼王    时间: 2025-4-11 18:01
楼主自己搞的项目吗, 帮顶一下
作者: abmin    时间: 2025-4-11 18:35
最想支持RSS订阅。楼主考虑下。然后放NAS
作者: jekyll    时间: 2025-4-11 18:43
abmin 发表于 2025-4-11 18:35
最想支持RSS订阅。楼主考虑下。然后放NAS

RSS订阅具体指的是什么?
web server添加一个路由,输出RSS格式的信息吗?
作者: scheme    时间: 2025-4-11 18:53
大佬开源么?
作者: afkool    时间: 2025-4-11 19:04
  1. 如果视频源本身为h264+aac格式,1GB视频3秒即可完成发布
复制代码

切这么快嘛?
作者: jekyll    时间: 2025-4-11 19:07
afkool 发表于 2025-4-11 19:04
切这么快嘛?

不转码只切片,很快的。
作者: jekyll    时间: 2025-4-11 19:09
scheme 发表于 2025-4-11 18:53
大佬开源么?

我git只会push和pull,暂时没能力review和merge别人的代码。
作者: scheme    时间: 2025-4-11 19:23
jekyll 发表于 2025-4-11 19:09
我git只会push和pull,暂时没能力review和merge别人的代码。

可以写明不接收其他人代码
作者: jekyll    时间: 2025-4-12 09:52
scheme 发表于 2025-4-11 19:23
可以写明不接收其他人代码

那为什么开源呢?
我是健身教练,又不是程序员,需要star找工作。
作者: 逍遥自在    时间: 2025-4-12 10:05
abmin 发表于 2025-4-11 18:35
最想支持RSS订阅。楼主考虑下。然后放NAS

有必要放NAS?他不都带影音播放器吗
作者: Keensword    时间: 2025-4-12 10:39
很强大
作者: M100700    时间: 2025-4-12 13:15
不转码几乎等于没用
作者: jekyll    时间: 2025-4-12 14:12
M100700 发表于 2025-4-12 13:15
不转码几乎等于没用

可以转码
不转码只是对你没用,上个月20号我一个用户单日收入破5位数了。
作者: keylows    时间: 2025-4-12 14:31
那至少需要预留一半的空间吧,如果我16T的盘装了12T视频
作者: jekyll    时间: 2025-4-12 14:54
keylows 发表于 2025-4-12 14:31
那至少需要预留一半的空间吧,如果我16T的盘装了12T视频

对工作原理理解的很到位,是这样的
不过暂时不建议处理大量视频,目前的功能,更适合轻度使用
12T视频,可能163爆米花之类的更好用。
作者: jekyll    时间: 2025-4-12 14:58
keylows 发表于 2025-4-12 14:31
那至少需要预留一半的空间吧,如果我16T的盘装了12T视频

另外分割切片,会导致本身1个视频变成成百上千个文件
大量文件的定时扫描I/O压力我还没有测试
目前扫描只是读取文件名后缀来识别m3u8,不读写文件内容,操作系统底层的逻辑不是很清楚,不确定会不会导致持续高负载
作者: M100700    时间: 2025-4-13 00:14
jekyll 发表于 2025-4-12 14:12
可以转码
不转码只是对你没用,上个月20号我一个用户单日收入破5位数了。 ...

量小是可以不转。一旦你量大了,存储和带宽都是钱,你不转你的成本就高很多

话又说回来,你量小你做不大你赚什么钱?投资100块,翻100倍也才赚1万,我投10万只赚20%都有2万了。

很简单的道理
作者: tomcb    时间: 2025-4-13 01:15
M100700 发表于 2025-4-13 00:14
量小是可以不转。一旦你量大了,存储和带宽都是钱,你不转你的成本就高很多

话又说回来,你量小你做不大 ...

投资100块,翻100倍也才赚1万。

那投多100就有2W了,剩下的99800去会所或下馆子,赢麻了。
作者: h1xy    时间: 2025-4-13 03:49
可以监控远程服务器的目录吗
作者: muyijiang    时间: 2025-4-13 07:54
不支持内容分发吗?
作者: jekyll    时间: 2025-4-13 10:50
muyijiang 发表于 2025-4-13 07:54
不支持内容分发吗?

以后会加带时限和访问次数限制的外链分享,但不会往影视CMS方向发展。
现在的功能,配上火车头,带上cookie直接采集streamer.html,配合S3 API发布,已经可以实现发布到任何CMS了。
作者: jekyll    时间: 2025-4-13 10:54
h1xy 发表于 2025-4-13 03:49
可以监控远程服务器的目录吗

可以,但是比较麻烦,建议直接在远程服务器部署。
目前的监控,SMB协议直接挂载无法识别新增文件,但是rclone挂载理论上应该可以,我没有测试。
作者: jekyll    时间: 2025-4-13 10:59
M100700 发表于 2025-4-13 00:14
量小是可以不转。一旦你量大了,存储和带宽都是钱,你不转你的成本就高很多

话又说回来,你量小你做不大 ...

第一,这个系统可以转码,而且只要你有技术,想怎么转就怎么转,还能实现跑马灯水印。
第二,我没说不需要转码,只是我自己包括建议别人的方案都是不要在hls服务器转码,使用本地带GPU的机器转好了再传服务器切片,成本相对低一点,对hls服务器的配置要求低很多。
作者: 木肀几    时间: 2025-4-13 11:01
开源的?
作者: muyijiang    时间: 2025-4-13 12:30
  1. lss  | 2025-04-13T04:27:15.189Z [ERRO] failed to load config of ffmpeg.group: possible config files "streamer" or "streamer.toml/yaml/yml/json/ini/xml/properties" not found in resource manager or following system searching paths:
  2. lss  | 1. /home/lss/
  3. lss  | 2. /home/lss/config
  4. lss  | 3. /home/lss/manifest/config
  5. lss  | 2025-04-13T04:27:15.191Z [ERRO] failed to load config of ffmpeg.unsafe: possible config files "streamer" or "streamer.toml/yaml/yml/json/ini/xml/properties" not found in resource manager or following system searching paths:
  6. lss  | 1. /home/lss/
  7. lss  | 2. /home/lss/config
  8. lss  | 3. /home/lss/manifest/config
  9. lss  | 2025-04-13T04:27:15.191Z [ERRO] failed to load config of watch: possible config files "streamer" or "streamer.toml/yaml/yml/json/ini/xml/properties" not found in resource manager or following system searching paths:
  10. lss  | 1. /home/lss/
  11. lss  | 2. /home/lss/config
  12. lss  | 3. /home/lss/manifest/config
  13. lss  | 2025-04-13T04:27:15.293Z [INFO] {1de3c92746c635182b1ab70526766110} scan Cycle completed, taken: 147.101µs
复制代码

作者: jekyll    时间: 2025-4-13 13:21
muyijiang 发表于 2025-4-13 12:30


看起来像是没有映射config目录或者映射了,但是没有添加streamer.yaml配置文件。

如果你的config目录映射没问题,而且streamer.yaml文件也存在的话。
应该是streamer.yaml的格式被你的文本编辑器改成了GB2312导致的,软件只支持读取utf-8编码。
作者: M100700    时间: 2025-4-13 13:23
jekyll 发表于 2025-4-13 10:59
第一,这个系统可以转码,而且只要你有技术,想怎么转就怎么转,还能实现跑马灯水印。
第二,我没说不需 ...

OKOK
作者: 江阿生    时间: 2025-4-13 14:47
自从有了威#尼#斯#人  新#葡#京 再也没下载过影视剧、

作者: jekyll    时间: 2025-4-13 15:27
江阿生 发表于 2025-4-13 14:47
自从有了威#尼#斯#人  新#葡#京 再也没下载过影视剧、

现在的各种去水印解析,能看的时候,效果比你说的好得多,就是解析接口不稳定。
我已经很久不看原盘了,主要口罩之后已经没有好电影了。
作者: Taozi166    时间: 2025-4-13 15:45
大佬,现在在本地没问题了,测试局域网也正常,现在如何上传到公网上?思路是不是先用win转码完成后,在用docker部署在公网上,将转码出来的上传到docker里?
作者: jekyll    时间: 2025-4-13 16:02
本帖最后由 jekyll 于 2025-4-13 16:04 编辑
Taozi166 发表于 2025-4-13 15:45
大佬,现在在本地没问题了,测试局域网也正常,现在如何上传到公网上?思路是不是先用win转码完成后,在用d ...


3种方案:
1、配置gateway后,就能在公网访问,gateway还在调试没有放出,你可以先用我文档里给的测试节点。
第1种,带宽和tcp连接数有限制,只能1~2个人看。
2、端口映射,包括本地公网直接映射或者借助VPS FRP映射。
3、把Stramer目录上传到VPS,nginx反向代理,首页文件类型增加streamer.html即可。这种方式没有鉴权,任何人都能访问。
你说的方案也可以,研究下win目录怎么同步到vps,就可以不用手动上传了,vps上的系统会自动扫描出你映射的Streamer目录里新上传的m3u8文件。


更复杂一点,可以配置自动上传到对象存储的存储桶,然后用火车头采集本地的网页获取标题的m3u8地址,替换m3u8地址前缀,就可以post发布到任意CMS里。
作者: muyijiang    时间: 2025-4-13 16:07
本帖最后由 muyijiang 于 2025-4-13 16:08 编辑
jekyll 发表于 2025-4-13 13:21
看起来像是没有映射config目录或者映射了,但是没有添加streamer.yaml配置文件。

如果你的config目录映 ...


streamer.yaml不是系统自动生成的吗?

  1. lss  | 2025-04-13T04:34:10.198Z [INFO] {6f91f8c1a6c635185cf2862f1c8cfa9d} scan Cycle completed, taken: 962.109µs
  2. lss  | 2025-04-13T04:44:10.198Z [INFO] {bc70da7432c7351864f2862fbc98d4f9} scan Cycle completed, taken: 180.767µs
  3. lss  | 2025-04-13T04:54:10.199Z [INFO] {973aa727bec735186bf2862f04bac8e8} scan Cycle completed, taken: 218.23µs
  4. lss  | 2025-04-13T05:04:10.198Z [INFO] {844d6eda49c835186cf2862f8139779a} scan Cycle completed, taken: 183.241µs
  5. lss  | 2025-04-13T05:14:10.199Z [INFO] {6ab6388dd5c835186df2862fbc6c7266} scan Cycle completed, taken: 184.568µs
  6. lss  | 2025-04-13T05:24:10.198Z [INFO] {24f3fa3f61c935186ef2862fd6b428ce} scan Cycle completed, taken: 243.512µs
  7. lss  | 2025-04-13T05:34:10.199Z [INFO] {d9a1cff2ecc935186ff2862f299b386e} scan Cycle completed, taken: 155.097µs
  8. lss  | 2025-04-13T05:44:10.198Z [INFO] {611b8ea578ca351870f2862f6322bd4c} scan Cycle completed, taken: 184.844µs
  9. lss  | 2025-04-13T05:54:10.198Z [INFO] {6f20545804cb351871f2862ffe4ce328} scan Cycle completed, taken: 138.988µs
  10. lss  | 2025-04-13T06:04:10.198Z [INFO] {d9c5200b90cb351872f2862f4b69bf44} scan Cycle completed, taken: 218.603µs
  11. lss  | 2025-04-13T06:14:10.199Z [INFO] {8eb4f3bd1bcc351873f2862fb17843c2} scan Cycle completed, taken: 183.951µs
  12. lss  | 2025-04-13T06:24:10.198Z [INFO] {d2e1ba70a7cc351874f2862f5be2e9db} scan Cycle completed, taken: 159.587µs
  13. lss  | 2025-04-13T06:34:10.198Z [INFO] {46af802333cd351875f2862f765b2031} scan Cycle completed, taken: 149.153µs
  14. lss  | 2025-04-13T06:44:10.198Z [INFO] {6d324bd6becd351876f2862f27882f30} scan Cycle completed, taken: 232.998µs
  15. lss  | 2025-04-13T06:54:10.198Z [INFO] {bd2612894ace351877f2862f93de12a1} scan Cycle completed, taken: 153.695µs
  16. lss  | 2025-04-13T07:04:10.199Z [INFO] {1447e23bd6ce351878f2862f0396ca28} scan Cycle completed, taken: 137.522µs
  17. lss  | 2025-04-13T07:14:10.198Z [INFO] {53c3a1ee61cf351879f2862fb6f6e5cb} scan Cycle completed, taken: 182.087µs
  18. lss  | 2025-04-13T07:24:10.199Z [INFO] {03de78a1edcf35187af2862f5e6781c1} scan Cycle completed, taken: 204.504µs
  19. lss  | 2025-04-13T07:34:10.198Z [INFO] {ec613a5479d035187bf2862fcbc2068d} scan Cycle completed, taken: 155.525µs
  20. lss  | 2025-04-13T07:44:10.199Z [INFO] {f9fd070705d135187cf2862f17f3df70} scan Cycle completed, taken: 192.902µs
  21. lss  | 2025-04-13T07:54:10.198Z [INFO] {a8d4cbb990d135187df2862f4f6893cc} scan Cycle completed, taken: 227.265µs
  22. lss  | 2025-04-13T08:04:10.198Z [INFO] {496d956c1cd235187ef2862fa2de4fe1} scan Cycle completed, taken: 174.726µs
复制代码

作者: jekyll    时间: 2025-4-13 16:41
muyijiang 发表于 2025-4-13 16:07
streamer.yaml不是系统自动生成的吗?

不是自动生成的,内置有默认初始化参数,如果读取不到streamer.yaml,就用默认参数运行,如果读取到了,就覆盖默认参数。扫描目录是不可配置项,默认就是Streamer目录,所以你的日志里可以正常扫描。
作者: superneed    时间: 2025-4-13 16:52
太专业了,看不懂到底是用来干啥的。
作者: jekyll    时间: 2025-4-13 17:03
superneed 发表于 2025-4-13 16:52
太专业了,看不懂到底是用来干啥的。

有点用的小玩具,需求是用户提的,慢慢加上去,后面会加外链分享和防CC防盗链。

假如你家里电脑上下载一部20G的电影,出差在外面,直接看可能比较费流量,或者NAS转码推流速度小于1.0x就会卡顿,或者没有字幕,用这个可以拿时间换性能,提前处理好,把字幕压进去,看的时候节省流量还不卡。
作者: superneed    时间: 2025-4-13 17:14
jekyll 发表于 2025-4-13 17:03
有点用的小玩具,需求是用户提的,慢慢加上去,后面会加外链分享和防CC防盗链。

假如你家里电脑上下载一 ...

我是有个nas,但装了飞牛系统,公网上也是免费看的。你这个是能压缩视频大小?
作者: jekyll    时间: 2025-4-13 17:27
superneed 发表于 2025-4-13 17:14
我是有个nas,但装了飞牛系统,公网上也是免费看的。你这个是能压缩视频大小? ...

飞牛的影视不是不能用他们家的内网穿透么?你自己映射的公网?
飞牛和plex、jellyfin之类的遇到很大的原盘,也会转码视频,但是是实时的,对硬件要求高。
我这个是提前压制好,我自己没有存储原盘的习惯,所以用这个压完删掉原始视频可以节省硬盘。
作者: Taozi166    时间: 2025-4-13 17:38
jekyll 发表于 2025-4-13 17:27
飞牛的影视不是不能用他们家的内网穿透么?你自己映射的公网?
飞牛和plex、jellyfin之类的遇到很大的原 ...

win转完后,大小反而比之前还大了
作者: jekyll    时间: 2025-4-13 19:31
Taozi166 发表于 2025-4-13 17:38
win转完后,大小反而比之前还大了

那你要自定义转码参数了,把crf调高,默认的23对于码率比较高的片源有点过剩,改为28可以降1半。
作者: jekyll    时间: 2025-4-13 19:35
Taozi166 发表于 2025-4-13 17:38
win转完后,大小反而比之前还大了

另外开启加密会导致总大小增加10%~20%,原始码率越低,增加的比例越大。
作者: yuanhua    时间: 2025-4-14 18:34
大佬这套系统能防猫抓这样的浏览器嗅探资源吗?演示站资源可以直接下载!
作者: jekyll    时间: 2025-4-14 18:44
yuanhua 发表于 2025-4-14 18:34
大佬这套系统能防猫抓这样的浏览器嗅探资源吗?演示站资源可以直接下载! ...

不能防,以后会加防盗链、防CC、CSP,但不会加DRM。
免费轻量DRM会在另一个项目里出。
作者: yuanhua    时间: 2025-4-14 18:46
jekyll 发表于 2025-4-14 18:44
不能防,以后会加防盗链、防CC、CSP,但不会加DRM。
免费轻量DRM会在另一个项目里出。 ...

大佬辛苦了,期待免费清凉的的DRM
作者: abmin    时间: 2025-4-14 23:57
本帖最后由 abmin 于 2025-4-14 23:59 编辑
jekyll 发表于 2025-4-11 18:43
RSS订阅具体指的是什么?
web server添加一个路由,输出RSS格式的信息吗?


功能:RSS订阅下载   功能目标:定时刷新rss连接,发现RSS连接更新内容后,提取下载目标URL,添加到QB。

大概就是这样。QB有这个RSS订阅功能,但是,QB无法把下载内容自动分文件夹。

比如:我要下载123
QB会把123的默认文件层格式下载下来。不会自动加上资源名文件夹。

我创建了一个电影的文件夹,用来存放QB下载的电影,QB的下载存储方式为:(电影1.文件夹)或(电影1.MP4)。所以每次你在QB订阅RSS连接,都需要给这个连接创建一个存储条件。


对于我这种强迫症,我希望,我创建了一个电影文件夹,把这个存储条件套用到任何下载电影的RSS连接中,这样,每次,就会自动下载到电影文件夹中,并使用RSS连接资源名创建文件夹
作者: jekyll    时间: 2025-4-15 00:18
abmin 发表于 2025-4-14 23:57
功能:RSS订阅下载   功能目标:定时刷新rss连接,发现RSS连接更新内容后,提取下载目标URL,添加到QB。
...

PTT(PT-Tool)不能满足你的要求吗?
作者: abmin    时间: 2025-4-16 17:30
jekyll 发表于 2025-4-15 00:18
PTT(PT-Tool)不能满足你的要求吗?

主要是想在NAS上部署,其余的类似软件有,但是,只支持PT站。
作者: 56143575    时间: 2025-4-16 22:56
清晰度咋样
作者: jekyll    时间: 2025-4-17 15:43
56143575 发表于 2025-4-16 22:56
清晰度咋样

清晰度和你的视频源和压制参数有关,一般crf 23 可以保证高画质,但文件可能比较大,crf 28画质相对差一点,大小减少一半。
作者: jekyll    时间: 2025-4-17 15:48
abmin 发表于 2025-4-16 17:30
主要是想在NAS上部署,其余的类似软件有,但是,只支持PT站。

你说的这种我以前做过一个,自己连吃了好几个H&R标记之后就没再用了。
要写一个好用的太难了。
nas上应该有同类软件吧,那么多pt佬。
作者: jekyll    时间: 2025-4-17 16:16
abmin 发表于 2025-4-16 17:30
主要是想在NAS上部署,其余的类似软件有,但是,只支持PT站。

这个你试过吗?
https://hub.docker.com/r/crazyq/pt_helper
作者: abmin    时间: 2025-4-21 21:26
jekyll 发表于 2025-4-17 16:16
这个你试过吗?
https://hub.docker.com/r/crazyq/pt_helper

请问,是支持所有RSS,还是说只支持PT站RSS?
作者: 神秘北极圈    时间: 2025-4-21 21:52
就是和在线看片网站那种,鼠标放上去,自动会缩放GIF么
作者: jekyll    时间: 2025-4-22 15:41
abmin 发表于 2025-4-21 21:26
请问,是支持所有RSS,还是说只支持PT站RSS?

只支持PT
作者: jekyll    时间: 2025-4-22 15:44
神秘北极圈 发表于 2025-4-21 21:52
就是和在线看片网站那种,鼠标放上去,自动会缩放GIF么

这个需要生成预览图片vtt,很实用的功能,以后有空会考虑实现。




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4