Debian11 搭建RTMP流媒体服务器-nginx-rtmp实现

1.首先安装必要开发者工具,如gcc make cmake 等工具软件,以及wget下载软件,unzip解压软件

apt install build-essential wget unzip

2.安装nginx+rtmp运行所要用到的库和依赖环境

apt install libpcre3 libpcre3-dev
apt install zlib1g-dev
apt install openssl libssl-dev

3.下载nginx-1.20.2源码

wget -c http://nginx.org/download/nginx-1.20.2.tar.gz

4.下载nginx-rtmp-module
https://github.com/arut/nginx-rtmp-module

 5.解压所ngnix源码和rtmp预编译的zip包

tar -zxvf nginx-1.20.2.tar.gz
unzip master.zip

6.进入nginx源码文件夹,进行手动编译安装。这里假设 nginx和rtmp文件夹都在 /home/userA/ 下

./configure --prefix=/usr/local/nginx-1.20.2 --add-module=/home/UserA/nginx-rtmp-module-master  --with-http_ssl_module
make
make install

7.新建文件夹,用于保存nginx所形成的web服务的文件

mkdir /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/live
chmod -R 0777 /usr/share/nginx/html/live

 8.配置nginx服务,主要是设置web服务的主目录和推流到的端口、临时文件夹

vim /usr/local/nginx-1.20.2/conf/nginx.conf

  8.1首先设定web服务的根目录和网页端口
找到 server {} 配置段,修改

location / {
    root   /usr/share/nginx/html; #主要修改了这一句,定义了web服务的根目录
    index  index.html index.htm;
}

注意: 如果要开启对IPV6的支持,需要在 listen 80; 下面加一行

        listen [::]:80 ipv6only=on;

 

 8.2增加如下内容,也就是设置 rtmp服务器的监听端口,推流数据的存储位置等

rtmp {
    server {
        listen 5678;  #监听的端口
        listen [::]:8089 ipv6only=on; #开启对ipV6 的支持,允许通过ipv6访问
        chunk_size 4096;
        application live {
            live on;
            record off;
            allow play all;
                        }
            }
      }

9.启动nginx

/usr/local/nginx-1.20.2/sbin/nginx -c /usr/local/nginx-1.20.2/conf/nginx.conf

注:可以编辑一个nginx.service 服务,用systemd 配置为开机自启动

[Unit]
Description=Nginx Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/nginx-1.20.2/sbin/nginx -c /usr/local/nginx-1.20.2/conf/nginx.conf
ExecReload=/usr/local/nginx-1.20.2/sbin/nginx reload -c /usr/local/nginx-1.20.2/conf/nginx.conf
LimitNOFILE=1048579

[Install]
WantedBy=multi-user.target

10. 使用ffmpeg 推流一个mp4视频测试一下

ffmpeg -re -stream_loop -1 -i /home/video/test_video.mp4 -f flv  "rtmp://192.168.1.10:5678/live/99745321&60"
#live就是我们增加的rtmp模块的名称,99745321&60 这是一个随意编辑的推流码,拉流时需要这个来确定拉哪个视频。一个推流码,代表一个视频,可以向服务器推流多个视频。

 11.使用VLCplayer 播放推流的内容

 没有什么问题的话,稍等2~3秒,播放器即可打开推流的视频

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值