CentOS 搭建 RTMP直播服务器
创始人
2024-09-25 05:19:34
0

nginx-rtmp-module 是一个用于 Nginx 的第三方模块,它扩展了 Nginx 服务器的功能,使其能够处理实时流媒体数据,特别是支持 RTMP (Real-Time Messaging Protocol) 协议。RTMP 是 Adobe Systems 开发的一种协议,常用于实时音视频通信,尤其是在直播场景中。

这里推荐另一种开源的直播系统owncast,网址: https://owncast.online/

一、安装Nginx

1、下载Nginx

cd /usr/local/src wget http://nginx.org/download/nginx-1.13.6.tar.gz

2、解压

tar -zxvf nginx-1.13.6.tar.gz

3、安装编译需要的工具

yum -y install gcc gcc-c++ openssl openssl-devel zlib zlib-devel pcre pcre-devel

4、编译Nginx

cd nginx-1.13.6  # 编译 ./configure --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_sub_module \ --with-http_gzip_static_module

5、安装

make && make install
二、安装Nginx RTMP模块 

1、下载

cd /usr/local/src wget https://github.com/arut/nginx-rtmp-module/archive/refs/tags/v1.2.2.tar.gz

2、解压

tar -zxvf v1.2.2.tar.gz

3、编译

cd nginx-1.13.6  # 编译 ./configure --add-module=/usr/local/src/nginx-rtmp-module-1.2.2 \ --with-http_ssl_module

4、安装

make && make install
三、配置

1、Nginx配置RTMP和HLS

vim /usr/local/nginx/conf/nginx.conf   # 修改如下  rtmp_auto_push on; rtmp {     server {         listen 1935;        # 监听端口 1935,用于 RTMP 数据流传输         chunk_size 4000;    # 数据传输分块大小           application live {             live on;            # 开启 RTMP 直播功能             hls on;             # 开启 HLS 功能             hls_fragment 2s;    # 每个 HLS 分片的时长为 2 秒。             hls_playlist_length 6s;                # HLS 播放列表长度为 6 秒             hls_path /usr/local/nginx/html/hls;    # HLS 分片文件存储路径           }     } }   worker_processes  1; events {     worker_connections  1024; }   http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;       server {         listen       80;         server_name  localhost;           location / {             root   html;             index  index.html index.htm;         } 		 		location /stat {             rtmp_stat all;             # Use this stylesheet to view XML as web page             # in browser             rtmp_stat_stylesheet stat.xsl;         }          location /stat.xsl {             # XML stylesheet to view RTMP stats.             # Copy stat.xsl wherever you want             # and put the full directory path here             root /usr/local/src/nginx-rtmp-module-1.2.2;         }           location /hls {             # Serve HLS fragments             types {                 application/vnd.apple.mpegurl m3u8;                 video/mp2t ts;             }             root /usr/local/nginx/html;             add_header Cache-Control no-cache;         }    } }

2、为Nginx配置启动

vim /lib/systemd/system/nginx.service  # 查看 [Unit] Description=nginx  After=network.target      [Service]  Type=forking  ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx reload ExecStop=/usr/local/nginx/sbin/nginx quit PrivateTmp=true      [Install]  WantedBy=multi-user.target

3、启动Nginx

systemctl start nginx
四、直播演示

1、用OBS推流,打开设置,直播

服务器:rtmp://ip:1935/live(live目录是Nginx中定义好的)

推流码:demo(自定义)

2、在OBS中添加采集来源,点击开启直播

3、客户端下载 VLC软件,拉流实现观看直播

下载地址:https://www.videolan.org/

打开虚拟机端 VLC 客户端,媒体 > 打开网络串流

(1)RTMP协议:rtmp://ip/live/demo

(2)HLS协议:http://ip/hls/demo.m3u8 

知识点:

  1. HLS可以在手机H5页面、微信公众号上播放,延迟10秒以上
  2. RTMP依赖Flash Player才能播放,延迟3秒左右

4、数据统计:ip://stat

相关内容

热门资讯

透视软件!越乡游义乌透视软件&... 透视软件!越乡游义乌透视软件"关于辅助app"果然确实有挂(哔哩哔哩)1、起透看视 越乡游义乌透视软...
黑科技辅助挂!决战卡五星辅助&... 黑科技辅助挂!决战卡五星辅助"揭露辅助脚本"原来是真的有挂(哔哩哔哩)亲,关键说明,决战卡五星辅助透...
2026版方法!宝宝浙江游戏真... 2026版方法!宝宝浙江游戏真的有辅助嘛"解谜辅助方法"果然真的是有挂(哔哩哔哩)在进入宝宝浙江游戏...
透视私人局!阿当比鸡辅助器怎么... 透视私人局!阿当比鸡辅助器怎么用"解密辅助软件"好像真的是有挂(哔哩哔哩)1、实时阿当比鸡辅助器怎么...
黑科技插件!宁德钓蟹透视器使用... 黑科技插件!宁德钓蟹透视器使用方法"推荐辅助教程"果然真的有挂(哔哩哔哩)1、很好的工具软件,可以解...
昨日!如何设置钱塘十三水辅助器... 昨日!如何设置钱塘十三水辅助器"辅助辅助教程"确实是真的有挂(哔哩哔哩)1、玩家可以在如何设置钱塘十...
辅助透视!微信决胜游戏辅助&q... 辅助透视!微信决胜游戏辅助"解迷辅助神器"一直真的有挂(哔哩哔哩)1、微信决胜游戏辅助有没有辅助教程...
透视脚本!佛手十三道辅助工具&... 透视脚本!佛手十三道辅助工具"了解辅助工具"竟然真的有挂(哔哩哔哩)亲,关键说明,佛手十三道辅助工具...
透视科技!789大菠萝如何手气... 透视科技!789大菠萝如何手气顺"曝光辅助工具"竟然真的是有挂(哔哩哔哩)1、操作简单,无需789大...
今天上午!蜀山四川小程序辅助&... 今天上午!蜀山四川小程序辅助"分享辅助插件"真是存在有挂(哔哩哔哩)暗藏猫腻,小编详细说明蜀山四川小...