node-media-server配置

2024-04-03 15:08:20 阅读:1 编辑

https://github.com/illuspas/Node-Media-Server/blob/master/README_CN.md

推流端

server {
    listen 80;
    server_name testpush.n7y.cn;

    location / {
        proxy_pass http://localhost:1935;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
server {
    listen  443 ssl;
    server_name testpush.n7y.cn;
    ssl_certificate /www/server/ssl/testpush.n7y.cn/testpush.n7y.cn.pem;
    ssl_certificate_key /www/server/ssl/testpush.n7y.cn/testpush.n7y.cn.key;
    location / {
        proxy_pass http://localhost:1935;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

观看端

server {
    listen 80;
    server_name testplay.n7y.cn;

    location / {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
server {
    listen  443 ssl;
    server_name testplay.n7y.cn;
    ssl_certificate /www/server/ssl/testplay.n7y.cn/testplay.n7y.cn.pem;
    ssl_certificate_key /www/server/ssl/testplay.n7y.cn/testplay.n7y.cn.key;
    location / {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

app.js

const NodeMediaServer = require('node-media-server');

const config = {
    rtmp: {
        port: 1935,
        chunk_size: 60000,
        gop_cache: true,
        ping: 30,
        ping_timeout: 60
    },
    auth: {play: true, publish: true, secret: '123456789'},
    http: {
        port: 8000,
        mediaroot: './media',
        allow_origin: '*'
    },
    trans: {
        ffmpeg: '/usr/bin/ffmpeg',
        tasks: [{
            app: 'live',
            hls: true,
            hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
            dash: true,
            dashFlags: '[f=dash:window_size=3:extra_window_size=5]'
        }]
    }
};

var nms = new NodeMediaServer(config)
nms.run();