原文地址: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. 镜播无人直播带货教程,手把手教你如何搭建直播间

    镜播无人直播带货新手教程,手把手教你如何搭建直播间 如果你一个人在家里面直播,没有直播中控来辅助你一个情况下怎么办?来教你一个什么叫做镜播.用镜子来做一个直播的辅助.在你的面前放一面镜子,下面是产品, ...

  2. 手把手教你快速搭建私服环境

    手把手教你快速搭建私服环境,简单实用,一看就懂 1.准备工作:先下载Nxus Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库 ...

  3. C# SuperSocket 手把手教你入门 傻瓜教程---3(Telnet服务器和客户端请求处理)

    C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你 ...

  4. 手把手教你如何搭建一个自己的安卓快速开发框架之带你做自己的APP(二)

    ####点击查看上一篇文章:手把手教你如何搭建一个自己的安卓快速开发框架之BaseActivity(一) 继上一篇我实现了基本的BaseActivity,包含 ToolBar 透明状态栏 生命周期监控 ...

  5. 手把手教你快速搭建 EOS 主网见证人节点(BP)

    EOS主网启动至今已经超过一个月,然而截至当前,注册成为EOS Block Producer(大家习惯称为见证人)的账号仅有393个,活跃的EOS BP节点更是仅有376个,远远不如EOS主网上线前我 ...

  6. 阿里云服务器使用教程手把手教你搭建网站by阿里云服务器

    阿里云服务器使用教程是用户比较关心的问题,其实很简单,阿里云百科告诉大家如何使用云服务器ECS,如何使用阿里云服务器搭建网站,从服务器购买到网站上线一站式教程: 阿里云服务器购买方面,阿里云百科建议大 ...

  7. 手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货

    在搭建AI数字人直播间之前,您需要了解数字人技术. 一.什么是AI数字人.数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌.行为.语言等特征与真实人物相似,可以与人进行互动.数字人可以 ...

  8. 今晚直播 | 谷歌资深工程师手把手教你使用TensorFlow最新API构建学习模型

    目前,深度学习的研究和应用大受追捧,各种开源的深度学习框架层出不穷.TensorFlow 作为目前最受欢迎的深度学习框架,已经在 GitHub 上获得了 112194 个 star,受欢迎程序可见一斑 ...

  9. 手把手教你,搭建内网穿透服务

    我的 GitHub 仓库:? 手把手教你搭建内网穿透服务,基于 lanproxy 穿透服务,为你深度定制了开箱即用的服务端和客户端 Docker 镜像. 在很多场景下内网穿透都是我们常常遇到的需求,之 ...

最新文章

  1. 2021年大数据ELK(十三):Elasticsearch编程(添加职位数据)
  2. 使用mysql内连接查询年龄_Mysql的连表查询
  3. 轻松应对Java试题,这是一份大数据分析工程师面试指南
  4. Linux用Openssl为Apache签发证书
  5. xp里删除不想要的删不掉的帐户
  6. 【SpringCloud】高可用Eureka
  7. div中内容靠右_python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中...
  8. 【转载】SSD 下的 MySQL IO 优化
  9. A+B and C (64bit)
  10. 投资赚钱发财, 财务自由,需要如下几个因素
  11. Go获取命令行参数及信号量处理
  12. 设置无效,为什么下载分数经常变化?
  13. linux思源黑体乱码,Source Han Sans 思源黑体字体包
  14. 在 NXP iMX8 上进行 4K 视频播放测试
  15. Pro Tools系统优化- Windows篇
  16. ubuntu20.04离线安装rabbitvcs
  17. Excel如何快速插入行,删除行
  18. matlab 康托尔集,康托尔集的性质特点
  19. 如何使用NVivo进行定性研究?
  20. python机器人编程——四轴UARM机械臂的运动控制(逆解)原理及python实现(下)

热门文章

  1. 商务智能(BI)=数据分析?才不是!看完这篇文章你就懂了
  2. Ten+ Hundred Million Particle Render By Krakatoa
  3. C语言编程实现一个数组的全排列,1、定义一个数组,编程打印它的全排列。(应用递归)2.删除文件函数...
  4. 用java实现消灭星星(网页版)
  5. 装装糊涂,世事皆通达
  6. Java 求一个整数的个位,十位,百位,千位。
  7. GO微服务实战第十四节 案例:如何在 Go-kit 和 Service Meh 中进行服务注册与发现?
  8. Codeforce 22D Segments
  9. 2021年安全员-A证考试技巧及安全员-A证复审考试
  10. 算法_GPS定位基本常识