VDK 项目使用教程
1. 项目的目录结构及介绍
VDK 项目的目录结构如下:
vdk/
├── cmd/
│ ├── rtmp/
│ │ └── main.go
│ └── webrtc/
│ └── main.go
├── config/
│ └── config.go
├── docs/
├── internal/
│ ├── codec/
│ ├── stream/
│ └── utils/
├── pkg/
│ ├── api/
│ ├── rtmp/
│ └── webrtc/
├── vendor/
├── go.mod
├── go.sum
└── README.md
目录介绍
cmd/
: 包含项目的入口文件,分为rtmp
和webrtc
两个子目录,分别对应不同的服务启动入口。config/
: 包含项目的配置文件和配置相关的代码。docs/
: 包含项目的文档文件。internal/
: 包含项目的内部包,如编解码(codec
)、流处理(stream
)和工具类(utils
)。pkg/
: 包含项目的公共包,如API接口(api
)、RTMP协议处理(rtmp
)和WebRTC协议处理(webrtc
)。vendor/
: 包含项目的依赖包。go.mod
和go.sum
: 用于Go模块管理。README.md
: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件位于 cmd/
目录下,分为 rtmp
和 webrtc
两个子目录。
RTMP 服务启动文件
文件路径:cmd/rtmp/main.go
该文件是 RTMP 服务的入口文件,负责启动 RTMP 服务。
WebRTC 服务启动文件
文件路径:cmd/webrtc/main.go
该文件是 WebRTC 服务的入口文件,负责启动 WebRTC 服务。
3. 项目的配置文件介绍
项目的配置文件位于 config/
目录下。
配置文件路径
文件路径:config/config.go
配置文件内容
该文件定义了项目的配置结构体和配置加载逻辑。主要包含以下配置项:
ServerConfig
: 服务器配置,包括监听地址、端口等。StreamConfig
: 流处理配置,包括流地址、流密钥等。LogConfig
: 日志配置,包括日志级别、日志输出路径等。
配置加载逻辑
配置文件通过读取环境变量或配置文件来加载配置,并提供默认值。
以上是 VDK 项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助。