跳转到内容

RTSP 协议

RTSP(Real Time Streaming Protocol)是安防监控领域最常用的协议。Monibuca V6 支持 RTSP 推流和拉流,同时兼容 RTP over TCP(Interleaved)和 RTP over UDP 两种传输模式。

属性
默认端口8554
传输层TCP(信令) + TCP/UDP(媒体)
推流✅ 支持
拉流✅ 支持
延迟0.5-2 秒
Feature Flagrtsp
Cargo.toml
[features]
rtsp = ["dep:plugin-rtsp"]
rtsp:
enable: true
tcp:
listen_addr: ":8554"
udp_port_min: 10000
udp_port_max: 20000
配置项类型默认值说明
enablebooltrue是否启用 RTSP 插件
tcp.listen_addrstring":8554"RTSP 服务监听地址
udp_port_minu1610000RTP over UDP 端口范围起始
udp_port_maxu1620000RTP over UDP 端口范围结束

在 RTSP TCP 连接上复用传输 RTP 数据,适用于防火墙限制 UDP 的环境。

Terminal window
# FFmpeg 强制使用 TCP 传输
ffplay -rtsp_transport tcp rtsp://localhost:8554/live/test

使用独立的 UDP 端口对传输 RTP 数据,延迟更低。服务端会自动从配置的端口范围(默认 10000-20000)分配可用端口。

Terminal window
# FFmpeg 使用 UDP 传输(默认)
ffplay -rtsp_transport udp rtsp://localhost:8554/live/test
Terminal window
# 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 客户端从摄像头拉流:

Terminal window
# 典型的摄像头 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
Terminal window
# TCP 模式拉流
ffplay -rtsp_transport tcp rtsp://localhost:8554/live/test
# UDP 模式拉流
ffplay rtsp://localhost:8554/live/test
  1. 打开 VLC,选择 媒体打开网络串流
  2. 输入 URL:rtsp://localhost:8554/live/test
  3. 点击 播放

RTSP URL 格式:rtsp://host:port/{app}/{stream}

例如 rtsp://localhost:8554/live/test 对应流路径 live/test

RTSP 推入的流可以通过其他协议播放:

Terminal window
# 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/test

如果同时接入大量摄像头,可能需要扩大 UDP 端口范围:

rtsp:
udp_port_min: 10000
udp_port_max: 60000

在 NAT 环境下,建议使用 TCP 传输模式以避免 UDP 端口映射问题。

联系我们

微信公众号:不卡科技 微信公众号二维码
腾讯频道:流媒体技术 腾讯频道二维码
QQ 频道:p0qq0crz08 QQ 频道二维码
QQ 群:751639168 QQ 群二维码