SRT服务端SRS的搭建

1.简介

​ 前面讲了SRT有三种模式,那么这节来说说Listener模式服务端的搭建。关于Listener模式之前在sample中的srt-file-transmit和srt-live-transmit就有简单用到,本章的Listener模式服务端,考虑到实际生产使用,就采用开源项目srs进行搭建。

2.下载SRS源码

https://github.com/ossrs/srs.git

3.编译源码

cd srs/trunk
./configure --srt=on
make
make install

4.编写SRS配置文件

​ 将以下内容保存为文件,譬如conf/srt.conf,服务器启动时指定该配置文件(srs的conf文件夹有该文件)。

# conf/srt.conf
listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
srt_server {enabled on;listen 10080;
}
vhost __defaultVhost__ {
}

5.启动SRS

./objs/srs -c conf/srt.conf

6.推流测试

1.借助FFMPEG产生一个UDP流,当然有其他方式也行:

ffmpeg  -stream_loop  -1  -re  -i   /home/msatartup.mp3   -f   mpegts   udp://127.0.0.1:12001?pkt_size=1316

2.采用srt-live-transmit工具作为caller方进行推流

srt-live-transmit udp://127.0.0.1:12001 'srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=publish'

3.采用srt-ffplay工具作为caller方进行推流

srt-ffplay 'srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=request'

7.SRS对SRT的URL的格式要求

​ 因为srt是四层传输协议,所以无法确定对某个srt url操作是推流还是拉流。

​ 在srt官网中有对推/拉流实现方法的推荐:AccessControl.md 关键方法是通过streamid参数来明确url的作用,streamid的格式符合YAML格式。

7.1.SRT URL no Vhost

srt url举例:

  • 推流地址: srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=publish
  • 拉流地址: srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=request
  • 对应的rtmp拉流地址为:rtmp://127.0.0.1/live/livestream

其中:

  • #!::
    • 开始标记,符合yaml格式标准
  • r
    • 映射到rtmp地址中的/app/stream;
  • m
    • publish表示推流。
    • request表示拉流。

7.2.SRT URL for Vhost

srt url举例:

  • 推流地址: srt://127.0.0.1:10080?streamid=#!::h=srs.srt.com.cn,r=live/livestream,m=publish
  • 拉流地址: srt://127.0.0.1:10080?streamid=#!::h=srs.srt.com.cn,r=live/livestream,m=request
  • 对应的rtmp拉流地址为:rtmp://127.0.0.1/live/livestream?vhost=srs.srt.com.cn

其中:

  • h

    • 映射到rtmp地址中的vhost;

8.问题

​ 前面我们知道SRT在网络传输层运行,它可以传输任何类型的视频格式、编解码器、分辨率或帧速率。

​ 但目前的SRS/4.0.265发布版本,在接收到SRT推流时,会将流自动转换为RTMP协议输出,导致对音视频编码格式有了要求,使用起来十分不方便。好在使用最新的SRT开发版本,已经在着手解决该问题。另外,也可以通过修改SRS的源码,暂时关闭SRS到RTMP的输出功能;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部