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

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. STL string 常见用法详解

    string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...

  2. PHP中addslashes()和htmlspecialchars() 函数的区别及应用

    addslashes()防sql注入: 定义如下: addslashes() 函数返回在预定义字符之前添加反斜杠的字符串. 预定义字符是: 单引号(') 双引号(") 反斜杠(\) NULL ...

  3. html常用代码大全

    1.结构性定义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文 ...

  4. jsonp的跨域原理

    在开发测试中,难免会在不同域下进行跨域操作,出于安全性考虑,浏览器中的同源策略阻止从一个域上加载的脚本获取或者操作 另一个域下的文档属性,这时需要进行跨域的方式进行解决,如:使用jsonp ,ifra ...

  5. Databus&canal对比

    Databus和canal都能够提供实时从数据库获取变更,并提供给下游的实时消费流的功能. 本文针对两个系统实现和应用上的不同点,做了一个简单的对比: 对比项 Databus canal 结论 支持的 ...

  6. Perl数据类型

    Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型. Perl 有三个基本的数据类型:标量.数组.哈希.以下是这三种数据类型的说明: 标量 标量是Perl ...

  7. webconfig中的&符号问题解决

    第一种解决方案 解决方法是将“&”,用“*”代替,取的时候再替换 第二种解决方案 用“&”替换“&”

  8. 1、Bash Shell

    一.什么是Bash shell BashShell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕. 当我们 ...

  9. 【AGC003 E】Sequential operations on Sequence

    Description 你有一个长度为 \(n\) 的序列,第 \(i\) 项为 \(i\). 有 \(m\) 次操作,每次操作给定一个 \(x\),你需要将序列无限循环后截取前 \(x\) 项,作为 ...

  10. 博弈论BOSS

    基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.csdn.net/acm_c ...