RTSP 协议
RTSP(Real Time Streaming Protocol)是安防监控领域最常用的协议。Monibuca V6 支持 RTSP 推流和拉流,同时兼容 RTP over TCP(Interleaved)和 RTP over UDP 两种传输模式。
| 属性 | 值 |
|---|---|
| 默认端口 | 8554 |
| 传输层 | TCP(信令) + TCP/UDP(媒体) |
| 推流 | ✅ 支持 |
| 拉流 | ✅ 支持 |
| 延迟 | 0.5-2 秒 |
| Feature Flag | rtsp |
Feature 启用
Section titled “Feature 启用”[features]rtsp = ["dep:plugin-rtsp"]rtsp: enable: true tcp: listen_addr: ":8554" udp_port_min: 10000 udp_port_max: 20000| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable | bool | true | 是否启用 RTSP 插件 |
tcp.listen_addr | string | ":8554" | RTSP 服务监听地址 |
udp_port_min | u16 | 10000 | RTP over UDP 端口范围起始 |
udp_port_max | u16 | 20000 | RTP over UDP 端口范围结束 |
RTP over TCP(Interleaved)
Section titled “RTP over TCP(Interleaved)”在 RTSP TCP 连接上复用传输 RTP 数据,适用于防火墙限制 UDP 的环境。
# FFmpeg 强制使用 TCP 传输ffplay -rtsp_transport tcp rtsp://localhost:8554/live/testRTP over UDP
Section titled “RTP over UDP”使用独立的 UDP 端口对传输 RTP 数据,延迟更低。服务端会自动从配置的端口范围(默认 10000-20000)分配可用端口。
# FFmpeg 使用 UDP 传输(默认)ffplay -rtsp_transport udp rtsp://localhost:8554/live/test使用 FFmpeg 推流
Section titled “使用 FFmpeg 推流”# RTSP 推流(TCP 传输)ffmpeg -re -i input.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://localhost:8554/live/test
# RTSP 推流(UDP 传输)ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://localhost:8554/live/test
# 摄像头采集推流ffmpeg -f v4l2 -i /dev/video0 \ -c:v libx264 -preset ultrafast -tune zerolatency \ -f rtsp rtsp://localhost:8554/live/camera大多数 IP 摄像头支持 RTSP 输出。将 Monibuca 作为 RTSP 客户端从摄像头拉流:
# 典型的摄像头 RTSP URL 格式# 海康威视rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101
# 大华rtsp://admin:password@192.168.1.100:554/cam/realmonitor?channel=1&subtype=0使用 FFplay 拉流
Section titled “使用 FFplay 拉流”# TCP 模式拉流ffplay -rtsp_transport tcp rtsp://localhost:8554/live/test
# UDP 模式拉流ffplay rtsp://localhost:8554/live/test使用 VLC 拉流
Section titled “使用 VLC 拉流”- 打开 VLC,选择 媒体 → 打开网络串流
- 输入 URL:
rtsp://localhost:8554/live/test - 点击 播放
RTSP URL 格式:rtsp://host:port/{app}/{stream}
例如 rtsp://localhost:8554/live/test 对应流路径 live/test。
RTSP 推入的流可以通过其他协议播放:
# RTSP 推流ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://localhost:8554/live/test
# 通过 HTTP-FLV 播放ffplay http://localhost:8080/flv/live/test.flv
# 通过 HLS 播放ffplay http://localhost:8080/hls/live/test/index.m3u8
# 通过 RTMP 播放ffplay rtmp://localhost:1935/live/testUDP 端口不足
Section titled “UDP 端口不足”如果同时接入大量摄像头,可能需要扩大 UDP 端口范围:
rtsp: udp_port_min: 10000 udp_port_max: 60000NAT 穿透问题
Section titled “NAT 穿透问题”在 NAT 环境下,建议使用 TCP 传输模式以避免 UDP 端口映射问题。
联系我们
微信公众号:不卡科技
腾讯频道:流媒体技术
QQ 频道:p0qq0crz08
QQ 群:751639168