01
因为老师的项目中需要很多流媒体模块的东西,接触到 Node-Media-Server 这个流媒体服务器,这个国人开发的组件,之前还有SRS也是的。记录一下问题和效果。
本子是win7,之前还有装nodejs时版本的问题,这里插一曲,win7在装nodejs时会因为版本版本问题弹框提示:
我也是第一次装只是遇到了这个点,大家有些别的问题我也没碰见,查了一番后,得知是v12.16.2 以上版本不支持win7系统,所以找了12.16.2 这一版
官网:https://nodejs.org/en/download/
win7 安装版:https://nodejs.org/dist/v12.16.2/node-v12.16.2-x64.msi
win7 便携配置版:https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip
直接安装就是正常安装,便携配置就是像tomcat一样解压之后,配置环境变量即可用。安装是他自己就给吧path环境变量配置了,并且顺带就把npm管理工具给装了。两种类型教程都有,一搜都能有。
02
1、node-media-server 流媒体服务器,用于转换流格式或者对视频流做一些操作以及向外推送流地址。
2、ffmpeg 推流工具,将你需要转换的视频或者视频流推流到流媒体服务器中,这一步即是推流。
3、拉流的意思是从流媒体服务器上拉取视频流,用固定格式的url在vlc等的播放器中播放,用视频播放器播放就是拉流。
03
node-media-server 是基于nodejs开发的,需先用npm安装。然而我就是这一步出很多问题,耽误了时间。
01 先在cmd下执行 他的安装命令
npm install node-media-server
从这我就出问题了,
手上没有个正规的教程,而且win下装这个几乎没有教程,自己家参考着搜来的摸索着做了,说没有这个package.json。各种尝试推到C盘,D盘根下再次执行,在nodejs根目录下执行,在nodejs\node_module 下执行都还是这个问题。
搜到的这句话 npm init -f 执行完一样没成
尝试 npm install node-media-server -g 也不行,尝试 npm install node-media-server – save也不行,及=就各种搜到的解决命令来回尝试,来回切到提到的那几个目录不停尝试这几个命令
每次执行时他就是那种安装进度变化,几乎都一样、
然而,发生了意外惊喜
突然地去看了一下我的nodejs/node_module目录下有了很多变化,多了很多东西,之前才装好nodejs时只有npm文件夹。然后现在如图,
多了很多文件夹,当然包括 node-media-server。竟然的发现怎么突然就把nms给装上了。莫名其妙的就给装上去了,误打误撞了。
怀疑很有可能是这个帖子中的描述起了作用
https://segmentfault.com/q/1010000012930521
04
nms 流媒体服务器的 配置文件 app.js
app.js
const NodeMediaServer= require(‘node-media-server’);
然后把第一行 const NodeMediaServer = require(’./’); 引号内文件换成 node-media-server。
进到nms的目录里,执行node app.js
出现上图结果就是启动成功。因为app.js 中对http配的是8000端口,所以这里就是用
localhost:8000/admin 访问。登录页面账号密码都是admin(当然这在app.js文件中都是可配置的)
这是访问主页,他默认把机子配置内存等检测了。退出访问就在cmd下 ctrl+c。
有些地方跟toncat很像
至此,node-media-server的本地安装部署加访问主页就成功了。
05
接下来 就是测试把本地机子的视频音频等文件进行推流然后拉流(播放)。
推流方式多样,这里我用的是ffmpeg这个工具,过程教程都有,可搜索。这里展示一下用vlc播放(媒体-打开网络串流-输入url)的结果
注意这里要用nms里的readme文件中的一段加入ffmpeg的配置来设置推流拉流
ffmpeg配置地方如图。
06
接下来把nms往远程服务器上装,windows server r2 2012,使用win的mstsc远程 来操作的。
因为之前给这装过nodejs了,如下图是版本
所以直接开始装nms,但是始终就是如图下这个问题,我把在我本地的方法都类似的尝试了,不行。又所以一番,
如下帖子中的方法都试验了,还是没能行
https://segmentfault.com/q/1010000012930521
http://www.bubuko.com/infodetail-2742157.html
感觉这个东西没那么普遍,出错的教程也不是很多,先这样了,之后在看。