Skip to content

Commit 9c43348

Browse files
committed
doc: update docs
1 parent f498616 commit 9c43348

File tree

16 files changed

+151
-183
lines changed

16 files changed

+151
-183
lines changed

docs/develop/config.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ global:
117117

118118
```yaml
119119
global:
120-
pullProxy: # 拉流代理配置
120+
pullproxy: # 拉流代理配置
121121
- id: 1 # 代理ID
122122
name: "proxy1" # 代理名称
123123
url: "rtmp://..." # 代理地址
124124
type: "rtmp" # 代理类型
125125
pullonstart: true # 是否启动时拉流
126126
127-
pushProxy: # 推流代理配置
127+
pushproxy: # 推流代理配置
128128
- id: 1 # 代理ID
129129
name: "proxy1" # 代理名称
130130
url: "rtmp://..." # 代理地址
@@ -263,13 +263,13 @@ global:
263263
db:
264264
dsn: "host=localhost user=postgres password=postgres dbname=monibuca port=5432 sslmode=disable TimeZone=Asia/Shanghai"
265265
dbtype: "postgres"
266-
pullProxy:
266+
pullproxy:
267267
- id: 1
268268
name: "proxy1"
269269
url: "rtmp://example.com/live/stream"
270270
type: "rtmp"
271271
pullOnStart: true
272-
pushProxy:
272+
pushproxy:
273273
- id: 1
274274
name: "proxy1"
275275
url: "rtmp://example.com/live/stream"

docs/develop/db.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Monibuca 提供了数据库支持功能,可以在全局配置和插件中分
1212
global:
1313
db:
1414
dsn: "数据库连接字符串"
15-
dbType: "数据库类型"
15+
dbtype: "数据库类型"
1616
```
1717
1818
### 插件配置
@@ -23,7 +23,7 @@ global:
2323
pluginName:
2424
db:
2525
dsn: "数据库连接字符串"
26-
dbType: "数据库类型"
26+
dbtype: "数据库类型"
2727
```
2828
2929
## 数据库初始化流程

docs/en/develop/config.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ The system supports pull and push proxy configurations:
117117

118118
```yaml
119119
global:
120-
pullProxy: # Pull proxy configuration
120+
pullproxy: # Pull proxy configuration
121121
- id: 1 # Proxy ID
122122
name: "proxy1" # Proxy name
123123
url: "rtmp://..." # Proxy address
124124
type: "rtmp" # Proxy type
125125
pullonstart: true # Whether to pull on startup
126126
127-
pushProxy: # Push proxy configuration
127+
pushproxy: # Push proxy configuration
128128
- id: 1 # Proxy ID
129129
name: "proxy1" # Proxy name
130130
url: "rtmp://..." # Proxy address

docs/en/develop/db.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Database can be configured in global settings using these fields:
1212
global:
1313
db:
1414
dsn: "database connection string"
15-
dbType: "database type"
15+
dbtype: "database type"
1616
```
1717
1818
### Plugin Configuration
@@ -23,7 +23,7 @@ Each plugin can have its own database configuration:
2323
pluginName:
2424
db:
2525
dsn: "database connection string"
26-
dbType: "database type"
26+
dbtype: "database type"
2727
```
2828
2929
## Database Initialization Process
@@ -93,4 +93,4 @@ Stores push proxy configurations
9393
Stores stream alias configurations
9494

9595
### RecordStream Table
96-
Stores recording-related information (only created when plugin implements Recorder interface)
96+
Stores recording-related information (only created when plugin implements Recorder interface)

docs/en/features/admin.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ Admin service configuration is located in the admin section of the global config
2020
```yaml
2121
global:
2222
admin:
23-
enableLogin: false # Whether to enable login mechanism
24-
filePath: admin.zip # Management interface file path
25-
homePage: home # Management interface home page
23+
enablelogin: false # Whether to enable login mechanism
24+
filepath: admin.zip # Management interface file path
25+
homepage: home # Management interface home page
2626
users: # User list (only effective when login mechanism is enabled)
2727
- username: admin # Username
2828
password: admin # Password
2929
role: admin # Role, optional values: admin, user
3030
```
3131
32-
When `enableLogin` is false, all users access as anonymous users.
32+
When `enablelogin` is false, all users access as anonymous users.
3333
When login mechanism is enabled and there are no users in the database, the system automatically creates a default administrator account (username: admin, password: admin).
3434

3535
### 3. Authentication Mechanism
@@ -109,4 +109,4 @@ All Admin APIs must follow these specifications:
109109
3. Maintainability
110110
- Complete operation logs
111111
- Clear error messages
112-
- Hot configuration updates
112+
- Hot configuration updates

docs/en/features/hook.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ global:
2424
Content-Type: application/json
2525
timeout: 5 # Timeout (seconds)
2626
retry: 3 # Retry count
27-
retryInterval: 1s # Retry interval
27+
retryinterval: 1s # Retry interval
2828
publish_end: # Stream publish end event
2929
url: http://your-server/hook
3030
method: POST
@@ -52,7 +52,7 @@ rtmp: # Plugin name
5252
Content-Type: application/json
5353
timeout: 5
5454
retry: 3
55-
retryInterval: 1s
55+
retryinterval: 1s
5656
```
5757
5858
## Usage Examples
@@ -67,7 +67,7 @@ global:
6767
Content-Type: application/json
6868
timeout: 5
6969
retry: 3
70-
retryInterval: 1s
70+
retryinterval: 1s
7171
subscribe:
7272
url: http://your-server/subscribe-hook
7373
method: POST
@@ -183,4 +183,4 @@ Content-Type: application/json
183183
3. Retry Mechanism
184184
- Check retry configuration
185185
- Verify retry logs
186-
- Confirm retry results
186+
- Confirm retry results

docs/en/features/pull-proxy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ global:
8787
pullurl: "rtsp://192.168.1.100:554/live"
8888
streampath: "live/camera2"
8989
pullonstart: false
90-
stoponjdle: true
90+
stoponidle: true
9191
```
9292
9393
## API Interface Examples

docs/en/features/stream-pushing.md

Lines changed: 24 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -62,40 +62,23 @@ Here are the detailed push (Publish) configuration options that can be used in g
6262
6363
```yaml
6464
publish:
65-
# Maximum number of simultaneous publishers, 0 means unlimited
66-
maxCount: 0
67-
# Whether to publish audio
68-
pubAudio: true
69-
# Whether to publish video
70-
pubVideo: true
71-
# Whether to kick existing publisher with same name
72-
kickExist: false
73-
# No data timeout for publishing
74-
publishTimeout: 10s
75-
# Auto-close delay time (waiting for reconnection)
76-
waitCloseTimeout: 0s
77-
# Auto-close delay time (when no subscribers)
78-
delayCloseTimeout: 0s
79-
# Idle (no subscribers) timeout
80-
idleTimeout: 0s
81-
# Pause timeout
82-
pauseTimeout: 30s
83-
# Buffer duration, 0 means use latest keyframe
84-
bufferTime: 0s
85-
# Send rate, 0 means unlimited
65+
maxcount: 0
66+
pubaudio: true
67+
pubvideo: true
68+
kickexist: false
69+
publishtimeout: 10s
70+
waitclosetimeout: 0s
71+
delayclosetimeout: 0s
72+
idletimeout: 0s
73+
pausetimout: 30s
74+
buffertime: 0s
8675
speed: 0
87-
# Scale factor
8876
scale: 1
89-
# Maximum FPS
90-
maxFPS: 30
91-
# Publish authentication key
77+
maxfps: 30
9278
key: ""
93-
# Buffer size range
94-
ringSize: "20-1024"
95-
# Forward mode: remux(transcode), relay(pure forward), mix(mixed forward)
96-
relayMode: "remux"
97-
# Publish type
98-
pubType: "server"
79+
ringsize: "20-1024"
80+
relaymode: "remux"
81+
pubtype: "server"
9982
```
10083
10184
#### Configuration Notes
@@ -117,9 +100,9 @@ Important notes:
117100
# config.yaml
118101
global:
119102
publish:
120-
kickExist: true # Allow new push to kick existing stream with same name
121-
publishTimeout: 30s # Change no data timeout to 30 seconds
122-
idleTimeout: 300s # Auto-close stream after 5 minutes without viewers
103+
kickexist: true # Allow new push to kick existing stream with same name
104+
publishtimeout: 30s # Change no data timeout to 30 seconds
105+
idletimeout: 300s # Auto-close stream after 5 minutes without viewers
123106
```
124107
125108
**Specific Plugin Configuration Example**:
@@ -128,20 +111,20 @@ global:
128111
# config.yaml
129112
global:
130113
publish:
131-
kickExist: true
132-
maxFPS: 25
114+
kickexist: true
115+
maxfps: 25
133116

134117
# RTMP plugin specific configuration
135118
rtmp:
136119
publish:
137-
kickExist: false # Override global config, RTMP does not allow kicking existing streams
138-
publishTimeout: 60s # RTMP push timeout after 60 seconds without data
139-
maxFPS: 30 # RTMP maximum frame rate 30
120+
kickexist: false # Override global config, RTMP does not allow kicking existing streams
121+
publishtimeout: 60s # RTMP push timeout after 60 seconds without data
122+
maxfps: 30 # RTMP maximum frame rate 30
140123

141124
# RTSP plugin specific configuration
142125
rtsp:
143126
publish:
144-
waitCloseTimeout: 10s # Wait 10 seconds for reconnection after RTSP disconnection
127+
waitclosetimeout: 10s # Wait 10 seconds for reconnection after RTSP disconnection
145128
```
146129
147130
## Usage Examples
@@ -234,4 +217,4 @@ ffmpeg -re -i input.mp4 -c copy -f mpegts srt://your-server:6000?streamid=publis
234217
2. Push Latency
235218
- Check network bandwidth
236219
- Adjust encoding parameters
237-
- Consider using low latency protocols like SRT
220+
- Consider using low latency protocols like SRT

docs/en/features/stream-subscription.md

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,17 @@ Here are the detailed subscription (Subscribe) configuration options that can be
4242
4343
```yaml
4444
subscribe:
45-
# Maximum number of simultaneous subscribers, 0 means unlimited
46-
maxCount: 0
47-
# Whether to subscribe to audio
48-
subAudio: true
49-
# Whether to subscribe to video
50-
subVideo: true
51-
# Buffer duration, start playback from keyframe at buffer duration
52-
bufferTime: 0s
53-
# Subscription mode
54-
# 0: Real-time mode - catch up with publisher progress, wait for next keyframe after first screen, then jump to that frame
55-
# 1: No catch-up after first screen
56-
# 2: Start playback from keyframe with maximum buffer, no catch-up, requires publisher to configure cache length
57-
subMode: 0
58-
# Synchronization mode
59-
# 0: Use timestamp synchronization
60-
# 1: Use write time synchronization
61-
syncMode: 1
62-
# Whether to only use keyframes
63-
iFrameOnly: false
64-
# Stream wait timeout
65-
waitTimeout: 10s
66-
# Write buffer size
67-
writeBufferSize: 0
68-
# Subscription authentication key
45+
maxcount: 0
46+
subaudio: true
47+
subvideo: true
48+
buffertime: 0s
49+
submode: 0
50+
syncmode: 1
51+
iframeonly: false
52+
waittimeout: 10s
53+
writebuffersize: 0
6954
key: ""
70-
# Subscription type
71-
subType: ""
55+
subtype: ""
7256
```
7357
7458
#### Configuration Notes
@@ -90,8 +74,8 @@ Important notes:
9074
# config.yaml
9175
global:
9276
subscribe:
93-
waitTimeout: 30s # Change stream wait timeout to 30 seconds
94-
iFrameOnly: true # Only transmit keyframes to save bandwidth
77+
waittimeout: 30s # Change stream wait timeout to 30 seconds
78+
iframeonly: true # Only transmit keyframes to save bandwidth
9579
```
9680
9781
**Specific Plugin Configuration Example**:
@@ -100,18 +84,18 @@ global:
10084
# config.yaml
10185
global:
10286
subscribe:
103-
waitTimeout: 30s
87+
waittimeout: 30s
10488

10589
# HTTP-FLV plugin specific configuration
10690
flv:
10791
subscribe:
108-
writeBufferSize: 4096 # Set larger write buffer
109-
waitTimeout: 60s # Override global config, FLV stream wait timeout changed to 60 seconds
92+
writebuffersize: 4096 # Set larger write buffer
93+
waittimeout: 60s # Override global config, FLV stream wait timeout changed to 60 seconds
11094

11195
# HLS plugin specific configuration
11296
hls:
11397
subscribe:
114-
bufferTime: 3s # HLS buffer 3 seconds of content
98+
buffertime: 3s # HLS buffer 3 seconds of content
11599
```
116100
117101
## Usage Examples
@@ -246,4 +230,4 @@ When using FFPlay or FFmpeg-based players, these parameters are helpful for redu
246230
Complete low latency FFPlay command example:
247231
```bash
248232
ffplay -fflags nobuffer -flags low_delay -framedrop -probesize 32 -analyzeduration 0 -sync ext rtmp://your-server:1935/live/stream
249-
```
233+
```

docs/en/guide/quickstart.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,15 +213,32 @@ You can customize your Monibuca build using the following build tags:
213213
| postgres | Enables PostgreSQL database support |
214214
| duckdb | Enables DuckDB database support |
215215
| disable_rm | Disables the memory pool |
216+
| fasthttp | Enables fasthttp instead of the standard library |
216217

217218
Example usage:
218219

219220
```bash
220221
go run -tags "sqlite mysql" main.go
221222
```
222223

223-
## Next Steps
224+
## Use Docker
224225

225-
- Explore the plugin development guide to create your own plugins
226+
You can run Monibuca using Docker:
226227

227-
For more examples, check out the example directory in the Monibuca repository.
228+
```bash
229+
docker run -id -p 1935:1935 -p 6000:6000 -p 8080:8080 -p 554:554 -p 50051:50051 -p 5060:5060/udp -p 9000:9000 langhuihui/monibuca:v5
230+
```
231+
This command will start a Monibuca container with the default configuration.
232+
233+
```bash
234+
docker run -id -p 1935:1935 -p 6000:6000 -p 8080:8080 -p 554:554 -p 50051:50051 -p 5060:5060/udp -p 9000:9000 \
235+
-v /etc/monibuca:/etc/monibuca langhuihui/monibuca:v5
236+
```
237+
You will see a config.yaml file in this directory, which you can modify and then restart the container.
238+
239+
240+
### Specify Other Configuration Files by Passing Parameters
241+
242+
```bash
243+
docker run -id -p 1935:1935 -p 6000:6000 -p 8080:8080 -p 554:554 -p 50051:50051 -p 5060:5060/udp -p 9000:9000 langhuihui/monibuca:v5 -c /your/config.yaml
244+
```

0 commit comments

Comments
 (0)