RTMP 协议
RTMP(Real-Time Messaging Protocol)是最广泛使用的直播推流协议。Monibuca V6 提供完整的 RTMP 推流和拉流支持,兼容所有主流推流工具。
| 属性 | 值 |
|---|---|
| 默认端口 | 1935 |
| 传输层 | TCP |
| 推流 | ✅ 支持 |
| 拉流 | ✅ 支持 |
| 延迟 | 1-3 秒 |
| Feature Flag | rtmp |
Feature 启用
Section titled “Feature 启用”[features]rtmp = ["dep:plugin-rtmp"]rtmp: enable: true tcp: listen_addr: ":1935" chunk_size: 4096| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable | bool | true | 是否启用 RTMP 插件 |
tcp.listen_addr | string | ":1935" | 监听地址 |
chunk_size | u32 | 4096 | RTMP Chunk 大小(1-65536) |
使用 FFmpeg 推流
Section titled “使用 FFmpeg 推流”# 推送本地文件ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost:1935/live/test
# 推送摄像头画面ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -f flv rtmp://localhost:1935/live/camera
# 指定编码参数推流ffmpeg -re -i input.mp4 \ -c:v libx264 -preset veryfast -b:v 2000k \ -c:a aac -b:a 128k \ -f flv rtmp://localhost:1935/live/test使用 OBS 推流
Section titled “使用 OBS 推流”- 打开 OBS,进入 设置 → 直播
- 服务选择 自定义
- 填写:
- 服务器:
rtmp://your-server-ip:1935/live - 推流密钥:
test(即流名称)
- 服务器:
- 点击 开始推流
RTMP URL 格式:rtmp://host:port/{app}/{stream}
app:应用名(如live)stream:流名称(如test)- 完整流路径为:
{app}/{stream},即live/test
使用 FFplay 拉流
Section titled “使用 FFplay 拉流”ffplay rtmp://localhost:1935/live/test使用 VLC 拉流
Section titled “使用 VLC 拉流”- 打开 VLC,选择 媒体 → 打开网络串流
- 输入 URL:
rtmp://localhost:1935/live/test - 点击 播放
使用 FFmpeg 拉流转存
Section titled “使用 FFmpeg 拉流转存”# 拉流并保存为 MP4ffmpeg -i rtmp://localhost:1935/live/test -c copy output.mp4
# 拉流并转推到其他服务器ffmpeg -i rtmp://localhost:1935/live/test -c copy -f flv rtmp://other-server/live/test通过 RTMP 推流后,可以使用其他协议拉取同一路流:
# RTMP 推流ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost:1935/live/test
# HTTP-FLV 拉流ffplay http://localhost:8080/flv/live/test.flv
# HLS 拉流ffplay http://localhost:8080/hls/live/test/index.m3u8如果 1935 端口被占用,可以修改监听地址:
rtmp: tcp: listen_addr: ":1936"推流断开重连
Section titled “推流断开重连”RTMP 插件支持推流端断开后重新连接。新的推流连接会自动替换旧的发布者,订阅者会无缝切换到新的流数据。
联系我们
微信公众号:不卡科技
腾讯频道:流媒体技术
QQ 频道:p0qq0crz08
QQ 群:751639168