srs直播服务器的搭建 - 手把手教你怎么搭建属于自己的直播服务器~
原文地址:http://bili33.top/2019/09/19/srs/
不常上CSDN,有问题请到我的博客的对应文章下面的评论区留言或者直接跟我QQ沟通,QQ在我的个人网站的关于界面有
前两个月学校的旧外包跑路了(其实是合约到期了),他们的直播系统就被学校废弃了,那么问题就来了:学校要直播呀!!!没有直播系统怎么办啊!!!
所以这次就来手把手(按照我搭建的经验)来教你怎么搭建属于自个的直播系统~
PS:可以打开侧边栏看,方便找到需要的内容
准备材料
*表示非必需
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: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' //视频地址
然后保存刷新,打开里面的视频播放器(都9102年了还用Flash???),就可以看到直播画面了
如果你看到了直播画面,就证明你成功了~
题外话
第一次用Ubantu来搭建项目,感觉Ubantu挺好用的,所以现在两台电脑吧,把我之前的那台DELL OptiPlex 3046拿来装Ubantu了
srs搞了我很长时间,其实最主要的问题是Ubantu(Linux)用的不很熟悉,然后权限问题也很烦
HLS的分发挺麻烦的,查看了很多官方文档,后来在别人的文章里面找到了解决方法
最近喜欢打方舟,有舟游玩家嘛,加波好友啊:喵呜初音#0717(B服玩家哦~)
原文地址:http://bili33.top/2019/09/19/srs/
srs直播服务器的搭建 - 手把手教你怎么搭建属于自己的直播服务器~相关推荐
- 镜播无人直播带货教程,手把手教你如何搭建直播间
镜播无人直播带货新手教程,手把手教你如何搭建直播间 如果你一个人在家里面直播,没有直播中控来辅助你一个情况下怎么办?来教你一个什么叫做镜播.用镜子来做一个直播的辅助.在你的面前放一面镜子,下面是产品, ...
- 手把手教你快速搭建私服环境
手把手教你快速搭建私服环境,简单实用,一看就懂 1.准备工作:先下载Nxus Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库 ...
- C# SuperSocket 手把手教你入门 傻瓜教程---3(Telnet服务器和客户端请求处理)
C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你 ...
- 手把手教你如何搭建一个自己的安卓快速开发框架之带你做自己的APP(二)
####点击查看上一篇文章:手把手教你如何搭建一个自己的安卓快速开发框架之BaseActivity(一) 继上一篇我实现了基本的BaseActivity,包含 ToolBar 透明状态栏 生命周期监控 ...
- 手把手教你快速搭建 EOS 主网见证人节点(BP)
EOS主网启动至今已经超过一个月,然而截至当前,注册成为EOS Block Producer(大家习惯称为见证人)的账号仅有393个,活跃的EOS BP节点更是仅有376个,远远不如EOS主网上线前我 ...
- 阿里云服务器使用教程手把手教你搭建网站by阿里云服务器
阿里云服务器使用教程是用户比较关心的问题,其实很简单,阿里云百科告诉大家如何使用云服务器ECS,如何使用阿里云服务器搭建网站,从服务器购买到网站上线一站式教程: 阿里云服务器购买方面,阿里云百科建议大 ...
- 手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货
在搭建AI数字人直播间之前,您需要了解数字人技术. 一.什么是AI数字人.数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌.行为.语言等特征与真实人物相似,可以与人进行互动.数字人可以 ...
- 今晚直播 | 谷歌资深工程师手把手教你使用TensorFlow最新API构建学习模型
目前,深度学习的研究和应用大受追捧,各种开源的深度学习框架层出不穷.TensorFlow 作为目前最受欢迎的深度学习框架,已经在 GitHub 上获得了 112194 个 star,受欢迎程序可见一斑 ...
- 手把手教你,搭建内网穿透服务
我的 GitHub 仓库:? 手把手教你搭建内网穿透服务,基于 lanproxy 穿透服务,为你深度定制了开箱即用的服务端和客户端 Docker 镜像. 在很多场景下内网穿透都是我们常常遇到的需求,之 ...
最新文章
- 2021年大数据ELK(十三):Elasticsearch编程(添加职位数据)
- 使用mysql内连接查询年龄_Mysql的连表查询
- 轻松应对Java试题,这是一份大数据分析工程师面试指南
- Linux用Openssl为Apache签发证书
- xp里删除不想要的删不掉的帐户
- 【SpringCloud】高可用Eureka
- div中内容靠右_python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中...
- 【转载】SSD 下的 MySQL IO 优化
- A+B and C (64bit)
- 投资赚钱发财, 财务自由,需要如下几个因素
- Go获取命令行参数及信号量处理
- 设置无效,为什么下载分数经常变化?
- linux思源黑体乱码,Source Han Sans 思源黑体字体包
- 在 NXP iMX8 上进行 4K 视频播放测试
- Pro Tools系统优化- Windows篇
- ubuntu20.04离线安装rabbitvcs
- Excel如何快速插入行,删除行
- matlab 康托尔集,康托尔集的性质特点
- 如何使用NVivo进行定性研究?
- python机器人编程——四轴UARM机械臂的运动控制(逆解)原理及python实现(下)
热门文章
- 商务智能(BI)=数据分析?才不是!看完这篇文章你就懂了
- Ten+ Hundred Million Particle Render By Krakatoa
- C语言编程实现一个数组的全排列,1、定义一个数组,编程打印它的全排列。(应用递归)2.删除文件函数...
- 用java实现消灭星星(网页版)
- 装装糊涂,世事皆通达
- Java 求一个整数的个位,十位,百位,千位。
- GO微服务实战第十四节 案例:如何在 Go-kit 和 Service Meh 中进行服务注册与发现?
- Codeforce 22D Segments
- 2021年安全员-A证考试技巧及安全员-A证复审考试
- 算法_GPS定位基本常识