前言
前两个月公司的旧外包跑路了(其实是合约到期了),他们的直播系统就被公司废弃了,那么问题就来了:公司要直播呀!!!没有直播系统怎么办啊!!!
所以这次就来手把手(按照我搭建的经验)来教你怎么搭建属于自个的直播系统~
准备材料
*表示非必需
1、一台linux电脑(windows上没试过,感兴趣的同志们可以试试)
*2、一台网页服务器(可以用上面的linux电脑,或者个人电脑)
搭建环境
GoLang环境
使用命令进入root用户
$ su
一键安装方式
$ git clone https://github.com/letseeqiji/oneinstall.git
$ cd oneinstall/golang
$ bash goinstall.sh
直接运行脚本进行安装
Ubantu/Debian用户
你可以使用
$ sudo apt-get install golang
直接安装Go环境,然后设置GOPATH即可
$ vi /etc/profile
打开文件后,对文件修改,在文件最下面添加
export GOPATH=/goWorkPlace
然后按Esc,保存文件
最后,刷新文件,使更改生效。输入命令
$ source /etc/profile
二进制码安装方式
64位
$ wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
32位
$ wget https://storage.googleapis.com/golang/go1.4.1.linux-386.tar.gz
在/usr/local下安装:
$ sudo tar -xzf <filename> -C /usr/local
配置环境变量:有三个变量GOPATH、PATH、GOROOT
GOROOT就是go的安装路径
GOPATH就是go的工作目录
PATH是go安装路径下的bin目录
$ vi /etc/profile
打开文件后,对文件修改,在文件最下面添加
export GOPATH=/goWorkPlace
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
保存文件,刷新,使更改生效
$ source /etc/profile
srs设置
使用git克隆代码
$ git clone git@github.com:ossrs/srs.git
$ cd srs
进入srs目录,对目录中的文件进行修改。
打开./trunk/conf/srs.conf文件,对其进行修改
其中有几个参数需要修改:
listen 1935; #直播推流的端口
max_connections 1000; #最大线程数
srs_log_tank console; #srs日志输出位置,可以为console或file
srs_log_file ./objs/srs.log; #srs日志输出文件,当上面为file时必须设置
上面的参数根据自己的需要进行修改,其中max_connections推荐设置为100,否则编译有可能会出错
在root用户中,进入./trunk,使用命令
$ ./configure && make
对srs进行编译,编译过程稍长,请耐心等待
当编译完成后,可以使用
$ ./objs/srs -c conf/srs.conf
打开srs服务器,打开客户机上的OBS Studio(vMix也可以),推流地址填写如下
rtmp://<你的srs服务器ip>:1935/home
推流密钥填写如下
/live
也可以把live换成任意的文字或路径
此时可以使用VLC Media Player来检测是否推流成功,打开VLC Media Player,选择“媒体”->“打开网络串流”,在URL里面填写你的rtmp地址(包括密钥)例如我的OBS配置如下
那么我就应该填写rtmp://172.52.5.100:1935/home/live
点击确定,可以看到我推流出来的内容
这样就证明我推流成功了!
网页前端设置
我们毕竟是个直播,总不可能每个班级都安装一个VLC Media Player的嘛,所以说,我们要用网页来拉流。
用网页来拉流,就要用到HLS了(具体百度哦~),但是我们要怎么打开HLS呢?
你需要在你的srs.conf中的
vhost __defaultVhost__ {
}
中加入以下内容(可以直接复制粘贴)
vhost __defaultVhost__ {
# http-flv设置
http_remux{
enabled on;
mount [vhost]/[app]/[stream].flv;
hstrs on;
}
# hls设置
hls{
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 10;
hls_window 60;
}
}
然后重新打开srs即可
那么下面的链接应该都可以使用(按照我的填写方法为例)
链接类型 | 链接 |
---|---|
rtmp | rtmp://172.52.5.100:1935/live/home |
http/flv | http://172.52.5.100:8080/live/home.flv |
http/m3u8 | http://172.52.5.100:8080/live/home.m3u8 |
可以利用我们的网页示例,进行调试(请不要使用本地打开文件的方式进行调试,会被拦截)
$ git clone git@github.com:5amstd/live-system.git
将里面的146行的视频地址更改为自己的视频地址即可
video:'http://172.52.5.100:8080/home/live.flv' //视频地址
然后保存刷新,打开里面的视频播放器(都1202年了还用Flash???),就可以看到直播画面了
如果你看到了直播画面,就证明你成功了~
题外话
第一次用Ubantu来搭建项目,感觉Ubantu挺好用的,所以现在两台电脑吧,把我之前的那台DELL OptiPlex 3046拿来装Ubantu了
srs搞了我很长时间,其实最主要的问题是Ubantu(Linux)用的不很熟悉,然后权限问题也很烦
HLS的分发挺麻烦的,查看了很多官方文档,后来在别人的文章里面找到了解决方法
必须 注册 为本站用户, 登录 后才可以发表评论!