搭建本地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 ...
随机推荐
- [oeasy]python0018_ ASCII_字符分布_数字_大小写字母_符号_黑暗森林
打包和解包 回忆上次内容 decode 就是解码 解码和编码可以转化 encode 编码 decode 解码 互为逆过程 大小写字母之间序号全都相差(32)10进制 编辑 这是 ...
- Windows11下使用VcXsrv+xfce4实现图形化窗口
通过 sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart 来安装所需要的软 ...
- Django--StreamingHttpResponse下载文件
from django.shortcuts import render, HttpResponse from django.http import StreamingHttpResponse impo ...
- Oracle 删除大量表记录操作总结
By:授客 QQ:1033553122 删除表数据操作 清空所有表记录 TRUNCATE TABLE your_table_name; 或者批量删除满足条件的表记录 BEGIN LOOP DELETE ...
- iOS开发基础135-Core Data
Objective-C (OC) 中使用 Core Data 是iOS应用开发中管理模型层对象的一种有效工具.Core Data 使用 ORM (对象关系映射) 技术来抽象化和管理数据.这不仅可以节省 ...
- Java代码实现七夕魔方照片墙
创建一个七夕魔方照片墙是一个相对复杂的任务,涉及到前端展示和后端数据处理.在这里,我会提供一个简化的Java后端示例,用于生成一个模拟的"照片墙"数据模型,并给出一个基本的前端HT ...
- 如何为spring配置全局抛出异常注解
0.首先了解一个注解@ControllerAdvice,他是spring里的一个注解,用于定义全局逻辑异常.数据绑定.请求处理等逻辑,与@ExceptionHandler等注解使用. Controll ...
- 如何让SQL Server像MySQL一样拥有慢查询日志(Slow Query Log慢日志)
如何让SQL Server像MySQL一样拥有慢查询日志(Slow Query Log慢日志) SQL Server一直以来被人诟病的一个问题是缺少了像MySQL的慢日志功能,程序员和运维无法知道数据 ...
- js实现动态表格的添加
<!DOCTYPE html> <html lang="en"> <head> <title>Table_Simple CSS fo ...
- reinforcement learning常用的游戏环境,gym框架使用的标准Atari游戏集合
reinforcement learning常用的游戏环境,gym框架使用的标准Atari游戏集合.*.bin文件为Atari2600游戏的常用游戏环境的模拟文件,也称为roms文件. 文件地址: h ...