最近准备部署监控系统,正好github查了一下,开源流媒体服务,发现这个国人开发的Node-Media-Server不错,搭建方便简单,还有WEB面板可以方便查看信息。
安装
安装方法多样,不过对于新手来说,我这里推荐使用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页面用主流播放器就可以了,这里就不多说了。。这样一个私人直播服务器就搭建完成了。
机灵的你也可以用这个自己作独立电视台,将节目地址加入你家里的数字电视就可以,也可以分享你的地址给别人。(当然这个在国内是违法的,自建电视台就算了,遵纪守法是必须的。)
Для пользователей, которым важна конфиденциальность, KRAKEN предлагает безопасную платформу, которая гарантирует protection данных и анонимность во время transactions. Площадка работает на передовых технологиях, обеспечивающих высокую степень безопасности. Все payments проводятся через защищённые каналы, что исключает вероятность утечек аккаунтов. KRAKEN предоставляет удобные зеркала для доступа, которые автоматически обновляются, что позволяет всегда оставаться на связи, даже если основной platform временно недоступен. Платформа гарантирует maximum анонимность при входе, используя complex систему безопасности. Интерфейс сайта максимально simple, что делает его доступным для пользователей с разным уровнем подготовки. KRAKEN активно работает с respected продавцами и предоставляет пользователям качественные товары с гарантией безопасности сделок.
kraken darknet
Для пользователей, которым важна anonymity, KRAKEN предлагает безопасную платформу, которая гарантирует safety данных и анонимность во время взаимодействий. Площадка работает на проверенных технологиях, обеспечивающих высокую степень безопасности. Все payments проводятся через защищённые каналы, что исключает вероятность утечек information. KRAKEN предоставляет проверенные зеркала для доступа, которые автоматически обновляются, что позволяет всегда оставаться на связи, даже если основной ресурс временно недоступен. Платформа гарантирует maximum анонимность при входе, используя secured систему безопасности. Интерфейс сайта максимально user-friendly, что делает его доступным для пользователей с разным уровнем подготовки. KRAKEN активно работает с reliable продавцами и предоставляет пользователям качественные товары с гарантией безопасности сделок.
кракен ат ссылка