首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SRS(简单实时视频服务) 笔记(2)- 端口和URL说明

SRS(简单实时视频服务) 笔记(2)- 端口和URL说明

作者头像
张云飞Vir
发布2021-05-11 10:24:13
发布2021-05-11 10:24:13
2.7K0
举报
文章被收录于专栏:写代码和思考写代码和思考

0.背景

1.知识

1935 端口

上文我们说到 通过 docker 可以简单快捷的启动一个srs服务,指令如下:

代码语言:javascript
复制
docker run --rm -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:3

留意到上面映射了 1935 端口,1935 端口是 RTMP 协议的数据交换端口。

rtmp协议默认使用的是1935端口。

而在播放rtmp,的URL时,比如这样的

代码语言:javascript
复制
rtmp://localhost/live/livestream

它也会在 1935 端口上工作。

标准的 RTMP 网址

HTTP

Schema

Host

Port

App

Stream

rtmp://192.168.1.10:1935/live/livestream

rtmp

192.168.1.10

1935

live

livestream

Schema:协议头,HTTP为HTTP或HTTPS,RTMP为RTMP/RTMPS/RTMPE/RTMPT等众多协议,还有新出的RTMFP。 Host:主机,表示要连接的主机,可以为主机DNS名称或者IP地址。商用时,一般不会用IP地址,而是DNS名称,这样可以用CDN分发内容(CDN一般使用DNS调度,即不同网络和地理位置的用户,通过DNS解析到的IP不一样,实现用户的就近访问)。 Port:端口,RTMP默认为1935。 App:RTMP的Application(应用)名称,可以类比为文件夹。以文件夹来分类不同的流,没有特殊约定,可以任意划分。 Stream:RTMP的Stream(流)名称,可以类比为文件。

简单来说,你的 RTMP 流媒体地址应该是像这样的

代码语言:javascript
复制
rtmp://yourdomain.com/app/stream

NO Vhost

上面的网址,是没有使用 Vhost (即默认Vhost) 的情形。 实际使用中也可用启动 Vhost 来隔离用户。

Vhost 的主要应用场景包括: 一个分发网络支持多个客户:譬如CDN,一个分发网络中,有N个客户公用一套流媒体系统,如何区分用户,计费,监控等等?通过app么?大家可能都叫做live之类。最好是通过各自的域名。 不同的应用配置:譬如FMLE推上来的流是h264+mp3,可以将音频转码后放到其他的vhost分发hls,这样接入h264+mp3的vhost就不用切hls。 总之,vhost作为应用配置的单元,能隔离客户,应用不同的配置。

其实,vhost大多数用户都用不到,而且不推荐用,有点复杂。一般的用户用app就可以了。因为vhost/app/stream,只是一个分类方法而已;vhost需要在配置文件中说明,app/stream都不需要配置。

3.参考

https://github.com/ossrs/srs/wiki/v3_CN_RtmpUrlVhost https://www.cnblogs.com/linhaostudy/p/11363550.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.背景
  • 1.知识
    • 1935 端口
    • 标准的 RTMP 网址
  • NO Vhost
  • 3.参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档