Ubuntu20.04 源码编译安装SRS-6流媒体服务器,开启GB28181支持

1. 下载SRS源码

 直接从仓库clone

git clone -b develop https://gitee.com/ossrs/srs.git

2. 编译源码

此处通过 --gb28181=on 开启GB28181支持,默认是不开启的

cd srs/trunk && ./configure --gb28181=on && make -j4

 3. 编译过程中遇到的问题

在编译源码时,出现 build srt-1-fit failed, ret=127 错误。在编译srt依赖时出现configure失败的问题,打开 3rdparty/srt-1-fit/configuer文件一看,第一行为 #!/usr/bin/tclsh

而我的系统无tclsh,直接安装tcl即可

sudo apt-get install tcl

 然后再重新执行第2步的编译命令即可完成编译

4. 修改SRS配置文件

在 conf目录下有大量配置文件,此处对gb28181.conf文件进行修改,主要修改 candidate的值为本机接收流的IP,可以是内网IP,也可以是外网IP,只要相机能访问到就行,貌似也可以不改。其他端口号什么的根据需要修改就行,本文除candidate外其与参数均保持默认。


listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;

stream_caster {
    enabled on;
    caster gb28181;
    output rtmp://127.0.0.1/live/[stream];
    listen 9000;
    sip {
        enabled on;
        listen 5060;
        # @see https://ossrs.net/lts/zh-cn/docs/v5/doc/gb28181#config-candidate
        candidate 192.168.100.33;
    }
}

http_server {
    enabled on;
    listen 8080;
    dir ./objs/nginx/html;
}

http_api {
    enabled on;
    listen 1985;
}
stats {
    network 0;
}
rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate 192.168.100.33;
}

vhost __defaultVhost__ {
    rtc {
        enabled on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
        rtmp_to_rtc on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
        rtc_to_rtmp on;
    }
    http_remux {
        enabled on;
        mount [vhost]/[app]/[stream].flv;
    }
    hls {
        enabled on;
    }
}

5. 运行SRS服务

./objs/srs -c conf/gb28181.conf

6. 配置相机,开启GB28181

参考SRS中文文档即可:GB28181 | SRS

需要注意的是,相机配置中需要选择GB28181-2016,且选择TCP协议,以及音频编码需要设置为ACC编码,视频编码需要设置为H.264编码

7. 播放直播流

SRS的HTTP默认端口为8080,在浏览器中访问: localhost:8080

选择 "点击进入 SRS控制台"

选择"视频流"即可查看当前视频流列表

点击"预览"即可播放视频流

参考链接

GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. - GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.https://github.com/ossrs/srs

GB28181 | SRS支持GB28181是正确的事情,可能也是困难的事情,因为困难所以有趣。https://ossrs.net/lts/zh-cn/docs/v5/doc/gb28181

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值