使用 MediaMTX 和 RTSP 协议搭建低延迟直播服务器
服务端采用MediaMTX,可以在Release页面中下载最新版本,目前官方支持arm架构的linux和x64版本的linux和Windows。
1 | # 此处仅展示需要修改的项 |
1 | ./mediamtx |
1 | 2024/01/17 10:12:47 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP) |
目前来说我这边推流使用OBS Studio,但OBS并不支持直接向服务器推RTSP流,因此我们这里采取曲线救国的方法,通过录像到URL的形式来推流。
1 | rtsp://用户名:密码@服务器地址:端口/流id |
TCP
的所在端口),流ID随意填写但不要和实例内别人重复。1 | rtsp://lxnchan:lxnchan1234@192.168.10.12:8554/live1 |
rstp
1 | -preset:v llhq -tune:v zerolatency -profile veryfast |
-preset:v llhq
: 使用高质量低延迟预设(仅限显卡编码)-tune:v zerolatency
: 使用低延迟模式-profile veryfast
: 启用veryfast预设这里采用VLC做播放介质。
打开VLC,选择“媒体”-“打开网络串流”,输入如下格式的URL:
1 | rtsp://read用户名:read密码@IP地址:端口号/流id |
例如:
1 | rtsp://user:passw0rd@192.168.10.12:8554/live1 |
如果没设置read用户名密码可以直接去掉前半部分。
长时间推流需要先关一下或者提高配置文件中writeQueueSize
的值。注意,提高该值会导致内存占用提高。