本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究。为了让文章通俗易懂,尽量使用白话描述。

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)流媒体服务器的更多相关文章

  1. 前端Web浏览器基于Flash如何实时播放监控视频画面(前言)之流程介绍

    [关键字:前端浏览器如何播放RTSP流画面.前端浏览器如何播放RTMP流画面] 本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 考虑到视频延 ...

  2. 前端Web浏览器基于Flash如何实时播放监控视频画面(四)之使用videoJs‘拉流’

    本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载videoJs 对于Video.js 5.x及更低版本,Flash技术(v ...

  3. 前端Web浏览器基于Flash如何实时播放监控视频画面(三)之使用ffmpeg‘推流’

    本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载ffmpeg 开源免费的推流软件有很多,这里以 ffmpeg 为例.ffm ...

  4. 前端Web浏览器基于Flash如何实时播放监控视频画面(一)之获取监控摄像头的RTSP流

    本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 获取 现在市场上普见的摄像头都支持RTSP协议,如果你不懂什么是RTSP协议, ...

  5. 前端Web浏览器基于H5如何实时播放监控视频画面(前言)之流程介绍

    先看上边这张图.由于离2020年12月各浏览器禁用Flash的日子越来越近,又正恰巧要做新录播项目,所以有了以下内容. 还记得去年也是这个时候,大约是四五六月份,甲方来了个需求想把车间的监控系统接入到 ...

  6. EasyDSS RTMP流媒体服务器基于RTMP拉模式和转推模式搭建公网全平台全终端直播集群的方案

    近期,我们有一位EasyDSS流媒体用户在需求中提出:如何搭建一个用户量巨大的讲座直播,提供给普通用户免费观看,每天上午和下午分别有几场讲座同时直播,持续几天时间. 推荐方案 ★ 由于甲方是中国移动运 ...

  7. EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案

    本文转自EasyDSS团队成员StarIT的博客:http://blog.csdn.net/staritstarit/article/details/73692715 问题 在博客<EasyDS ...

  8. EasyDSS RTMP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值

    之前接触最多的都是EasyNVR,主要针对的都是前端的一些问题.也有接触到一些easydss流媒体服务器. 前端方面的,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是 ...

  9. EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码

    背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...

随机推荐

  1. 石子合并(直线版+环形版)&(朴素写法+四边形优化+GarsiaWachs算法)

    石子合并-直线版 (点击此处查看题目) 朴素写法 最简单常见的写法就是通过枚举分割点,求出每个区间合并的最小花费,从而得到整个区间的最小花费,时间复杂度为O(n^3),核心代码如下: ; i < ...

  2. python函数篇0-1

    创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用. 类就是一个模板,模板里可以包含多个函数, ...

  3. Jmeter之Plugin插件,服务器监控

    Jmeter Plugins插件 我在测试工作中:主要使用了监听器中的图表报告和监控服务器CPU,内存(这篇博文就是对插件的安装,以及jmeter怎么监控服务器CPU~) 1.下载安装Plugins插 ...

  4. 两个链表的第一个公共结点——牛客offer

    题目描述: 输入两个链表,找出它们的第一个公共结点. 题目分析: 只是数据域相同不是公共节点.公共结点代表该节点在两个链表中的数据域和指针域都是相同的,这意味着从该公共节点开始,后面的结点都是两个链表 ...

  5. 并不对劲的复健训练-CF1187D

    题目大意 有两个长度为\(n\)的序列\(a_1,...,a_n\),\(b_1,...,b_n\)(\(a,b\leq n\leq 3\times 10^5\) ).一次操作是选取 \([l,r]\ ...

  6. CF 666C & 牛客 36D

    给定字符串S, 求有多少长为$n$的字符串T, 使得S为T的子序列. 可以得到转移矩阵为 $\begin{equation}A=\begin{bmatrix}25 & 0 & 0 &a ...

  7. MySQL mysql-5.7.21-winx64.zip安装指南

    一.下载mysql-5.7.21-winx64.zip压缩包 二.解压 1.在目录mysql-5.7.21-winx64下新建data文件夹 !!!如果已经存在data文件夹,请删除其中ib_logf ...

  8. unity 打包Error:WebException: The remote server returned an error: (403) Forbidden.

    記一下在ios上打包出錯: UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors at UnityEditor.BuildPlaye ...

  9. input 禁止输入特殊字符

    方式一:拿到value值以后 在你传递之前处理 function stripscript(value) { var pattern = new RegExp("[`~!@#$^&*( ...

  10. JavaScript中with不推荐使用,为什么总是出现在面试题中?

    with的基本使用 尴尬的with关键字 一.with的基本使用 with是用来扩展语句作用域的,什么意思呢?先来看看语法和示例: 语法: with(expression){ statement } ...