wget https://www.openssl.org/source/openssl-1.1.0.tar.gz #下载OpenSSL源码包

wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz #下载pcre源码包

wget http://www.zlib.net/zlib-1.2.11.tar.gz #下载zlib包源码/pre>

tar -zxvf 包名 #解压各个包源码

附一张目录结构图

找到nginx源码包中 configure 所在的目录,以下脚本就是基于configure来实现的,在本机上configure 命令就在auto 目录下,当前目录 /root/source/nginx 就在这个目录下编写脚本vi config.sh 加入以下内容

./auto/configure --prefix=/usr/local/nginx \

--with-pcre=../pcre-8.39 \

--with-openssl=../openssl-1.1.0 \

--with-zlib=../zlib-1.2.11 \

--with-http_v2_module \

--with-http_flv_module \

--with-http_mp4_module \

--add-module=../nginx-rtmp-module/

保存后给文件赋予操作权限,再执行

chmod 777 config.sh #赋予权限

./config.sh #执行脚本

检查配置没有问题

yum -y install gcc #确保依赖的gcc安装

yum -y install gcc-c++ #确保依赖的c++已经安装

make #编译

显示如下则编译成功

make install #安装

安装成功

同样需要 1.云服务器控制台对相应的端口开放;2.并且Linux机器对默认端口80开放(如果想修改默认端口自行百度),由于本机80端口被Apache 服务器占用了,所以将nginx默认端口改为8084

iptables -I INPUT -p tcp -m state --state NEW --dport 8084 -j ACCEPT #放行8084端口的 NEW状态请求(本机的RELATED,ESTABLISHED状态是默认放行的)

service iptables save #保存规则

service iptables restart #重启防火墙保证新的规则加载进来

测试nginx是否安装成功 ip:port 如果出现以下界面说明安装成功

配置rtmp

在nginx配置文件中配置rtmp服务,记住rtmp服务是和http服务是平级的,所以我们需要在和http配置平级的位置另起rtmp服务

vi /usr/local/nginx/conf/nginx.conf #修改配置文件

在配置文件末尾加入以下内容(括号嵌套切记不要弄混)

# rtmp config

rtmp {

server {

listen 1935;

chunk_size 4096;

application live {

live on;

record off;

}

application live2 {

live on;

record off;

}

application vod {

play /var/flvs;

}

application vod_http {

play http://服务器的ip/vod;

}

application hls {

live on;

hls on;

hls_path /tmp/hls;

}

}

}

/usr/local/nginx/sbin/nginx -s reload #修改配置文件重启nginx服务

测试rtmp端口是否通

端口放行需要有三个条件,1.云服务的安全组放行;2.防火墙iptables放行;3.服务本身放行

安全组

登录云服务器控制台进行设置

防火墙

iptables -I INPUT -p tcp -m state --state NEW --dport 1935 -j ACCEPT #放行1935端口的 NEW状态请求

service iptables save #保存规则

service iptables restart #重启防火墙保证新的规则加载进来

服务本身

由于nginx服务我们已经配置过1935端口,所以是放行状态的,我们可以在windows本地使用telnet 命令测试端口是否通

如果出现一下界面说明端口已经通了

使OBS推流

OBS(Open Broadcaster Software) 是以互联网流媒体直播内容为目的免费和开放源码软件。需要下载这个软件,借助这个软件进行推流(电脑没有摄像头的貌似安装不了。。。)

就长这个样子

打开后我们需要有一个场景,并且在这个场景下有一个流的来源(可以是窗口,如果选的是视频则会自动识别摄像头),接下来就是设置了

在配置中最需要关注的就是流的配置了,由于是自建的流媒体服务器所以我们照这样配置

rtmp://你的服务器ip:端口(1935)/live #URL填写流的地址

设置完成我们就可以 开始推流了

拉流测试地址

推荐一个拉流的测试地址,里面针对各种协议都能测试拉流测试,需要注意图中几个地方,由于我们使用的rtmp协议,我们选择这一栏,底下填写我们推流的地址和我们在上面obs的设置里面配置的流的名称,start, ok搞定!!!!

总结

本文用nginx作为服务器,使用rtmp协议简述了的搭建了一个流媒体服务器的过程,并且描述了一个简单的测试流程。其中调试端口的可用性,安装过程服务的依赖处理,修改配置需要重启服务,是常见的问题,需要特别注意。

笔者也是第一次搭建,不足之处,欢迎留言,一起交流!

云服务器obs_从零搭建流媒体服务器+obs推流直播相关推荐

  1. 阿里云环境搭建流媒体服务器(自己写的文档)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.nginx-rtmp-module-master 二.使用步骤 1.我的ngix版本1.9.9 2.注意 前言 由 ...

  2. obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

    欢迎大家来此浏览,希望大家一块在此学习,共同交流进步. 接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx ...

  3. Linux---nginx+ffmpeg搭建流媒体服务器

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  4. nginx+ffmpeg搭建流媒体服务器

    安装ffmpeg: 下载FFmpeg和libx264的包 ffmpeg-2.4.1.tar.bz2  last_x264.tar.bz2 libx264需要yasm,所以先安装yasm apt-get ...

  5. python搭建流媒体服务器_Linux自建直播服务器一:使用Nginx+rtmp模块搭建流媒体服务器...

    技术服务于生活.当在日常遇到问题的时候,需要经常去思考如何解决这个问题. 最近网易的逆水寒开测了,非常荣幸拿到一个资格号,可以来体验一下这款国产巅峰级网游,一个会呼吸的江湖.作为一个极度业余的主播(一 ...

  6. ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  7. 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/redstarofsle ...

  8. 使用腾讯云服务器的windows系统搭建CSGO服务器

    使用腾讯云服务器的windows系统搭建CSGO服务器 准备工作 在正式安装搭建之前需要先到steam官方游戏服务器账户申请公网秘钥Login Token(需要登录自己的steam账号) 网址:htt ...

  9. 用vlc搭建流媒体服务器

    用vlc搭建流媒体服务器 作者:axu82119 来源:CSDN知识库 VLC是一种开源的播放器,同时也可以用作流媒体服务器.今天试验了几种搭建流媒体服务器的方法,这里做一个归纳总结. 本文使用的VL ...

  10. nginx的rtmp搭建流媒体服务器实现直播流

    最近自己搞了一个用nginx的rtmp来搭建流媒体服务器,从而实现直播的过程,参考了网上很多资料,有些资料对于初学者来说比较难以理解,在此将我搭建的过程记录下来,分享给大家. 1.下载nginx-rt ...

最新文章

  1. 简单两步,spring aop上手即用即会
  2. 城市大脑的定义与理论基础综述
  3. top命令按内存和cpu排序
  4. python数据清理的实践总结_python 数据的清理行为实例详解
  5. 动态规划经典算法--最大子段和
  6. ORA-00304: requested INSTANCE_NUMBER is busy
  7. python matplotlib画图遇到的问题——标题重叠问题
  8. 修改ip和计算机名,批量设置IP地址和计算机名
  9. java keytool 使用总结(转)
  10. c++ break跳出几个循环_必须知道的C语言知识细节:break、continue语句区别
  11. PHP去掉Bom标记
  12. 集结六大行业领袖,「数据科学家」新课全球首发!
  13. ISE14.7从程序设计到下载
  14. 数字电视输出标准规范和BT601/BT709/BT2020色域转换方法资料整理
  15. Photoshop之通道抠图,适用于扣人像,树叶等细微抠图
  16. 【面试】网易游戏面试题目整理及答案(3)
  17. n9 android rom,三星N935L官方安卓9固件rom系统线刷包:LUC-N935LKLU4CSI1
  18. C# Solidworks二次开发 输入零件名选中零件
  19. 高压母排、电缆接头的温度监测解决方案
  20. 代理服务器可能有问题,或地址不正确的解决方案

热门文章

  1. AppStore 预览图制作
  2. C++ 保存txt文本文件
  3. 51单片机与JQ8900语音播报模块
  4. html如何用表格做二级菜单栏,Excel表格制作二级下拉菜单步骤
  5. 常用9款在线作图工具,总有一款适合你!
  6. DirectX 9的安装与配置
  7. 串口通信以及波特率计算方法
  8. 【源码部署】Linux系统部署suricata
  9. 电力拖动自动控制系统_电气工程及其自动化为什么这么火!原因有这些,建议收藏...
  10. VHDL与MATLAB卷积译码,基于VHDL的卷积编码实现 详解卷积编码的应用