编程技术分享平台

网站首页 > 技术教程 正文

NGINX-RTMP 直播服务器搭建(直播系统开发:基于nginx与nginx-rtmp-module)

xnh888 2024-10-05 03:07:05 技术教程 37 ℃ 0 评论

1:准备环境

1.1:Linux服务器一台(外网、内网都行)

1.2:Docker环境安排一下

1.3:NGINX-RTMP镜像

1.4:推流工具 https://obsproject.com/

1.5:拉流工具 https://www.videolan.org/

2.安装环境
进入linux,安装docker,拉取nginx-rtmp镜像,修改配置,启动镜像

拉取镜像

docker pull tiangolo/nginx-rtmp

创建流媒体Nginx服务器挂载目录

mkdir -p /data/nginx1935/www /data/nginx1935/logs /data/nginx1935/conf /data/nginx1935/tmp

创建流媒体服务器nginx.con配置文件

touch /data/nginx1935/conf/nginx.conf

启动nginx-rtmp镜像

docker run -d -p 10935:1935 -p 10980:1980 -v /data/nginx1935/www:/usr/share/nginx/html -v /data/nginx1935/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx1935/tmp:/tmp -v /data/nginx1935/logs:/var/log/nginx --name nginx-rtmp tiangolo/nginx-rtmp

nginx.conf配置


worker_processes auto;
rtmp_auto_push on;
events {}
rtmp {
    server {
        listen 1935;
        listen [::]:1935 ipv6only=on;

        application live {
            live on;
            record off;
            hls on;
            hls_path /tmp;
            hls_fragment 2s;
            hls_playlist_length 6s;
			on_publish http://192.168.0.89:9052/Live/PushAuth;#这个是推流身份验证接口(JAVA程序写的)
			on_play http://192.168.0.89:9052/Live/PullAuth;#这个是拉流身份验证接口(JAVA程序写的)
			#这里的逻辑由拉流端访问拉流地址-->nginx-rtmp-->访问JAVA程序拉流者身份信息
			#推流也是一样(不过多介绍)
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    server {
        listen       1980;
        location /live {
         types {
          application/vnd.apple.mpegurl m3u8;
           video/mp2t ts;
           }
          alias /tmp/;
          add_header Cache-Control no-cache;
          add_header Access-Control-Allow-Origin *;
        }
    }
}

启动了流媒体服务器的同时也保证http服务器的正常运行

推流地址:rtmp://192.168.0.188:1935/live/test
拉流地址:http://192.168.0.188:1980/live/test.m3u8

推流工具OBS Studio基本使用:
安装好
OBS Studio运行起来!

配置推流地址服务器+直播画面效果


设置场景+直播源(可以有本地视频,桌面录制、摄像头、麦、弹幕文字。。。)


拉流工具VLC media player基本使用(只管搭建,不是视频专业出身,基本使用):
安装好
VLC media player运行起来!


开始拉流(需要等待,根据服务器带宽和直播画质决定)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表