`

用开源nginx-rtmp-module搭建flash直播环境

阅读更多
1、将nginx和nginx-rtmp-module的源码包解压
PS:nginx-rtmp-module网址
https://github.com/arut/nginx-rtmp-module
 
2、进入nginx的源代码目录,编译
./configure --add-module=<path-to-nginx-rtmp-module> --without-http_rewrite_module
make
make install

3、写一个测试配置文件
#user  nobody;
worker_processes  1;
error_log  logs/error.log debug;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
rtmp {
    server {
        listen 1935;
        chunk_size 4096;
        application myapp {
            live on;
        }
    }
}
http {
    server {
        listen      8080;
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
            root /home/arut-nginx-rtmp-module-e5d61f2/;
        }
        location / {
            root /home/arut-nginx-rtmp-module-e5d61f2/test/rtmp-publisher;
        }
    }
}

4、启动nginx
/usr/local/nginx/sbin/nginx -c /home/arut-nginx-rtmp-module-e5d61f2/test/nginx.conf

5、用ffmpeg产生一个模拟直播源,向rtmp服务器推送
ffmpeg -re -i ~/2012.flv -f flv rtmp://192.168.11.75/myapp/test1
注意,源文件必须是H.264+AAC编码的。192.168.11.75是运行nginx的服务器IP

6、访问http://192.168.11.75:8080/stat,可以看到统计情况
 
7、网页播放测试,用nginx-rtmp-module自带的一个例子修改,在test/rtmp-publisher目录下
player.html
<!DOCTYPE html>
<html>
<head>
    <title>RTMP Player</title>
    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript">
        var flashVars = {
            streamer: 'rtmp://192.168.11.75/myapp',
            file:'test1'
        };
        swfobject.embedSWF("RtmpPlayer.swf", "rtmp-publisher", "500", "400", "9.0.0", 
null, flashVars);
    </script>
</head>
<body>
    <div id="rtmp-publisher">
        <p>Flash not installed</p>
    </div>
</body>
</html>
访问http://192.168.11.75:8080/player.html,可以播放。用三星P7500安卓平台也可以播放,就是
播放大视频会很卡
 
nginx-rtmp-module还有许多其他特性,例如支持FLV/MP4的点播、HLS直播、多worker工作模式、push and pull工作模式等,以后慢慢挖掘

 

分享到:
评论

相关推荐

    nginx-rtmp-module-master源码

    Nginx-RTMP 模块的引入使得 Nginx 服务器能够处理 RTMP 流,从而成为搭建直播平台的首选。 **2. Nginx-RTMP 模块功能** - **接收和分发流**: Nginx-RTMP 可以接收来自多个来源的 RTMP 流,并将它们分发到多个目的地...

    nginx-rtmp-module

    【Nginx-RTMP-Module详解:搭建流媒体服务器实现直播】 在现代互联网中,实时流媒体服务已经成为在线内容传播的重要方式,特别是在直播领域。Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,而 Nginx-...

    nginx-rtmp-module-master

    【Nginx-RTMP 模块详解】 Nginx-RTMP 模块是 Nginx 的一个...通过以上步骤,你就成功地在 Nginx 中集成了 RTMP 功能,可以开始搭建和管理自己的直播或点播服务了。记得根据实际需求调整配置文件,以满足各种应用场景。

    带nginx-rtmp-module模块的Nginx

    nginx-rtmp-module是一个由Arut开发的开源项目,它允许Nginx接收、处理和分发RTMP流,适用于直播服务的搭建。在Windows系统上编译Nginx并集成此模块,为Windows平台上的开发者和用户提供了一种便捷的实现实时流媒体...

    ffmpeg+nginx-rtmp-module+flv监控视频web展示

    FFmpeg、Nginx-RTMP-Module 和 FLV 监控视频Web展示是一个整合了实时流媒体处理、传输和播放的技术方案。这个方案适用于在Web端实现监控视频的实时展示,尤其对于需要构建远程监控系统或者直播平台的场景非常实用。...

    nginx-rtmp-module.rar

    Nginx RTMP 模块默认并不提供详细日志,但可以通过编写自定义脚本或使用如 nginx-rtmp-module-stats 这样的扩展来获取更详细的流统计信息。 8. **安全性考虑** 为了保护流媒体内容和服务器安全,应考虑使用 SSL/...

    nginx(已经配置好了nginx-rtmp-module)+VLC(可播放rtmp)+ffmpeng

    本教程将详细介绍如何利用Nginx(已配置了nginx-rtmp-module)、VLC和ffmpeg来搭建一个RTMP直播系统,支持海康威视等监控设备的视频流接入。 【nginx-rtmp-module】是Nginx的一个扩展模块,专门用于处理RTMP协议的...

    nginx-rtmp.rar

    【标题】"nginx-rtmp.rar" 是一个包含在Linux环境下搭建nginx服务器所需组件的压缩包,特别是针对流媒体服务的rtmp模块。这个压缩包里有openssl源码、pcre库以及nginx服务器的rtmp模块和基础版本的源代码。 【描述...

    nginx-rtmp流媒体服务器

    通过在Windows环境下编译Nginx 1.21.4并集成Nginx-RTMP和nginx-http-flv-module,我们可以搭建一个功能强大的流媒体服务器,既能处理RTMP流,又能支持HTTP FLV流,满足不同场景下的视频直播和点播需求。对于开发者来...

    nginx-rtmp模块

    Nginx-RTMP模块是一款强大的开源软件扩展,它将Nginx服务器的功能扩展到了实时传输协议(Real-Time Messaging Protocol, RTMP)领域,使得Nginx能够处理流媒体内容,如直播和点播服务。这个模块是由Alexey Kuznetsov...

    nginx-rtmp+ffmpeg——livepush.war包

    【nginx-rtmp-module-master.zip】包含了Nginx-RTMP模块的源代码,开发者可以自定义配置或进行二次开发,以满足特定的直播需求。 【ffmpeg】文件可能是FFmpeg的二进制可执行文件,用户可以直接在命令行中调用,进行...

    windows下编译nginx-http-flv-moudle

    5. **RTMP**: 实现HTTP FLV直播通常会结合RTMP服务器,如Adobe的Flash Media Server或者开源的NGINX-RTMP-Module。RTMP是一种实时传输协议,用于在服务器和客户端之间高效地传输音视频数据。 6. **直播推流**: 流...

    nginx-rtmp-module:为rtmp flv和hls添加hevc(增加支持H265)

    Nginx-RTMP-Module增加对HEVC的支持,意味着用户可以使用更高效的编码方式来传输高质量的视频流。 **6. Nginx-RTMP-Module配置** 在实际部署中,需要对Nginx服务器的配置文件进行修改,添加RTMP模块的相关指令,如`...

    windows版本nginx1.7 + rtmp模块

    在数字媒体和直播领域,Nginx 结合 RTMP 模块是一个广泛使用的解决方案,它允许用户在 Windows 平台上搭建一个高效的流媒体服务器。Nginx 是一款高性能的 HTTP 和反向代理服务器,而 RTMP(Real-Time Messaging ...

    (修复bug模块)nginx-http-flv-module-master 支持flv模块直播

    【标题】:“(修复bug模块)nginx-http-flv-module-master 支持flv模块直播” 指的是一个专门针对Nginx服务器的扩展模块,该模块允许Nginx支持流媒体服务,特别是针对FLV(Flash Video)格式的实时流媒体。...

    windows下nginx-http-flv-module一键部署 非常方便

    1. **编译Nginx**:在Windows环境下,我们可以使用Visual Studio等IDE或者 Mingw-w64 这样的交叉编译工具。打开命令行,进入Nginx源代码目录,运行以下命令进行配置: ``` ./configure --prefix=path\to\nginx --...

    nginx-1.24.0-Gryphon+rtmpModule+Native HLS Playback插件+ffmpeg-x

    Nginx RTMP Module 提供了发布、播放、录制、重定向等操作,是搭建基于RTMP的流媒体服务器的关键组件。 **Native HLS Playback 插件** HLS(HTTP Live Streaming)是由Apple开发的一种流媒体协议,适用于HTTP传输...

    nginx使用nginx-rtmp-module模块实现直播间功能

    本文将详细介绍如何使用`nginx`配合`nginx-rtmp-module`搭建直播间,并解决不同系统下H5播放`m3u8`格式流的问题。 首先,`nginx-rtmp-module`是一个针对`nginx`的扩展模块,它添加了对RTMP(Real-Time Messaging ...

    nginx-1.7.11.3-Gryphon+rtmpModule+Native HLS Playback插件+ffmpeg-x

    标题中的"nginx-1.7.11.3-Gryphon+rtmpModule+Native HLS Playback插件+ffmpeg-x"揭示了这个压缩包包含了几个关键的组件,它们都是用于搭建和优化流媒体服务器的工具。这里我们将深入探讨这些组件的作用和它们在IT...

Global site tag (gtag.js) - Google Analytics