搭建本地nginx-rtmp服务,初体验rtmp推流、拉流
实验环境说明: 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推流、拉流的更多相关文章
- 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务
孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...
- 孤荷凌寒自学python第六十天在windows10上搭建本地Mongodb数据服务
孤荷凌寒自学python第六十天在windows10上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第六天.成功在本地搭建了windows ...
- nodejs anywhere 搭建本地静态文件服务
一.背景 工作中有时候往往会遇到下述场景:例如需要将新打好的安装包等文件临时性的给到同事,可能还需要给到多个同事.这时,我们往往有如下几种方案: 1,一般都会有公司内部的文件系统,上传文件后将对应的地 ...
- Nginx 推流 拉流 --- 点播直播
1. 准备环境 安装操作系统Cenos 配置yum源 yum:https://developer.aliyun.com/mirror/ Nginx依赖 gcc-c++ zlib pcre openss ...
- 使用 whistle 替代本地 nginx/webpack 服务
加入鹅厂之后,我发现团队都在用一款叫做 Whistle 的工具,起初我以为这只是一款类似 Fiddler/Charles 的普通货色.然鹅,发现下面这两种用法之后,我把自己的膝盖摘下来献给了制作这款工 ...
- Asp.Net Core微服务初体验
ASP.Net Core的基本配置 .在VS中调试的时候有很多修改Web应用运行端口的方法.但是在开发.调试微服务应用的时候可能需要同时在不同端口上开启多个服务器的实例,因此下面主要看看如何通过命令行 ...
- nginx+lua+redis初体验
1.下载nginx.lua.redis nginx下载地址 wget http://nginx.org/download/nginx-1.8.0.tar.gz lua下载地址 wget http:/ ...
- 阿里云AHAS应用高可用服务初体验
AHAS是阿里云提供的应用高可用服务(Application High Availability Service)产品. 高可用这个关键词可以说是互联网及软件开发行业热度一直很高的词语了,阿里云推出的 ...
- nginx负载均衡初体验
本例采取简单的轮询策略进行nginx的负载均衡处理. 在反向代理(参考:https://www.cnblogs.com/ilovebath/p/14771571.html)的基础上增加负载均衡处理的n ...
- nginx反向代理初体验
需求:部署两台tomcat,默认监听端口分别是8080和8081.访问nginx服务时,自动跳转到相应tomcat服务. 先部署一台机器:就宿主机上tomcat服务: 修改nginx配置:vim ng ...
随机推荐
- 如何在.NET Framework,或NET8以前的项目中使用C# 12的新特性
前两天发了一篇关于模式匹配的文章,链接地址,有小伙伴提到使用.NET6没法体验 C#新特性的疑问, 其实呢只要本地的SDK源代码编译器能支持到的情况下(直接下载VS2022或者VS的最新preview ...
- CF30D King's Problem? 题解
CF30D 题意 有 \(n+1\) 个点,其中的 \(n\) 个点在数轴上.求以点 \(k\) 为起点走过所有点的最短距离,允许重复. 思路 有两种情况: \(k\) 在数轴上(如图1). \(k\ ...
- 从菜鸟到大牛!嵌入式完整学习路线:STM32单片机-RTOS-Linux(文末领取开发板全套资料)
嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品.本文为所有想进入嵌入式领域的初学者提供一个完整系统学习的路线图,按照 "STM32单片 ...
- centos7 扩展硬盘
新增硬盘后 fdisk -l fdisk /dev/sdb (以后再加改成c) 阿里云叫vdb fdisk -l 注意,最好跟第一块硬盘一样! df -T 查看硬盘分区格式 注意,文件夹不能已存在的! ...
- 对精确率(P)、召回率(R)、F1值的理解以及对应的实现
对精确率.召回率.F1值的理解 算法理解 在机器学习中,P.R和F1值在各种评测中很常见,那么到底什么是P.R.F1值呢,怎么理解呢,困扰了很多人,下面给我对P.R.F1值的理解, 首先,我们先看一个 ...
- pyqt报错、python报错:src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录
报错信息: -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/devil/anaconda3/envs/91/include -fPIC -O2 ...
- AQS源码解读之ReentrantLock-图解
1.背景 1.AQS简介AQS全称为AbstractQueuedSynchronizer(抽象队列同步器).AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同 ...
- grpc断路器之hystrix
上一章介绍了grpc断路器sentinel, grpc断路器之sentinel 但是由于公司线上系统用的告警与监控组件是prometheus,而sentinel暂时还没有集成prometheus,所以 ...
- springcloud集成grpc(一)
码云地址:https://gitee.com/lpxs/lp-springcloud.git 有问题可以多沟通:136358344@qq.com. GRPC简介 是谷歌开源的一个高性能的.通用的RPC ...
- Linux内核信号SIGIO使用实例讲解
一.信号 1. 基本概念 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上, ...