NMS v3系列教程之 二、下载安装

Windows版

https://nodemedia.oss-cn-hangzhou.aliyuncs.com/nms/3.1.15/nms-windows-amd64-20191211.zip

  • 解压缩后双击运行nms.exe
  • 双击service.bat 安装为服务并自动运行
  • 在当前目录打开控制台输出 service.bat uninstall 停止并卸载服务

Linux x86_64 版

https://nodemedia.oss-cn-hangzhou.aliyuncs.com/nms/3.1.15/nms-linux-amd64-20191211.tar.gz

  • 解压缩后进入目录,在控制台输入 ./nms 运行
  • 在当前程序目录下执行 sudo ./service.sh install 安装服务并自动运行
  • 在当前程序目录下执行 sudo ./service.sh uninstall 停止并卸载服务

Linux arm64 版

https://nodemedia.oss-cn-hangzhou.aliyuncs.com/nms/3.1.15/nms-linux-arm64-20191211.tar.gz

Mac版

https://nodemedia.oss-cn-hangzhou.aliyuncs.com/nms/3.1.15/nms-darwin-amd64-20191211.tar.gz

  • 解压缩后进入目录,在控制台输入 ./nms 运行

Docker版

docker run -it —name nms -p 1935:1935 -p 8000:8000 -p 8443:8443 illuspas/nms

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NMS v3系列教程之 二、下载安装

NMS v3系列教程之 一、简介

Node Media Server 以下简称nms,最初是以node.js实现的RTMP协议流媒体服务端。
最新v3版使用go语言重写了整个项目,获得了更好的并发性能,也拥有了更强的功能。

特性

  • 支持多核,万级并发
  • 支持Windows/MacOS/Linux
  • 支持X86_64/ARM64架构
  • 支持Rtmp/Http-FLV/Websocket-FLV/JT-T1078协议接入
  • 支持Https/Wss加密协议接入
  • 支持H.264,H.265视频编码
  • 支持AAC,Speex,NellyMoser,G711音频编码
  • 支持非AAC编码推流时,零延迟转码AAC
  • 支持web后台快捷添加海康、大华、宇视RTSP拉流转发
  • 支持配置自定义RTSP、RTMP地址拉取转发
  • 支持拉流转发任务持久化存储
  • 支持拉流转发任务断线自动重连
  • 支持创建转推拉规则时基于go模板方式的自定义鉴权参数(可支持nms,阿里云,腾讯云等鉴权规则)
  • 支持详细数据统计
  • 支持Gop_Cache
  • 支持管理型后台程序
  • 支持流状态http回调
  • 支持规则转推,多路push
  • 支持规则转拉

计划

  • 支持低延迟HLS – v3.2
  • 支持WebRTC协议 – v3.2
  • 支持GB28181协议 – v3.3
  • 支持kcp-flv超低延迟,弱网满速传输 – v3.4
  • 支持MIPS64EL,armv7架构
  • 替换Nodelayer.js作后台视频预览播放器,以支持H.265视频

文档

http://www.nodemedia.cn/doc/web/#/5

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NMS v3系列教程之 一、简介

记一次FMS对接Node-Media-Server转码服务

今天接到一个客户的需求,在不改变原有fms服务架构的条件下,对接到Node-Media-Server,提供HLS,RTMP,Http-FLV音频转码服务。

客户以往的架构是Flash在web推流,h.264+Nellymoser编码格式,这个用flash播放是没有问题的

但flash基本上已经被各大浏览器列为默认关闭了,Android,iOS等更是不会支持的。

现在的解决方案,基本上是往HLS,http-flv上靠。HLS提供了最好的兼容性,http-flv提供了最低的延迟性,各有优劣吧。

关键的问题在于,Nellymoser编码并非互联网上广泛支持的格式,就算服务端支持,客户端也基本(有h5客户端支持,后话)上无法实现。

因此,还需要使用ffmpeg进行音频转码。

架构如下:
fms端使用服务端编程,监听 onPublish 和 onUnpublish事件,将参数通过http传参调用。

nms增加api接口收到开始和结束的事件,调起ffmpeg从fms拉流,copy视频,aac编码音频后推到Node-Media-Server。

Node-Media-Server则提供出hls,rtmp,http-flv流。

注:NodePlayer.js 支持web浏览器解码播放Nellymoser,并且兼容各大pc,安卓,iPhone。
需要了解方案详情欢迎与我联系

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 记一次FMS对接Node-Media-Server转码服务

NodeMedia Dev Server

NodeMedia Dev Server是基于nginx-rtmp-module编译的windows版RTMP服务端完整实例。无需配置,一键运行,是您快速开发,测试,验证RTMP流的好帮手。
可以用来开发:视频直播间,音视频聊天,游戏直播,远程视频监控等。
包含以下实用工具:

  1. RTMP流媒体服务端
  2. Flash Rtmp流播放器
  3. Flash HLS直播流播放器
  4. Flash Rtmp摄像头视频发布器
  5. Flash 视频聊天Demo
  6. 批处理版的视频流循环发布器。

前往下载:http://www.nodemedia.cn/zh/nodemedia-dev-server

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NodeMedia Dev Server

开源一个基于js的RTMP服务端

其实是2个,一个基于fibjs,一个基于nodejs
两个版本大部分是一样的,只是在数据处理方面有差异。

fibjs版本:https://github.com/illuspas/NodeMediaServer
fibjs没有回调一说,同步的流程写起来相当舒服。

nodejs版:https://github.com/illuspas/Node-Media-Server
nodejs的数据是on(‘data’)回调回来的,解析rtmp包很费劲,需要根据包头一步一步分析出需要的包大小。为此写了个QueueBuffer类,请求的数据大小足够即返回,不够就回压再等待数据下次继续解析。

目前只支持了H264+AAC,支持多路发布和播放。
fibjs版目前在大并发的时候会阻塞发布端,写得有点问题,空了再改改。
没有缓冲关键帧,播放的启动时间可能会等下一个关键帧来了才开始

此项目仅为空闲时写着玩的,参照了很多别人的代码,并不会长期维护。如果你感兴趣,欢迎fork。

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 开源一个基于js的RTMP服务端

编译windows版nginx-rtmp-module

>>>>>整合版,一键运行,点我<<<<<

准备工作

要在 Microsoft Win32??平台上编译Nginx你需要:

  • Microsoft Visual C compiler. Microsoft Visual Studio??8 and 10 are known to work.(用来编译)
  • MSYS.(执行配置脚本)
  • Perl, if you want to build OpenSSL??and nginx with SSL support. For example?ActivePerl?or?Strawberry Perl.(注意这里不能使用MSYS的perl)
  • Mercurial?client.(通过HG下载最新源码)
  • PCRE,?zlib?and?OpenSSL?libraries sources.(PCRE用来重写url,zlib支持页面压缩,这里编译rtmp模块,必须编译出openssl)
  • win32版nginx-rtmp-module模块源代码

编译步骤

在开始之前,你需要将Perl,Mercurial,MSYS bin目录加入PATH环境变量,也就是打开cmd,输入perl,hg,bash不会提示找不到命令.运行vcvarsall.bat或者叫Visual Studio命令提示(2010). 继续阅读“编译windows版nginx-rtmp-module”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 编译windows版nginx-rtmp-module

安装配置Red5 Server 1.0 RC1 (二)

看这篇文章,请保证你的Red5已经成功运行,如果有问题,请看上篇。

继续回到之前的demo页,第二项有个?Admin Panelred5 admin Panel?View demo
如果你安装了AIR环境,也可以尝试后面那个版本。 继续阅读“安装配置Red5 Server 1.0 RC1 (二)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 安装配置Red5 Server 1.0 RC1 (二)

安装配置Red5 Server 1.0 RC1 (一)

在做完一个基于RTMP的音视频通话软件后,想深入了解下RTMP协议的实现。
项目的服务器环境是FMS,这里,对另一种开源的服务端 Red5做个了解。

需要Jre环境。

下载最新版1.0 RC1?http://trac.red5.org/downloads/1_0/setup-Red5-1.0.0-RC1.exe
安装,在过程中会需要输入服务器IP和HTTP访问的端口号。

安装完毕,运行安装目录下的?red5.bat 一闪而过。OK,用cmd运行。发现报一下错误:

google一番后知道,需要删除lib目录继续阅读“安装配置Red5 Server 1.0 RC1 (一)”

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 安装配置Red5 Server 1.0 RC1 (一)

Directspace Debian 6 VPS warning: script 'vzquota' missing LSB tags and overrides 错误解决方法

Directspace 的Debian 6因为缺少LBS,安装软件时会提示一下错误:
insserv: warning: script ‘S10vzquota’ missing LSB tags and overrides
insserv: warning: script ‘vzquota’ missing LSB tags and overrides
insserv: There is a loop between service vzquota and rmnologin if started
insserv:??loop involving service rmnologin at depth 3
insserv:??loop involving service vzquota at depth 2
insserv:??loop involving service rsyslog at depth 1
insserv: Starting vzquota depends on rmnologin and therefore on system facility $all' which can not be true!
insserv: There is a loop between service vzquota and rmnologin if started
insserv: Starting vzquota depends on rmnologin and therefore on system facility
$all’ which can not be true!
insserv: Starting vzquota depends on rmnologin and therefore on system facility $all' which can not be true!
insserv: Starting vzquota depends on rmnologin and therefore on system facility
$all’ which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing screen (–configure):
subprocess installed post-installation script returned error exit status 1
configured to not write apport reports

解决方法:
编辑/etc/init.d/vzquota
在start(){? ?前面添加如下内容: 继续阅读“Directspace Debian 6 VPS warning: script 'vzquota' missing LSB tags and overrides 错误解决方法”

轻量级VPS安装openbox及vncserver配置图形远程桌面-Ubuntu篇

上一篇简单介绍了下配置openbox的方法.今天完整讲解一下流程

要配置轻量级的桌面及远程,其实最方便的系统是Archlinux,也是阿亮最喜欢的桌面版发行版了

不过今天这篇里的宿主机系统是Ubuntu 10.04, VPS是HostRail $1.75/mo 套餐

在Hypervm中选择Rebuild,选择ubuntu-10.04-minimal_10.04_i386 安装最小化的系统

  1. 更新
    仍然使用mirror.peer1.net的源镜像

    deb http://mirror.peer1.net/ubuntu/ lucid main universe multiverse
    deb http://mirror.peer1.net/ubuntu/ lucid-security main universe multiverse
    $ sudo apt-get update
    $ sudo apt-get upgrade

  2. 安装openbox 及vnc
    $ sudo apt-get install openbox obmenu obconf vnc4server xvt fbpanel pcmanfm ttf-wyq-microhei
    obmenu 是图形化配置openbox菜单的工具
    obconf 是openbox的配置工具
    xvt是 Terminal
    pcmanfm是文件管理器
    fbpanel是任务栏
    ttf-wyq-microhei 是文泉驿微黑
  3. 设置登录密码
    $ vncpasswd
    不要使用root账号来运行
  4. 开启vnc服务
    $ vncserver :1
    里面的”:1″代表display号,客户登录的时候得写相同的display号才能登录
  5. 结束vnc服务
    $ vncserver -kill :1
  6. 启动时使用openbox会话
    $ vi ~/.vnc/xstartup
    用#号注释 x-window-manager &这一行,在尾部添加
    openbox-session &
    再次启动vncserver
  7. 启动openbox时自动开启tint2 pcmanfm等
    $ vi ~/.config/openbox/autostart.sh
    fbpanel &
    pcmanfm &
    启动一个加一行
  8. 安装其他应用软件
    firefox ,fcitx…………

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 轻量级VPS安装openbox及vncserver配置图形远程桌面-Ubuntu篇