首页
/ MovieNight 开源项目使用教程

MovieNight 开源项目使用教程

2024-09-07 23:56:13作者:乔或婵

1. 项目目录结构及介绍

MovieNight 项目的目录结构如下:

MovieNight/
├── Dockerfile
├── Makefile
├── README.md
├── docker-compose.yml
├── main.go
├── settings_example.json
├── static/
│   ├── css/
│   ├── js/
│   └── ...
├── templates/
│   └── ...
└── ...

目录结构介绍

  • Dockerfile: 用于构建 Docker 容器的文件。
  • Makefile: 用于编译项目的 Makefile 文件。
  • README.md: 项目的基本介绍和使用说明。
  • docker-compose.yml: 用于定义和运行多容器 Docker 应用程序的文件。
  • main.go: 项目的入口文件,包含主要的程序逻辑。
  • settings_example.json: 配置文件的示例,包含了项目的各种配置选项。
  • static/: 存放静态文件(如 CSS、JavaScript 等)的目录。
  • templates/: 存放 HTML 模板文件的目录。

2. 项目启动文件介绍

启动文件:main.go

main.go 是 MovieNight 项目的入口文件,负责初始化并启动整个应用程序。以下是 main.go 的主要功能:

  • 初始化配置: 从配置文件中读取配置信息,并根据配置启动应用程序。
  • 启动 HTTP 服务器: 监听指定的端口(默认 :8089),提供 Web 服务。
  • 启动 RTMP 服务器: 监听指定的 RTMP 端口(默认 :1935),用于流媒体传输。
  • 处理命令行参数: 支持通过命令行参数覆盖配置文件中的设置。

启动命令

$ go run main.go

3. 项目配置文件介绍

配置文件:settings_example.json

settings_example.json 是 MovieNight 项目的配置文件示例,包含了项目的各种配置选项。以下是配置文件的主要内容:

{
  "AdminPassword": "admin_password",
  "Bans": [],
  "LetThemLurk": false,
  "ListenAddress": ":8089",
  "LogFile": "logfile.log",
  "LogLevel": "debug",
  "MaxMessageCount": 300,
  "NewPin": true,
  "NewStreamKey": true,
  "PageTitle": "Movie Night",
  "RegenAdminPass": true,
  "RoomAccess": "pin",
  "RtmpListenAddress": ":1935"
}

配置项介绍

  • AdminPassword: 管理员密码,用户可以通过 /auth <value> 命令获取管理员权限。
  • Bans: 被禁止的用户列表。
  • LetThemLurk: 如果为 false,当用户进入或离开聊天室时会进行公告。
  • ListenAddress: MovieNight 监听的端口,格式为 :8089
  • LogFile: 日志文件的路径。
  • LogLevel: 日志级别,默认为 debug
  • MaxMessageCount: 聊天窗口中显示的最大消息数量。
  • NewPin: 如果为 true,服务器启动时会重新生成 RoomAccessPin
  • NewStreamKey: 如果为 true,服务器启动时会使用随机的 StreamKey
  • PageTitle: 页面标题的基本字符串,当流标题通过 /playing 命令设置时,会附加在标题后面。
  • RegenAdminPass: 如果为 true,服务器启动时会重新生成 AdminPassword
  • RoomAccess: 聊天室的访问策略,由应用程序管理,不应手动编辑。
  • RtmpListenAddress: RTMP 服务器监听的端口,格式为 :1935

通过修改 settings_example.json 文件中的配置项,可以自定义 MovieNight 的行为和功能。

登录后查看全文
热门项目推荐
相关项目推荐