通过srs实现直播
最终效果

环境配置
服务器:centos:7, nodejs:10.16.3
客户端:windows10
推流服务器
通过SRS实现流媒体, 它支持RTMP/HLS/WebRTC/SRT/GB28181
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
由于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。
在线测试推流效果
只需将url替换成你上面的rtmp://139.xxx.x.82/live/livestream 地址即可
obs实现客户端推流
设置推流来源为上面的地址,主要服务器的地址不需要livestream,串流秘钥为livestream。

转载请标明出处: