实验环境说明: ubuntu 16.04

进行本实验的前提:需要在ubuntu上搭建好ffmpeg环境,参考我的另一篇博文

ffmpeg编译过程经历的99八十一难

下面开始本文内容

PART1 编译安装带Nginx-rtmp-module的Nginx服务器

1 下载Nginx  (Nginx从官网下载比较好,不要去github下)

上图是我下载的版本

2 下载Nginx-rtmp-module  (github)

https://github.com/arut/nginx-rtmp-module

3  执行配置

4. Openssl下载 (github)
  https://github.com/openssl/openssl
  PS:官网 https://www.openssl.org
  下了几个版本,实测多次都不行, make时候报错

  来自网友网盘的openssl-1.0.2h , 实测OK
  链接:https://pan.baidu.com/s/1lAZ9VgFUX6Nx72MYD1NmIQ
  提取码:vuq5
  下载后, 我取自己所需的openssl-1.0.2h.tar.gz即可。不参考其他资料。
  ./config --prefix=/usr/local/openssl-1.0.2h
  make
  make install

5. 下载安装好openssl后,再次进入到Nginx文件夹内进行编译

需要注意,下方 --add-module 和 --with-openssl 指定的是源码目录!

./configure --prefix=/usr/local/nginx-with-rtmp-module --add-module=/home/lmw/MINE/nginx-rtmp-module/nginx-rtmp-module-master --with-openssl=/home/lmw/MINE/openssl/openssl-1.0.2h

显示上图这些,就是配置正常。

make -j4

make install

最终如上图所示,安装正常

PART2 运行RTMP服务器

1 修改nginx配置文件,配置RTMP服务

vim.tiny conf/nginx.conf

#---------- my add : rtmp server config-----------

rtmp {

    server{

       listen 1935;
chunk_size 4000; application live
{
live on;
allow play all;
}
}
}
#-------------------------------------------------

2 启动nginx

./sbin/nginx -c conf/nginx.conf

同时可见1935端口已经处于监听状态

3 推流拉流干起来:

ffplay rtmp://localhost/live/my_room_007

ffmpeg -re -i rtmp-test.flv -c copy -f flv rtmp://localhost/live/my_room_007

下面介绍下:视频传输基础知识、RTMP与RTSP比较、直播服务常规方案

本实验内我们使用ffmpeg的ffplay工具进行拉流播放,根据上面的介绍,针对RTMP流,我们也可以通过浏览器进行拉流播放。

PART3 运行HTTP服务器

虽然我们这里安装了nginx-rtmp模块,主要是当做rtmp服务器使用。

但是nginx也自带提供http服务,高并发网络编程是nginx大神神威的领域。

在不安装任何其他模块的情况下,安装nginx完毕后,

一般都是通过测试http服务来检测nginx是否安装正确的。

.

搭建本地nginx-rtmp服务,初体验rtmp推流、拉流的更多相关文章

  1. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  2. 孤荷凌寒自学python第六十天在windows10上搭建本地Mongodb数据服务

     孤荷凌寒自学python第六十天在windows10上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第六天.成功在本地搭建了windows ...

  3. nodejs anywhere 搭建本地静态文件服务

    一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...

  4. Nginx 推流 拉流 --- 点播直播

    1. 准备环境 安装操作系统Cenos 配置yum源 yum:https://developer.aliyun.com/mirror/ Nginx依赖 gcc-c++ zlib pcre openss ...

  5. 使用 whistle 替代本地 nginx/webpack 服务

    加入鹅厂之后,我发现团队都在用一款叫做 Whistle 的工具,起初我以为这只是一款类似 Fiddler/Charles 的普通货色.然鹅,发现下面这两种用法之后,我把自己的膝盖摘下来献给了制作这款工 ...

  6. Asp.Net Core微服务初体验

    ASP.Net Core的基本配置 .在VS中调试的时候有很多修改Web应用运行端口的方法.但是在开发.调试微服务应用的时候可能需要同时在不同端口上开启多个服务器的实例,因此下面主要看看如何通过命令行 ...

  7. nginx+lua+redis初体验

    1.下载nginx.lua.redis nginx下载地址 wget  http://nginx.org/download/nginx-1.8.0.tar.gz lua下载地址 wget http:/ ...

  8. 阿里云AHAS应用高可用服务初体验

    AHAS是阿里云提供的应用高可用服务(Application High Availability Service)产品. 高可用这个关键词可以说是互联网及软件开发行业热度一直很高的词语了,阿里云推出的 ...

  9. nginx负载均衡初体验

    本例采取简单的轮询策略进行nginx的负载均衡处理. 在反向代理(参考:https://www.cnblogs.com/ilovebath/p/14771571.html)的基础上增加负载均衡处理的n ...

  10. nginx反向代理初体验

    需求:部署两台tomcat,默认监听端口分别是8080和8081.访问nginx服务时,自动跳转到相应tomcat服务. 先部署一台机器:就宿主机上tomcat服务: 修改nginx配置:vim ng ...

随机推荐

  1. JavaScript小面试~href和src的区别

    href:中文名称叫超文本引用 src:中文叫资源 先要知道它们两个的区别,我们首先要看哪些元素在使用这些属性. href:a,link src:img,style,input,script,ifra ...

  2. JavaScript小技巧~将伪数组转成数组的方法

    伪数组:具有数组结构但是五数组相关方法的类数组结构: 方式1:Array.from() 方式2:Array.prototype.slice.call(); 用方式1吧,好记简单

  3. 【Scala】09 偏函数 PartialFunction

    更像是策略函数 可拆分成一个部分,是若干个函数的组合 package cn object HelloScala { def main(args: Array[String]): Unit = { // ...

  4. 【TypeScript】01 基础入门

    前提:使用TypeScript你需要安装NodeJS支持 然后安装TypeScript: npm intsall -g typescript 安装完成后查看版本号: tsc -v 新建一个TypeSc ...

  5. 论文写作:写回复意见时的套话 (reviews and comments)

    Typos, Grammar, and Citation Errors: We acknowledge the need for a thorough proofreading to rectify ...

  6. 【转载】 优必选悉尼 AI 研究院何诗怡:基于课程学习的强化多标签图像分类算法 | 分享总结

    原文地址: https://baijiahao.baidu.com/s?id=1603057342167437458&wfr=spider&for=pc 来源"雷锋网&quo ...

  7. 【转载】 你真的理解Python中MRO算法吗?

    来自:www.xymlife.com 作者: XYM 链接:http://www.xymlife.com/2016/05/22/python_mro/ (点击阅读原文前往) ------------- ...

  8. 【转载】AI的剥削:肯尼亚工人训练ChatGPT,看大量有害内容心理受伤——AI新时代下剥削

    原文地址: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_90623597686514 ...

  9. Spring Boot 中使用 JSON Schema 来校验复杂JSON数据

    JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSON Schema呢? 在数据交换领域,JSON Schema 以其强大的标准化能力,为定义和规范 JSON 数据的结构与规则提供 ...

  10. AtCoder Beginner Contest 318

    AtCoder Beginner Contest 318 A - Full Moon (atcoder.jp) 以\(M\)为首项,\(P\)为公差,看\(1 \sim N\)里包含了多少项的个数 # ...