2021-03-18

srs引言

之前使用webrtc技术进行拉流推流操作操作平台受限,因为是网页插件,且没有存储的功能,这让我移步到了srs

srs简介

srs是一个流媒体集群,支持RTMP/HLS/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。里面是有webRTC的,所以为什么我还要单独使用webrtc的,虽然网上的WebRTC使用代码可以进行存储,可是和我预期的还是有所偏差.

srs是个什么?

上面说了是一个流媒体集群,那这流媒体集群又是什么,你可以理解为他是一个服务器端,不需要依赖于浏览器运行,只需要向这个服务器推流和拉流即可

安装srs

方式一(本地运行)

  1. gitclone代码()
git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull

因为默认是3.0版本的可以用git命令切换分支

git branch //查看当前分支
git checkout 4.0release //选择4.0的分支

如果已经编译过了就重新编译一下

  1. 编译(要提前安装好gcc的编译环境)
./configure && make

编译过程中因为系统不同可能会报错

是编译脚本找不到这个文件造成的运行如下命令

 cp 3rdparty/CherryPy-3.2.4.zip ./objs/
  1. 运行服务
./objs/srs -c conf/srs.conf //运行srs.conf配置的srs

conf文件夹下有很多环境下的配置文件,rtmp,ios,srs默认,rtc等等

方式二(docker运行)

  1. docker环境安装并运行
docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 \
    registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4.0.34
  1. 使用配置文件rtc.conf启动
docker run -p 1935:1935 -p 8080:8080 -p 1985:1985 -p 8000:8000/udp \
    --env CANDIDATE=192.168.0.1 \ //你的ip
    registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.23 objs/srs -c conf/rtc.conf

向srs推流

当时我们研究srs推流的途径有两个,一个是前端推流,一个是后端推流,(推RTMP流),因为推流方式在前端和adroid上有,我们后端只需要提供srs推流地址即可,推流地址格式如下

rtmp://ip:[port]/live?vhost=[vhost]/livestream;

举个栗子:

rtmp://192.168.*.*:1935/live/1234

注:如果是默认的vhost就不用加"?vhost=…"

从srs拉流

srs自带拉流地址:
http://IP:8080/players/rtc_player.html
webrtc拉流地址:
webrtc://IP:237/live/12345
rtmp拉流地址
rtmp://IP:1935/live/1234

遇到的问题:

  • 拉流时webrtc无法获取影像
    这个问题的原因可能有很多:

首先用播放器看一下,srs能否拉流,如果可以获取到图像,rtc无法获取图像,大概率是配置文件的问题,你可以尝试修改:

candidate的ip (还有一个参数是$CANDIDATE)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值