[linux][nginx] 通过nginx扩展nginx-rtmp-module简单做了一个流媒体直播
做的过程出现很多问题,环境其实就需要nginx就可以,然后就是在播放的问题,m3u8的格式,mac直接访问就支持,苹果系统原生H5支持m3u8,还有就是手机直接访问也支持!但是其他其他系统PC端不支持,尝试了好多都不行,最后终于找到了一个支持m3u8格式H5播放(https://github.com/huangyaoxin/hLive下载就行吧JS.css加载就OK啦)!
参考:http://blog.csdn.net/zph1234/article/details/52846223使用nginx与nginx-rtmp-module搭建流媒体服务器
一、首先就是先下载nginx-rtmp-module
官方github地址:https://github.com/arut/nginx-rtmp-module
- git clone https://github.com/arut/nginx-rtmp-module.git
git问题:yum install git
我是下载到根目录的,看情况来就好!
二、安装:nginx
nginx的官方网站为:http://nginx.org/en/download.html
- wget http://nginx.org/download/nginx-1.8.1.tar.gz
- tar -zxvf nginx-1.8.1.tar.gz
- cd nginx-1.8.1
- ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
- make && make install
问题1:编译C 问题(在nginx-1.8.1目录下) yum install gcc gcc-c++
问题2:在于已经安装好nginx,怎么重新配置第三方模块,找到一个写的很全面的博客!
http://blog.csdn.net/ystyaoshengting/article/details/48436409如何安装nginx第三方模块--add-module
(./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 )
问题3:make编译问题(在nginx-1.8.1目录下),
安装时候可能会报错没有安装openssl,需要执行命令:(安装了依赖包就不会出现这个问题啦)
- yum -y install openssl openssl-devel
三、修改nginx配置文件
- vi /usr/local/nginx/conf/nginx.conf
在文件里加入下面内容(加载在最后面就行,独立模块)
- rtmp {
- server {
- listen 1935; #监听的端口
- chunk_size 4000;
- application hls { #rtmp推流请求路径
- live on;
- hls on;
- hls_path /usr/local/nginx/html/hls;
- hls_fragment 5s;
- }
- }
- }
- 还有就是这个路径,看你自己的实际情况的访问根目录来,我的是/usr/local/nginx/html/这个路径,
然而/usr/local/nginx/html/hls肯定没有这个目录,所以需要建一个放流文件的目录hls,并且需要改权限可读可写的权限
修改http中的server模块:
主要是改了一下端口号,改成了81;然后root目录 按实际情况改!
- server {
- listen 81;
- server_name localhost;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- root /usr/local/nginx/html;
- index index.html index.htm;
- }
- #error_page 404 /404.html;
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
然后启动nginx:
- /usr/local/nginx/sbin/nginx
关于更多rtmp的参数可以参考:https://github.com/arut/nginx-rtmp-module/wiki
四、然后就开始推流啦
配好后就用推流软件啦,我用的是OBS,按照OBS操作就可以 啦!
在设置->串流 中填写信息:URL为 rtmp://xxx:1935/hls,xxx为你的服务器的IP地址,hls是用来存放流媒体的。
秘钥可以随便填写一个,用来播放的时候识别播放哪个流媒体的,例如填写test等。
填写完毕后,点击开始串流,就说明我们的流媒体服务器搭建成功了。
五、看直播
如果是mac直接浏览器可以访问http://xxx:81/hls/test.m3u8来观看直播,其中xxx为你的服务器IP地址,
手机端直接访问文件也可以看!
然后其他的H5的vadio需要下载支持m3u8格式的播放啦,我是在https://github.com/huangyaoxin/hLive这下的,挺好用的!找了好多不行,这个可以!
六、看直播肯定会很卡
如果降低延迟也不是没有方法,可以设置切片生成的大小以及访问的速度,但是这样大大增加了服务器的压力。
当然,我们也可以用rtmp拉流工具(VLC等)来看该直播,延迟大概在2-5S左右,拉流地址与推流地址一致。
[linux][nginx] 通过nginx扩展nginx-rtmp-module简单做了一个流媒体直播的更多相关文章
- Nginx+FFmpeg实现RTSP转RTMP
RTSP转RTMP 本次转流采用Centos+Nginx+FFmpeg实现,具体实现如下: 1. 安装Ngxin 安装详细略(可以选择安装阿里的Tengine,官方[下载路径](Download - ...
- linux和mac下的nginx和php的安装
linux版本相关文档:http://www.nginx.cn/231.html 一.安装php 1.下载包,这里以php 5.3.10为例 2.执行下面shell命令 注意:下面配置的命令中第一行 ...
- Linux中编译、安装nginx
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器. Nginx 是由Igor Sysoev为俄罗斯访问 ...
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比
linux服务器之LVS.Nginx和HAProxy负载均衡器对比. LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身 ...
- Linux下源码安装Nginx服务
nginx 安装 linux 系统需要安装必备的开发包,比如 gcc,gcc-c++ 1. openssl (支持 https) https://www.openssl.org/source/ ...
- CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试
前言 系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和 ...
- Linux centos7环境下安装Nginx
Linux centos7环境下安装Nginx的步骤详解 1. 首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...
- Linux Centos 6.5_x86安装Nginx
一.下载 二.编译安装 三.启动.停止.平滑重启 一.下载 地址:http://nginx.org/en/download.html 或者在linux上使用wget命令下载: wget http:// ...
- linux环境手动编译安装Nginx实践过程 附异常解决
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 或者使用云盘下载 ht ...
随机推荐
- python之面向对象函数与方法,反射,双下方法
一.函数和方法 1.函数和方法的区别 函数: 全都是显性传参,手动传参,与对象无关 方法: 存在隐性传参,与对象有关 1.1通过函数名可以判断 len()就是函数 str.count()就是方法 de ...
- PyTorch 实战-张量
Numpy 是一个非常好的框架,但是不能用 GPU 来进行数据运算. Numpy is a great framework, but it cannot utilize GPUs to acceler ...
- SpringCloud入门(七): Zuul 简介与使用
Zuul 简介 Zuul 微服务网关是为Spring Cloud Netflix提供动态路由,监控,弹性,安全等服务的框架.可以和Eureka.Ribbon.Hystrix等组件配合使用. Zuul ...
- 树莓派 Raspberry PI基础
树莓派 Raspberry PI基础 官网网址:https://www.raspberrypi.org 下载地址:https://www.raspberrypi.org/downloads/ 官方系统 ...
- python——新excel模块之openpyxl
1.安装 pip install openpyxl 2.新建文件 book=openpyxl.Workbook() 3.打开sheet页(两种方式) sheet=book.active #默认的she ...
- sql 模块 pymysql 数据库操作
1. 添加一个部门. import pymysql def main(): no = int(input('编号: ')) name = input('名字: ') loc = input('所在地: ...
- Git之旅
ithub安装,我选择的是windows下的版本. git配置用户信息 安装完成后,还需要最后一步设置,在命令行输入: $git config --global user.name "You ...
- 20175314 《Java程序设计》第十周学习总结
20175314 <Java程序设计>第十周学习总结 教材学习内容总结 进程与线程:一个进程的进行期间可以产生多个线程. Java内置对多线程的支持,计算机只能执行线程中的一个,Java虚 ...
- 关于dll劫持我的奇思妙想(一)
0x00 前言 前段时间在研究着windows底层的一些东西,发现这个dll劫持一直没有做过,根据倾旋师傅的视频和文章做了一系列的研究,然后就突发来了兴致研究一些dll劫持提权. 0x01 了解 ...
- k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦
背景 系统版本:CentOS7 Jenkins版本:2.222.1 maven版本:apache-maven-3.6.3 Java版本:jdk1.8.0_231 Git版本:1.8.3.1 docke ...