nginx:rtmp
程序员文章站
2022-06-15 22:45:28
...
rtmp(Real Time Messaging Protocol)实时消息传送协议
Nginx rtmp功能点
支持音视频直播
支持flv/mp4视频格式,输入可以是文件或者HTTP流
支持两种流的分发模式 pushand pull
可以将直播流录制成flv文件
H264/AAC编码
支持在线转码 Online transcoding with FFmpeg
支持HLS (HTTP LiveStreaming)需要 libavformat (>= 8. 53.31.100) from ffmpeg (ffmpeg.org)
HTTP callbacks (publish/play/record/update etc)
支持外部程序(exec)
HTTP control module for recording audio/video and dropping clients
先进内存控制技术,可以在使用少量内存的情况下完成流畅的直播功能。
可以和以下协同工作。FMS server(Wirecast, FMS, Wowza,)Player(JWPlayer, FlowPlayer, StrobeMediaPlayback,)外部程序(ffmpeg,avconv,rtmpdump,flvstreamer )
Statistics in XML/XSL in machine- & human- readable form
支持跨平台 Linux/FreeBSD/MacOS
项目地址:https://github.com/arut/nginx-rtmp-module
nginx-rtmp-module Directives:https://github.com/arut/nginx-rtmp-module/wiki/Directives
总的来说Nginx-rtmp是个比较轻量的项目,可以满足直播的采集,编码和分发工作,该项目丰富的完善了nginx对视频的支持,特别的nginx-rtmp实现了对HLS的支持。
==========================================================
mac下安装:
-----------------------------------------------------------------------
brew tap homebrew/nginx
brew install nginx-full --with-rtmp-module
brew info nginx-full
-----------------------------------------------------------------------
linux下安装:
-----------------------------------------------------------------------
在源码目录下(有configure文件)
nginx -V(将 --prefix及其后面的配置 替换到下面命令--prefix=...)
sudo ./configure --prefix=... --add-module=/usr/local/Cellar/nginx_module/nginx-rtmp-module-master
make(没有make install)
==========================================================
nginx.conf:
#rtmp service
rtmp
{
#声明一个rtmp实例
server
{
#给Nginx添加一个监听端口以接收rtmp连接
listen 1935;
#流整合的最大的块大小。默认值为4096。这个值设置的越大CPU负载就越小。这个值不能低于128
chunk_size 4096;
#创建一个发布应用 live ,发布到该应用的地址就是:rtmp://ip地址:1935/live/
application live
{
#切换直播模式,即一对多广播
live on;
#播放指定mp4文件目录
#play /home/video/mp4;
allow play all;
}
}
}
http
{
...
}
==========================================================
Nginx rtmp功能点
支持音视频直播
支持flv/mp4视频格式,输入可以是文件或者HTTP流
支持两种流的分发模式 pushand pull
可以将直播流录制成flv文件
H264/AAC编码
支持在线转码 Online transcoding with FFmpeg
支持HLS (HTTP LiveStreaming)需要 libavformat (>= 8. 53.31.100) from ffmpeg (ffmpeg.org)
HTTP callbacks (publish/play/record/update etc)
支持外部程序(exec)
HTTP control module for recording audio/video and dropping clients
先进内存控制技术,可以在使用少量内存的情况下完成流畅的直播功能。
可以和以下协同工作。FMS server(Wirecast, FMS, Wowza,)Player(JWPlayer, FlowPlayer, StrobeMediaPlayback,)外部程序(ffmpeg,avconv,rtmpdump,flvstreamer )
Statistics in XML/XSL in machine- & human- readable form
支持跨平台 Linux/FreeBSD/MacOS
项目地址:https://github.com/arut/nginx-rtmp-module
nginx-rtmp-module Directives:https://github.com/arut/nginx-rtmp-module/wiki/Directives
总的来说Nginx-rtmp是个比较轻量的项目,可以满足直播的采集,编码和分发工作,该项目丰富的完善了nginx对视频的支持,特别的nginx-rtmp实现了对HLS的支持。
==========================================================
mac下安装:
-----------------------------------------------------------------------
brew tap homebrew/nginx
brew install nginx-full --with-rtmp-module
brew info nginx-full
-----------------------------------------------------------------------
linux下安装:
-----------------------------------------------------------------------
在源码目录下(有configure文件)
nginx -V(将 --prefix及其后面的配置 替换到下面命令--prefix=...)
sudo ./configure --prefix=... --add-module=/usr/local/Cellar/nginx_module/nginx-rtmp-module-master
make(没有make install)
==========================================================
nginx.conf:
#rtmp service
rtmp
{
#声明一个rtmp实例
server
{
#给Nginx添加一个监听端口以接收rtmp连接
listen 1935;
#流整合的最大的块大小。默认值为4096。这个值设置的越大CPU负载就越小。这个值不能低于128
chunk_size 4096;
#创建一个发布应用 live ,发布到该应用的地址就是:rtmp://ip地址:1935/live/
application live
{
#切换直播模式,即一对多广播
live on;
#播放指定mp4文件目录
#play /home/video/mp4;
allow play all;
}
}
}
http
{
...
}
==========================================================
上一篇: mongo:副本集群配置
下一篇: netty:心跳和重连
推荐阅读
-
shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
-
php调用nginx的mod_zip模块打包ZIP文件
-
在windows下使用淘宝的nginx插件 nginx_concat_module (附下载地址)
-
PHP、Nginx、Apache中禁止网页被iframe引用的方法
-
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
-
用uWSGI和Nginx部署Flask项目的方法示例
-
nginx location语法使用介绍
-
Nginx DNS resolver配置实例
-
nginx服务器access日志中大量400 bad request错误的解决方法
-
使用Nginx做WebSockets代理教程