docker Nodejs搭建流媒体服务器–鉴权验证
docker Nodejs搭建流媒体服务器–鉴权验证
前言
项目遇到直播推拉流相关服务,自己根据资料搭建了一个简易的推拉流服务。
一、所需环境
docker,docker-compose 可自行百度安装,示例较多,这里直接跳过。
二、配置
1.docker-compose.yml文件配置
代码如下(示例):
version: '3'
services:
live-online:
image: illuspas/node-media-server
restart: always
ports:
- '1935:1935'
- '8000:8000'
networks:
- front-gs
privileged: true
container_name: live-online
networks:
front-gs:
driver: bridge
创建完docker-compose.yml文件后,在同一目录下运行命令
docker-compose up -d //启动项目
docker logs -f --tail=20 live-online //查看日志
2.开启鉴权验证
运行以下命令进入容器内部:
docker exec -it live-online /bin/sh //进入容器内部
vi app.js //进入配置
const NodeMediaServer = require('./');
const config = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 30,
ping_timeout: 60,
/*
ssl: {
port: 443,
key: './privatekey.pem',
cert: './certificate.pem',
}
*/
},
http: {
port: 8000,
mediaroot: './media',
webroot: './www',
allow_origin: '*',
api: true
},
https: {
port: 8443,
key: './privatekey.pem',
cert: './certificate.pem',
},
auth: {
api: true,
api_user: 'admin',
api_pass: 'admin',
play: false,
publish: true, //true为开启推流鉴权
secret: 'nodemedia2017privatekey' //鉴权秘钥
}
};
连接地址。
开启前推流地址: rtmp://ip:1935/live/${streamName}
var streamName='haizhengzheng';
var expireData=parseInt((Date.now()+1000000)/1000)
var HashValue=md5(`/live/${streamName}-${expireData}-${appconfig.secret}`)
var sign=`${expireData}-${HashValue}`;
开启后推流地址: `rtmp://ip:1935/live/${streamName}?sign=${sign}`
总结
以上就是今天要讲的内容,本文仅仅简单介绍了node.js推拉流的使用。