通过srs实现直播

2020-5-18 22:21:38 248 views

通过srs实现直播

最终效果

效果图

环境配置

服务器:centos:7, nodejs:10.16.3

客户端:windows10

推流服务器

通过SRS实现流媒体, 它支持RTMP/HLS/WebRTC/SRT/GB28181

https://github.com/ossrs/srs

srs实现流媒体服务器

https://github.com/ossrs/srs

Step 1: 获取 SRS

(1)如果服务器上有git的话

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

(2)由于本人机子配置不高,没有安装git,所以直接下载了最新的包来上传到服务器上

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

Step 2: 编译 SRS

./configure && make

可能遇到的问题:

当前目录权限不够

修改http.flv.live.conf配置

文件在安装目录下的/trunk/conf(这里需要放行1935端口)

 listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
    #http_remux {
     #   enabled     on;
      #  mount       [vhost]/[app]/[stream].flv;
    #}
}

 

Step 3: 运行 SRS

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

安装ffmpeg

http://www.ffmpeg.org/

由于centos没有可以直接安装的rpm依赖,所以需要使用第三方的Nux Dextop yum源来安装

更新系统

sudo yum install epel-release -y 
sudo yum update -y 
sudo shutdown -r now 

如果你是centos7的话

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
 sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

如果是centos6的话

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
 sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

安装ffmpeg和ffmpeg开发依赖

 sudo yum install ffmpeg ffmpeg-devel -y

测试是否安装成功

ffmpeg -h

有输出对应的帮助信息的话,则安装成功

通过ffmpeg将案例进行推流

也可以通过obs,这里只是测试效果

ffmpeg -re -i /www/wwwroot/srs/trunk/doc/source.200kbps.768x320.flv -vcodec copy -acodec copy -f flv rtmp://139.xxx.x.82/live/livestream
/www/wwwroot/为你的路径,139.xxx.x.82 为你的公网ip。

在线测试推流效果

http://ossrs.net/srs.release/trunk/research/players/srs_player.html?app=live&stream=livestream&server=192.168.1.170&port=1935&autostart=true&vhost=192.168.1.170

只需将url替换成你上面的rtmp://139.xxx.x.82/live/livestream 地址即可

obs实现客户端推流

https://obsproject.com/zh-cn

设置推流来源为上面的地址,主要服务器的地址不需要livestream,串流秘钥为livestream。

obs

转载请标明出处:

https://www.suanliutudousi.com/2020/05/18/srs/

2

No Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。