92KM92KM

92KM 创造 发现 分享

Node-Media-Server:国人开发-简易流媒体服务

最近准备部署监控系统,正好github查了一下,开源流媒体服务,发现这个国人开发的Node-Media-Server不错,搭建方便简单,还有WEB面板可以方便查看信息。

github源码地址

安装

安装方法多样,不过对于新手来说,我这里推荐使用docker安装。首先安装docker。

curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

再安装 Node-Media-Server,一条命令即可。

docker run -d -p 1935:1935 -p 8000:8000 --restart=always --name nms illuspas/node-media-server

修改

接下来,需要我们进到容器内,做简单修改:

docker exec -it nms /bin/sh

vi编辑 app.js

vi app.js

更改默认的管理员密码,然后把publish改为true,同时为了安全,secret也改一下,这样可以让我们的推流有一个鉴权验证,不验证的话任何人知道你这个服务器的地址都能用你这台机器推流(相关验证配置后文会具体说明)。
例如:

  auth: {
    api: true,
    api_user: 'admin',
    api_pass: '92km.net',
    play: false,
    publish: true,
    secret: '12312392km'
  },

改完之后退出容器并重启:

exit
docker restart nms

如果重启容器报错的话,那么你可以直接重启docker服务

systemctl restart docker

鉴权验证

前文我们有开启secret,这里我简要说明一下该怎么配置,当然你要不在乎安全,这一步都可以省略的。

首先我们需要计算一下推流的地址,定义一个推流地址过期的时间,这里我假设地址在2019年的10月1日过期(当然你不想经常修改的话,也可以直接设置为2099年12月30日),执行下面命令将时间戳换算成unix的类型:

date -d "2019-07-01 00:00:00" +%s

得到的unix时间戳是:

1569859200

接下来,我们把时间戳和之前在app.js内配置的secret进行一次md5加密,如下:

echo -n "/live/txt-1569859200-12312392km" | md5sum

注:其中的txt字段你可以任意修改成你喜欢的,你可以简单把这个当做你直播间的编号或名字就行。
执行完上面的命令得到如下md5值:

d50cfcbe571accce0759a2f70979e589

我们的推流地址就是:

rtmp://你的服务器ip/live/txt?sign=1569859200-d50cfcbe571accce0759a2f70979e589

推流

服务端这边就部署完成了,接下来我们使用FFMPEG/OBS推流。
安装FFMPEG:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -xJf ffmpeg-release-amd64-static.tar.xz
cd ffmpeg-4.1.4-amd64-static
cp ffmpeg /usr/bin && cp ffprobe /usr/bin && cp qt-faststart /usr/bin

注:目前 ffmpeg最新版本为 4.1.4,未来如果你安装的是新版本,请自行修改。

推流视频文件:

ffmpeg -re -i 测试.mp4 \
-c:v libx264 -preset superfast -tune zerolatency \
-c:a aac -ar 44100 -f flv rtmp://你的服务器ip/live/txt?sign=1569859200-d50cfcbe571accce0759a2f70979e589

返回结果正常的话,就说明我们搭建成功。

管理面板

现在我们可以访问一下WEB面板看看推流是否正常:

http://你的服务器ip:8000/admin/

管理后台

这个服务器支持多种格式,包括FLV/HLS/DASH都是可以使用,相应的拉流地址:

http://你服务器ip:8000/live/STREAM_NAME.flv
ws://你服务器ip:8000/live/STREAM_NAME.flv
http://你服务器ip:8000/live/STREAM_NAME/index.m3u8
http://你服务器ip:8000/live/STREAM_NAME/index.mpd

监控直播演示:

http://y.rpsofts.com/jian.html

自己弄个简单的html页面用主流播放器就可以了,这里就不多说了。。这样一个私人直播服务器就搭建完成了。

机灵的你也可以用这个自己作独立电视台,将节目地址加入你家里的数字电视就可以,也可以分享你的地址给别人。(当然这个在国内是违法的,自建电视台就算了,遵纪守法是必须的。)

未经允许不得转载:92KM » Node-Media-Server:国人开发-简易流媒体服务

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址