-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
v4_CN_SRTURL
winlin edited this page Jul 28, 2021
·
19 revisions
介绍srt在live模式下如何构造推/拉流地址。
了解更多的srt,请访问srt wiki。
rtmp地址格式简介
- 常规rtmp格式(无vhost)
rtmp://hostip:port/appname/streamname
例子: rtmp://10.111.1.100:1935/live/livestream
上面例子中appname="live", streamname="livestream"
- 复杂rtmp格式(有vhost)
rtmp://hostip:port/vhost/appname/streamname
例子: rtmp://10.111.1.100:1935/srs.com.cn/live/livestream
上面例子中vhost="srs.com.cn", appname="live", streamname="livestream"
rtmp如何确认对rtmp url是推流还是拉流:
- publish
rtmp协议中publish消息表示是对该url进行推流
- play
rtmp协议中publish消息表示是对该url进行推流
因为srt是四层传输协议,所以无法确定对某个srt url操作是推流还是拉流。
在srt官网中有对推/拉流的推荐:AccessControl.md
关键方法是通过streamid参数来明确url的作用,strreamid的格式符合YAML格式。
srt url举例:
- 推流地址: srt://127.0.0.1:10080?streamid=#!::h=live/livestream,m=publish
- 拉流地址: srt://127.0.0.1:10080?streamid=#!::h=live/livestream,m=request
其中:
1) #!::
#!::为开始,符合yaml格式标准
2) h
映射到rtmp地址中的appname/streamname;
3) m
publish表示推流。
request表示拉流。
上面srt对应的rtmp拉流地址为:rtmp://127.0.0.1/live/livestream
srt url举例:
- 推流地址: srt://127.0.0.1:10080?streamid=#!::h=srs.srt.com.cn/live/livestream,m=publish
- 拉流地址: srt://127.0.0.1:10080?streamid=#!::h=srs.srt.com.cn/live/livestream,m=request
其中:
1) #!::
#!::为开始,符合yaml格式标准
2) h
映射到rtmp地址中的vhost/appname/streamname;
3) m
publish表示推流。
request表示拉流。
上面srt对应的rtmp拉流地址为:rtmp://127.0.0.1/srs.srt.com.cn/live/livestream
或rtmp://127.0.0.1/live/livestream?vhost=srs.srt.com.cn。
Runner365 2020.02
Welcome to SRS wiki!
Please select your language:
Please select your language:
Please select your language:
Please select your language:
Please select your language: