nginx-http-flv-module介绍
nginx-http-flv-module是在nginx-rtmp-module基础上开发的一个直播模块。
感谢Arut创造了nginx-rtmp-module,它是Nginx的一个优秀的第三方模块,可以用来直播,支持RTMP,HLS和DASH方式直播,还支持调用第三方软件进行转码,录制视频等功能,由于依托Nginx,性能也比较高。但是美中不足的地方也不少,例如首屏时间长,不支持HTTP-FLV方式直播,不支持虚拟主机(vhost)功能,省略listen配置无法接受连接,有很多很明显的bug等问题。
为什么选择Nginx作为支持HTTP-FLV方式直播的服务器呢?因为Nginx的Web服务器功能对HTTP协议的支持非常完善,Nginx的性能优秀,经过了很多场景的检验。另外,Nginx本身对第三方软件的依赖较少,非常易于部署。这些都使得它成为HTTP-FLV方式直播服务器不可多得的选择。
功能简介
兼容nginx-rtmp-module的所有功能,详细说明参考nginx-rtmp-module的Wiki。
支持HTTP-FLV方式的直播
支持的播放器有VLC,OBS和flv.js等,只需要输入如下地址即可:
http://yourdomain[:httpport]/dir?[rtmpport=xxx&]app=yyy&stream=zzz
其中httpport是Nginx的配置文件中http块中监听的端口,如果这个端口是80,那么可以省略不写;rtmpport是Nginx的配置文件中rtmp块中监听的端口,如果这个端口是1935,那么可以省略不写。dir是Nginx的配置文件中http块中location后的路径。参数app和stream见下文的推流一节说明。
nginx-http-flv-module也支持HTTPS-FLV方式的直播。
支持虚拟主机功能
nginx-rtmp-module不支持虚拟主机功能。那什么是虚拟主机功能呢?假设有一台服务器,其IP地址是192.168.1.110,我配置了一个DNS服务器,将两个域名www.testa.com和www.testb.com都指向192.168.1.110,那么对于Web服务,我可以针对这两个域名配置不同的Web页面,通过不同的域名访问不同的Web页面,但其实这两个不同的服务都指向同一台服务器。这两个域名对应同一个IP地址就是虚拟主机功能。与http配置一样,nginx-http-flv-module通过server_name来指定域名,也支持前向通配,后向通配和完全匹配:
server {server_name *.test.com; #前向通配,匹配blog.test.com/login.test.com等...
}server {server_name www.test.*; #后向通配,匹配www.test.org/www.test.com等...
}server {server_name www.test.com; #完全匹配
}
注意:虚拟主机功能在多进程模式下还有问题。
推流
为了简便起见,假设不使用比较复杂的选项,这里以ffmpeg为例:
ffmpeg -re -i media_file -vcodec copy -acodec copy -f flv rtmp://yourdomain/app/stream
nginx-http-flv-module介绍相关推荐
- Nginx搭建flv视频点播服务器
Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...
- 编译Nginx提示gzip module requires the zlib library
编译Nginx提示gzip module requires the zlib library 新手在尝试安装nginx时,常常会因为缺少依赖组件,导致nginx相应模块无法安装,在执行"./ ...
- Http Module 介绍[转]
Http Module 介绍[转] Http Module 介绍 引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我 ...
- Nginx中server_name指令介绍
Nginx中server_name指令介绍 用途 根据官方文档说明,用来设置虚拟服务器,对于用IP还是请求头部中的Host字段内容设置这个指令的值,没有明确的分别. 用法 指令后跟特定域名,此时第一个 ...
- nginx阻挡flv视频文件上传解决方案
[b]问题[/b]:nginx阻挡flv上传 上传flv视遇到出现IO 错误,尝试使用ip直接访问页面上传,可以成功 [b]解决方法:[/b] 一. 重新编译nginx,添加upload模块 1. 拷 ...
- 【nginx http flv 】ATC追踪:播放器拉流的调用堆栈及时间戳打印1
nginx rtmp flv 模块应该没有atc模式,跟踪下代码看看. obs rtmp 推流给 nginx vlc 从nginx 拉流播放 启用GOP 打印调用堆栈 打印时间戳 http flv 请 ...
- 正向代理和Nginx反向代理配置介绍
正向代理和Nginx反向代理配置介绍 * Author QiuRiMangCao 秋日芒草* 正向代理(代理对象是pc) 是一个位于客户端(pc)和原始服务器(google.com)之间的服务器 场景 ...
- Nginx-接入层Nginx架构及模块介绍
文章简介: 1)帮助大家对Nginx有一定的认识 2)熟悉Nginx有哪些应用场景 3)熟悉Nginx特点和架构模型以及相关流程 4)熟悉Nginx定制化开发的几种模块分类 文章相关视频讲解: C/C ...
- 网易视频云:用Nginx搭建flv,mp4,hls流媒体服务
网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线 ...
- nginx+ffmpeg+flv实现rtsp转rtmp和flv推流(同时拉流)实现浏览器展示监控
介绍 因本人公司业务需要浏览器展示海康威视监控视频,所以在此记录一下.以防下次使用不记得.此监控视频解决方案有10s左右的延迟,如果公司没有强制要求还是可以使用的.如果介意10s延迟的话可以使用第三方 ...
最新文章
- 【Sql Server】Database-存储过程
- python抽奖游戏_python实现转盘效果 python实现轮盘抽奖游戏
- Meteor:发布与订阅
- 谷歌Analytics添加到您的SharePoint 2010网站的2种方法
- php ftp 创建文件夹失败,PHP使用FTP函数创建目录
- 4种分布式Session的实现方式!老大直呼666...
- iPhone 13系列7款新机已通过EEC认证:或继续9月亮相
- 《原力计划【第二季】》第 2 周周榜揭晓!!!
- 大数据环境搭建之hadoop完全分布式搭建
- fedora14安装
- 对称矩阵的逆矩阵也是对称矩阵吗
- ICode python 3级训练场判断能量状态第19关
- 2016年计算机基础题库,2016考试计算机基础知识题库
- xmapp启动数据库问题记录 Access denied for user ‘me‘@‘localhost‘ (using password: NO)
- 学习笔记(2):程序员的数学:微积分-常用导数(二):最常用到的技巧
- 没有被遣返的人生是不完整的
- 上海市居住证积分提交材料
- 知云文献翻译打不开_有了这几个软件,轻松读懂英文文献
- 笔迹识别(一 笔迹特征)
- 最近公共祖先(LCA,Tarjan)