srs4.0 webrtc模块分析(一)环境搭建

目录

 

简介

环境搭建

一、源码下载

二、项目编译与部署

三、demo演示

推流

播放


简介

srs 是国内开源的流媒体服务器,目前发展到4.0版本(4.0还没正式发布),服务支持RTMP/HLS/WebRTC/SRT/GB2818。

github地址:https://github.com/ossrs/srs

我们主要分析srs4.0 webrtc模块,后面将陆续介绍srs 对webrtc的支持,欢迎大家关注 给与支持

环境搭建

一、源码下载

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

如果github 下载慢或者失败可以用国内的gitee,项目地址为:https://gitee.com/winlinvip/srs.oschina

下载:

git clone https://gitee.com/winlinvip/srs.oschina.git

代码下载后默认是develop分支,可以切换到4.0release分支

 git checkout -b my4.0 origin/4.0release

二、项目编译与部署

编译

在下载目录文件夹下执行如下命令:

cd trunk/

./configure

make  

部署运行

./objs/srs -c conf/rtc.conf 

rtc.conf 内容如下,会在8080端口启动一个Http 服务,在 8000端口开启rtc监听。这块需要注意一下,8000是经常使用的一个端口,在启动srs之前先查看一下该端口是否被占用。 查看命令:

 netstat -anp|grep 8000
listen              1935;
max_connections     1000;
srs_log_file        ./objs/srs.log;

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

http_api {
    enabled         on;
    listen          1985;
}
stats {
    network         0;
}
rtc_server {
    enabled         on;
    # Listen at udp://8000
    listen          8000;  //rtc监听
    #
    # The $CANDIDATE means fetch from env, if not configed, use * as default.
    #
    # The * means retrieving server IP automatically, from all network interfaces,
    # @see https://github.com/ossrs/srs/issues/307#issuecomment-599028124
    candidate       $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        bframe      discard;
    }
}

三、demo演示

打开srs提供的界面,记着把ip换成你自己的srs所在服务器IP。因为我的srs部署在linux系统,在windows上演示,所以是自己的Linux 服务器的IP。

http://192.168.40.129:8080/players/rtc_publisher.html

如果你是在mac系统上操作,也可以直接 http://localhost:8080/players/rtc_publisher.html

部署在linux系统windows推流时会报:TypeError: Cannot read property 'getUserMedia' of undefined 错误,这个错误主要是https证书问题。解决办法如下

先把chrome完全退出,右击桌面上chrome的快捷键,点击属性,在目标一栏添加如下内容,记着有个英文空格,IP换成自己的。

--ignore-certificate-errors --allow-running-insecure-content  --unsafely-treat-insecure-origin-as-secure="http://192.168.40.129:8080"

然后重新打开chrome,输入自己的地址。

推流

播放

打开播放界面

http://192.168.40.129:8080/players/rtc_player.html

播放特别不清晰,是因为码率自动降到最低了,这块是srs的问题,大家不用担心后面会优化的。

打开chrome自带的监控界面chrome://webrtc-internal,会发现码率自动降低到30kbps,如下图标红处,这块不用担心,能正常播放就行

             点关注不迷路,欢迎大家关注公众号:音视频之路 ,谢谢大家支持

猜你喜欢

转载自blog.csdn.net/lcalqf/article/details/112913088
srs