在centos上使用nginx-rtmp实现hls(Http live Streaming)直播
欢迎访问我的个人博客:xie-kang.com
原文地址
以下步骤建议在同一目录(如:~/Downloads)下执行(防止小白把目录弄混乱)
下载并解压nginx-rtmp(建议在~/Downloads下执行,便于统一操作)
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
unzip -o master.zip
如果你从未下载过nginx源码则执行下列操作,下载过的话则跳过
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
nginx编译与安装
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=../nginx-rtmp-module-master
注: --add-module=你解压nginx-rtmp的路径
make
sudo make install
修改nginx.conf的配置
特别注意!rtmp块与http块同级,所以rtmp块需放在http{}外面
注意 rtmp的 hls_path 的设置,在http块中hls服务相关需要使用到
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
hls on; #开启hls
hls_path /data/rtmpTmp; #流文件的存放路径,.m3u8的存放路径
hls_fragment 5s; #每个TS文件包含5秒的视频内容
}
}
}
#简略设置
http {
server {
listen 80;
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /data/rtmpTmp; # 即为rtmp块中的hls_path所设置的路径
expires -1;
}
}
}
启动或重启nginx
启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启:/usr/local/nginx/sbin/nginx -s reload
设置防火墙
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=1935/udp --permanent
firewall-cmd --reloadl
注:使用腾讯云、阿里云等同学也需要到云控制台中的防火墙设置1935端口的权限
自此,RTMP服务搭建完毕
测试方法
推流:
下载直播推流软件OBS,安装并设置
设置路径, “设置” -> “推流”

开始推流直播

拉流:
下载vlc,并安装运行


最终效果

在centos上使用nginx-rtmp实现hls(Http live Streaming)直播的更多相关文章
- 在CentOS 上搭建nginx来部署静态页面网站
在centOs 上搭建nginx来部署静态页面网站 一.部署服务器环境 nginx:轻量级.高性能的HTTP及反向代理服务器,占用内存少,并发能力强,相比老牌的apache作为web服务器,性能更加卓 ...
- 如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持
HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进.HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 W ...
- CentOs上搭建nginx
目录 CentOs上搭建nginx 1. 在root环境下安装nginx 1.1 常用工具安装 1.2 关闭iptables规则 1.3 关闭SELinux 1.4 安装C/C++环境和PCRE库 1 ...
- 在CentOS上把Nginx从1.2.4升级到1.6.0
在CentOS上升级把Nginx从1.2.4升级到1.6.0 摘要:本文记录了在CentOS 6.3上,把Nginx从1.2.4升级到1.6.0的过程. 1. 概述 在我做的一个项目中,最近我对生产服 ...
- Mac上搭建Nginx + rtmp
介绍 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 安装步骤 1.先安装brew: /usr/bin/ru ...
- 在CentOS上使用Nginx和Tomcat搭建高可用高并发网站
目录 目录 前言 创建CentOS虚拟机 安装Nginx 安装Tomcat 安装lvs和keepalived 反向代理 部署网站 搭建数据库 编写网站项目 解决session一致性 注意 参考资料 前 ...
- CentOS上搭建Nginx + Mono 运行 asp.net
安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -sLANG=Cyum -y install gcc gcc-c++ aut ...
- CentOS上搭建Nginx + Mono 运行 asp.net[转]
http://www.linuxdot.net/ http://www.cnblogs.com/wander1129/archive/2011/12/16/mono.html 安装步骤: 一.获取开源 ...
- 在 CentOS 上部署 Nginx 环境
这里的案例主要通过虚拟机( vmware workstation (14) )的方式安装 Center OS 到本地环境 资源下载: vmware workstation / CentOS 本次 ...
- Lvs 环境搭建 vbox搭建centos6.9 vbox设置 centos上安装nginx
1.现在vbox上虚拟出3个虚拟机,分别为负载均衡器(Load Balance).实际服务器1(Real server1).实际服务器2(Real Server2) 要点: :vbox系统网络连接方式 ...
随机推荐
- mybatis核心配置文件—设置别名typeAliases
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...
- Chtholly Tree 学习笔记
前言 珂朵莉树 (Chtholly Tree) 是一种简单优美的数据结构,就像 Chtholly 一样可爱.暴力即优美. 适用于一些有区间赋值操作的序列操作题. Chtholly Tree 的本质是把 ...
- 怎么解决CMD下执行Go出现中文乱码问题?
目录 1.报错信息如下 2.原因分析 3.解决方法 4.封装处理乱码方法 5.解决乱码完整代码 1.报错信息如下 2.原因分析 因为Go的编码是UTF-8,而CMD的活动页是cp936(GBK),因此 ...
- mysql8.0修改密码
把密码设置为空:UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost'; 查看USE ...
- Expected indentation of 2 spaces but found 4
预期缩进2个空格,但发现4个 把缩进空格修改后如图
- fiddler抓包返回304
为了验证部分场景需要对接口返回数据进行修改后验证前端代码逻辑处理,发现同一域名下其他接口都正常返回,但是某个端口返回304. 操作步骤是页面打开后接口已经请求了,这时候才打开fiddler抓取请求拦截 ...
- 【OA致远】流程表单中选择集团角色
- Coursera Programming Languages, Part B 华盛顿大学 Week 1
来上 programming language 的第二 part 了!这一部分介绍的语言是 Racket,之前就听说过它独特的括号语法,这次来具体了解一下 Racket definitions, fu ...
- AIO基本编写
一. public class Server { //线程池 private ExecutorService executorService; //线程组 private AsynchronousCh ...
- css/js使用小技巧记录
1.白底小图标换色 .iconBox { position: relative; width: 19px; height: 19px; overflow: hidden; // 隐藏原本颜色的图片 . ...