前端Web浏览器基于Flash如何实时播放监控视频画面(二)之Windows搭建(RTMP)流媒体服务器
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究。为了让文章通俗易懂,尽量使用白话描述。
0x001: 获取
流媒体服务器有很多,这里以nginx为例。
nginx for Windows (http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip,当然你也可以下载其他高版本)
(注:此版本与nginx.org的官方版本有啥区别,是否为一家,是否安全并不得知,介意请勿下载使用。曾尝试从 此txt文件中查找但并没有读到什么有用的信息,并没有明确说明与nginx.org的关系。如果你知道些关于nginx-win.ecsds.eu与nginx.org官方提供的nginx有何区别,欢迎在下方评论指出,让更多人受益)
nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.zip)
nginx通过rtmp模块提供rtmp服务,但此模块不跟随nginx一起被打包,需要单独下载。
0x002: 配置
以上两个文件全部下载后,解压nginx 1.7.11.3 Gryphon.zip,移动至某个盘符下(不建议放在C盘),我这里只有一个盘,就直接放在C盘了。解压nginx-rtmp-module-1.2.1.zip,移动nginx-rtmp-module-1.2.1文件夹到nginx根目录

复制 nginx根目录/conf/nginx-win.conf,重命名为nginx.conf(这样做的原因是nginx启动默认会加载以nginx.conf命名的conf文件)

打开 nginx根目录/nginx-rtmp-module-1.2.1/README.md,将滚动条拉到最后,将rtmp模块的配置内容 复制到 nginx根目录/conf/nginx.conf内的 events模块后,http模块前,然后保存。application 后的 mytv可以根据自己的需求改为想要改的,但要记住,因为在下一篇文章中 '推流时' 会用到。

下方http模块内的server listen 监听端口,根据自己的需求来决定改或不改,因为我这里有IIS服务器,为避免80端口冲突,所以将其改为8085

0x003: 启动
使用CMD窗口进入nginx根目录或在nginx根目录内鼠标右键 '在此处打开命令窗口',敲入 start nginx

如果此时没有什么异常的话,会有一个CMD窗口一闪而过,说明nginx "可能" 已经启动成功了。
之后打开浏览器验证一下,输入http://localhost:刚刚改的端口,我这里是http://localhost:8085,如果出现以下画面,才说明nginx服务器 "真正"启动成功了

提示:新搭建的windows server 20** 服务器环境,可能会出现以下错误,如果未出现可略过此步骤。
解决方案:从网上下载或从其他电脑拷贝msvcr100.dll文件,根据自己系统版本的位数,分别放到C:\Windows\System32 或 C:\Windows\SysWOW64,之后再重新运行nginx。


0x004: nginx常用命令
启动
start nginx 或 nginx.exe(不建议使用后者,因为后者会造成CMD窗口阻塞,不再接受任何命令)
再或者 nginx根目录/nginx.exe -c nginx根目录/conf/nginx.conf
停止
nginx.exe -s stop 或 nginx.exe -s quit
重新加载Nginx
nginx.exe -s reload
查看Nginx版本
nginx -v
0x005: 下一步
前端Web浏览器基于Flash如何实时播放监控视频画面(二)之Windows搭建(RTMP)流媒体服务器的更多相关文章
- 前端Web浏览器基于Flash如何实时播放监控视频画面(前言)之流程介绍
[关键字:前端浏览器如何播放RTSP流画面.前端浏览器如何播放RTMP流画面] 本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 考虑到视频延 ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(四)之使用videoJs‘拉流’
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载videoJs 对于Video.js 5.x及更低版本,Flash技术(v ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(三)之使用ffmpeg‘推流’
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载ffmpeg 开源免费的推流软件有很多,这里以 ffmpeg 为例.ffm ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(一)之获取监控摄像头的RTSP流
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 获取 现在市场上普见的摄像头都支持RTSP协议,如果你不懂什么是RTSP协议, ...
- 前端Web浏览器基于H5如何实时播放监控视频画面(前言)之流程介绍
先看上边这张图.由于离2020年12月各浏览器禁用Flash的日子越来越近,又正恰巧要做新录播项目,所以有了以下内容. 还记得去年也是这个时候,大约是四五六月份,甲方来了个需求想把车间的监控系统接入到 ...
- EasyDSS RTMP流媒体服务器基于RTMP拉模式和转推模式搭建公网全平台全终端直播集群的方案
近期,我们有一位EasyDSS流媒体用户在需求中提出:如何搭建一个用户量巨大的讲座直播,提供给普通用户免费观看,每天上午和下午分别有几场讲座同时直播,持续几天时间. 推荐方案 ★ 由于甲方是中国移动运 ...
- EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案
本文转自EasyDSS团队成员StarIT的博客:http://blog.csdn.net/staritstarit/article/details/73692715 问题 在博客<EasyDS ...
- EasyDSS RTMP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值
之前接触最多的都是EasyNVR,主要针对的都是前端的一些问题.也有接触到一些easydss流媒体服务器. 前端方面的,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是 ...
- EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...
随机推荐
- 2019CSP-S游记
\(2019CSP-S\)游记 \(Day : -26\) 初赛退役失败,准备复赛了... \(Day:0\) 早上\(7:30\)出发坐车去杭州,车上一直在听歌和睡觉中度过(话说锦零的歌真好听).. ...
- Redis主从及哨兵
Redis主从用法 像MySQL一样,redis是支持主从同步的,而且也支持一主多从以及多级从结构. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承 ...
- X86逆向14:常见的脱壳手法
本章节内容将介绍软件的脱壳技术.什么是加壳?加壳就是用来压缩或者保护软件不被非法修改破解的一种工具,而脱壳就是将已经加壳的程序从壳中剥离出来,既然能给程序进行加壳,那也就会有相应的脱壳方法,本节课我们 ...
- cef chromium 编译
前言 目前客户端引用了cef sharp库来嵌入web页面 cef sharp是对cef (chromium embed framework)的c#封装 cef是对chromium内核的c++封装 什 ...
- java 字节流与字符流的区别(转)
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操 ...
- ptf转图片
1.spire 官方的有水印,通过引用 //private readonly static PdfDocument doc = new PdfDocument(); //public static S ...
- 如何使用Navicat 创建一个SqlServer定时任务
因为网上资料不全,所以自己琢磨了一上午,终于弄出来了,记录一下. step1: 右击[函数]选择[新建函数]添加一个存储过程 step2: 选择[过程],点击下一步直至完成,然后编辑存储过程,保存 s ...
- MVC4中使用EntityFramework
首先,MVC4不支持EntityFramwok 6版本,如果安装了EntityFramwok 6,则vs不会自动引用dll和修改web.config配置.先删除旧的版本,执行指令:Uninstall- ...
- react的嵌套组件
react没有vue插槽的概念,但是有嵌套组件,可以用嵌套组件实现类似插槽的功能.下例中,color,name,btn相当于具名插槽,children相当于匿名插槽. import React fro ...
- string字符串长度和字节长度问题
string str = "abcdef 安安安"; int i = str.Length; byte[] bt = System.Text.Encoding.Default.Ge ...