直播服务器搭建NGINX-RTMP+JAVA

百试百灵的直播服务器搭建教程!

1.环境准备

  1. Linux服务器一台(外网、内网都行)
  2. Docker环境安排一下
  3. NGINX-RTMP镜像
  4. 推流工具
  5. 拉流工具

2.开撸 进入linux,安装docker,拉取nginx-rtmp镜像,修改配置,启动镜像ok!

拉取镜像

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       /etc/nginx/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运行起来!

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

然后就ok了!!!

经验分享 程序员 微信小程序 职场和发展