
亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!
引言
不是标题党,正如粉丝所说,他是真的靠这个工具月收入突破四位数,当然了,其实也就是千把块钱,不过你要知道NAS放着也是放着,7x24小时的运行虽说一个月下来电费并不算多,但NAS购置的投入其实也是算成本的,毕竟一台NAS加上四盘位塞满,即便是用矿渣怎么说也要千把块钱吧!

先说说粉丝他是做什么副业赚钱的,不知道诸位有没有听说过直播切片,很多人不喜欢或者没时间看喜欢的UP直播,所以直播切片投稿的视频就成了这些人的电子榨菜,早些年有一位芜湖的仙人,他的各种直播切片只要发出去基本流量至少都是以万计数的,稍微有点节目效果直接几十万百万都有可能,靠着各大平台的分发,一个月下来早期的切片“达人”我了解的收入五位数都有。

而要获得直播切片,那自然需要蹲守直播间去录制,所以粉丝介绍了他用到的直播录制工具-Stream-rec。这是一款全自动的录制工具,Stream-rec像一位 24 小时待命的“数字助手”,能自动抓取虎牙、抖音、斗鱼、Twitch 等主流平台的直播内容,连弹幕都帮你完整保存。(项目地址:https://github.com/stream-rec/stream-rec)
功能列表:
- 自动录播,可配置录制质量,路径,格式,并发量,分段录制(时间或文件大小),分段上传,根据直播标题和开始时间自动命名文件。
- 自动弹幕录制(XML 格式),可使用 DanmakuFactory 进行弹幕转换,或配合AList来实现弹幕自动挂载。
- 使用 SQLite 持久化存储录播和上传信息
- 支持 Rclone 上传到云存储
- 使用 Web 界面进行配置
- 支持 Docker
支持 FLV AVC 修复
部署机
本次用到的是绿联的DXP6800 Pro,也是目前第一梯队的NAS成品。6800 Pro的性能以及扩展性感觉再用十年都不成问题,双万兆电口后续升级网络也完全够用,而满槽的PCIE口即便是接显卡或者拓展万兆网口等也能战未来,加上如今的UGOS Pro体验感越来越好,6800 Pro现在已经变成我的“钉子户”NAS了。

项目部署
Stream-rec的部署并不难,因为项目前后端分离,所以这里我们需要都部署上,用绿联Docker应用的项目功能,使用Compose配置文件来部署就要方便很多。

首先我们需要修改以下Docker compose文件,将其中的关键部分根据自身NAS环境做一下修改,例如密码、路径等等。
networks:
stream-rec:
services:
# 后端服务
backend:
# 使用最新的主分支镜像
# 如果您想使用特定版本,请更改为streamrec/stream-rec:version
# 您可以在https://hub.docker.com/r/streamrec/stream-rec/tags中找到所有可用的版本
# latest是最新稳定内测版本,dev 是最新开发版。
image: streamrec/stream-rec:latest
# 容器名称,您可以将其更改为任何您喜欢的名称
container_name: stream-rec
restart: unless-stopped
# 端口映射,您可以将端口更改为任何您喜欢的端口,默认为12555
# 请注意,如果您更改了端口,请确保在前端服务中更改相关配置。
ports:
- "12555:12555"
networks:
- stream-rec
volumes:
# 将主机机器路径绑定到容器路径,存储路径映射
# 下载路径,默认为当前运行目录下的downloads文件夹
- "./downloads:/opt/records"
# Rclone 配置文件路径绑定
- "./rclone:/root/.config/rclone"
# 环境变量
environment:
# 时区,默认为 Europe/Paris,您可以将其更改为任何您喜欢的时区,请确保前端服务中的时区与此处一致。
- TZ=Asia/Shanghai
# 代理设置,如果您在中国大陆,您可能需要设置代理。
# 不需要代理的用户请将其注释掉。 只支持http代理。
#- HTTP_PROXY=http://192.168.110.10:7890
# 日志级别,默认为info。调试日志对于调试非常有用,但可能非常冗长。 遇到问题时,您可以将其更改为debug。
- LOG_LEVEL=INFO
# 容器数据库路径
- DB_PATH=/opt/records
# 容器第一次初始化下载路径
- DOWNLOAD_PATH=/opt/records
# 初始化登录密钥,您可以将其更改为任何您喜欢的字符串, 用于登录
# 请注意,该密钥只有第一次运行时有效,后续更改不会生效
- LOGIN_SECRET=123 // [!code highlight]
# 用户组ID
- PGID=1000
# 用户ID
- PUID=1000
# 前端服务
frontend:
# 使用最新的主分支镜像,请确保与后端服务tag一致
# 如果您想使用特定版本,请更改为streamrec/stream-rec-front:version
# 您可以在https://hub.docker.com/r/streamrec/stream-rec-front/tags 中找到所有可用的版本
# latest是最新稳定内测版本,dev 是最新开发版。
image: streamrec/stream-rec-front:latest
# 容器名称,您可以将其更改为任何您喜欢的名称
container_name: stream-rec-frontend
restart: unless-stopped
# 端口映射,您可以将端口更改为任何您喜欢的端口,默认为15275
ports:
- "15275:15275"
networks:
- stream-rec
depends_on:
- backend
# 环境变量
environment:
# 时区,默认为 Europe/Paris,您可以将其更改为任何您喜欢的时区。
- TZ=Asia/Shanghai
# 后端api url,由容器名称和端口组成。 如果您不知道自己在做什么,请不要更改它。
- API_URL=http://backend:12555/api
# 加密密钥,用于next-auth,您可以将其更改为任何您喜欢的字符串
- AUTH_SECRET=6chtw8GBN3BO // [!code highlight]
# 是否存在反代,列如NGINX。建议打开,NEXT_AUTH暂时有bug
- AUTH_TRUST_HOST=true
# 域名基础URL。 用于next-auth重定向登录页面。
# - NEXT_PUBLIC_BASE_URL=https://abc.xyz
# 域名自定义路径,无需求请不要填写。
# - NEXT_PUBLIC_BASE_PATH=/webui
# WS_API_URL,客户端websocket url。 用于实时状态更新。
# 这应该使用部署服务器的ip地址。
# 例如,以下是使用localhost的示例,您可以将其更改为部署服务器的ip地址。
# 例如,如果后端部署在12.12.12.12的服务器上,端口为12555,则应将其更改为 ws://12.12.12.12:12555/live/update
- WS_API_URL=ws://localhost:12555/live/update
修改好之后将其直接复制粘贴到compose配置文件中,填写好项目名称,确定好项目的存放路径。点击立即部署,这时候绿联会自动拉取项目的前后端,随后根据配置文件进行容器部署。

部署之后项目中会有前端和后端两个容器,查看日志无报错这时候项目也便成功部署好了。
项目使用
这时候我们浏览器输入前端项目的地址,也就是http://绿联IP:15275就能访问Web界面了,默认的登录密码为stream-rec,只有在第一次运行时有效,所以登陆之后记得修改密码。(如果设置了LOGIN_SECRET变量,那么密码就为该值)

登陆之后首先是控制面板,能看到今年、本周的下载和上传量,下面有录制状态的展示。

在主播列表这里,我们可以选择添加主播,填好直播的名称、链接、录制时间和结束时间,随后保存即可。

添加好之后回到主播列表,这时候就能看到主播当前的状态信息,在主播信息上面点击暂停即可停止录制。

在设置界面可对直播录制进行全局设置,例如下载引擎、是否分段、分段时长、下载文件格式以及并发下载数量等等,全局设置好之后,如果没有单独对主播进行设置,那么都将会采用全局的策略进行直播的录制。

当然了,Stream-rec也提供了单独平台的设置界面,你可以对每个平台进行独立的全局设置。同事每个平台可设置的项目都有所不同,让熊猫比较惊讶的是,PandaTV居然还有,这不是已经死去的平台嘛?

录制完成的素材可以在录播列表中找到,项目支持下载以及直接观看。

写在最后
工具是个好工具,界面的UI设计也非常简洁明了,几乎没有什么上手难度。不过熊猫感觉如果想要考切片直播的方式赚钱,那是不是还需要拿到授权才行呢?这一点粉丝没有详细透露,估计这才是赚钱的主要原因,最后也希望大家新的一年都能有不错的事业!
以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!三连