ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发
Windows安装
ffmpeg
ffmpeg
- windows版下载地址https://ffmpeg.zeranoe.com/builds/ static版本就行
- 配置环境变量:下载的压缩包解压后的路径加入path

- 测试运行:cmd 输入ffmpeg -version 显示如下:

- 安装完毕。
- Rtsp转Rtmp 并推送到Nginx命令:
ffmpeg -rtsp_transport tcp -i "rtsp://root:pass@10.1.30.11/axis-media/media.amp" -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/live/"

Nginx
nginx rtmp module下载地址https://github.com/illuspas/nginx-rtmp-win32
配置rtmp代理:conf/nginx.conf 确保有以下内容
rtmp {
server {
listen ;
application live {
live on;
}
application hls {
live on;
hls on;
hls_path temp/hls;
hls_fragment 8s;
}
}
}
点击nginx.exe运行或者cmd窗口中输入nginx.exe
测试是否运行:访问http://127.0.0.1:8080/index.html
测试搭建是否成功
Cmd 窗口执行: ffmpeg -rtsp_transport tcp -i “rtsp://root:pass@10.1.30.11/axis-media/media.amp” -vcodec copy -acodec copy -f flv “rtmp://127.0.0.1:1935/live/”
使用vlc播放器播放rtmp://127.0.0.1:1935/live/ 是否成功
Linux 安装
Nginx
软件包nginx-1.15..tar.gz,nginx-rtmp-module-master.tar
依赖库openssl-1.0.2l.tar.gz; pcre-8.42.tar.gz; zlib-1.2..tar.gz;
安装openssl
解压openssl-1.0.2l.tar.gz
进入文件夹 ./config
make && make install
安装zlib
解压tar xf zlib-1.2..tar.gz
./configure
make && make install
安装 nginx
解压nginx-1.15..tar.gz; nginx-rtmp-module-master.tar
cd nginx-1.15.
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module-master --with-http_ssl_module --with-pcre=../pcre-8.42 --with-openssl=../openssl-1.0.2l --with-zlib=../zlib-1.2.
安装: make &&make install
cd /usr/local/nginx/
vi ./conf/nginx.conf
添加以下内容
rtmp {
server {
listen ;
chunk_size ;
application live{
live on;
}
application hls {
live on;
hls on;
hls_path html/hls;
hls_fragment 3s;
}
}
}
修改http server端口为8001 修改servername 为本机ip,保存退出 开放1935端口和8001端口 firewall-cmd --zone=public --add-port=/tcp –permanent firewall-cmd --reload 启动 ./sbin/nginx -c ./conf/nginx.conf 查看是否启动成功:ps aux|grep nginx
ffmpeg
安装编译环境(root权限):yasm yasm-1.3..tar.gz
cd yasm-1.3./
./configure
make && make install
安装 ffmpeg tar -xvf ffmpeg-4.0..tar.gz
./configure
make && make isntall
修改文件/etc/ld.so.conf 内容增加第二行/usr/local/ffmpeg/lib/
增加环境变量ffmpeg:输入 export PATH=/usr/local/ffmpeg/bin/:$PATH
测试执行 ffmpeg -version 无报错则安装完成
推流测试
ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发的更多相关文章
- ffmpeg+nginx将rtsp转为rtmp
一.安装ffmpeg 1.http://ffmpeg.org/download.html下载地址,选择合适的操作系统版本下载,因为我的操作系统是centos7,所以下面的安装都是命令都是针对cento ...
- ffmpeg 文件推流 rtsp和rtmp
// rtsp推流 /opt/srs/srs2 ./objs/ffmpeg/bin/ffmpeg -re -i /root/mp4/1.mp4 -vcodec copy -codec copy -f ...
- Nginx+FFmpeg实现RTSP转RTMP
RTSP转RTMP 本次转流采用Centos+Nginx+FFmpeg实现,具体实现如下: 1. 安装Ngxin 安装详细略(可以选择安装阿里的Tengine,官方[下载路径](Download - ...
- Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流
Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流学习笔记 所需条件: nginx-rtmp-module(带rtmp模块) ,链接:https://link.jiansh ...
- 海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术
海康&大华&DSS获取RTSP 实时流 海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/ ...
- windows下流媒体nginx-rmtp-module服务器搭建及java程序调用fmpeg将rtsp转rtmp直播流【转】
https://github.com/illuspas/nginx-rtmp-win32 http://bashell.sinaapp.com/archives/build-nginx-rtmp-mo ...
- nginx搭建http和rtmp协议的流媒体服务器
nginx搭建http和rtmp协议的流媒体服务器 时间:2013-09-23 23:52来源:佚名 作者:本站 举报 点击:232次 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtm ...
- iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器
前端时间,公司要调研直播相关的内容,特地花时间进行了一番调研. 本篇将记录其中的推流篇-本地推理播放测试. 关于Nginx: 配置Nginx以支持HLS.RTMP的推流与拉流,iOS系统使用LFLiv ...
- 利用Nginx搭建http和rtmp协议的流媒体服务器[转]
利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming( ...
随机推荐
- Fragment事务管理源码分析
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53132952 本文出自: [HansChen的博客] 概述 在Fragment使用中 ...
- https安全在哪里,原理是什么?
转载请标明出处:http://blog.csdn.net/shensky711/article/details/52214842 本文出自: [HansChen的博客] Https通信基本过程 在通信 ...
- 软件测试必须掌握的抓包工具Wireshark,你会了么?
作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷:比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析 ...
- 【JavaEE】之MyBatis查询缓存
为了减轻数据压力,提高数据库的性能,我们往往会需要使用缓存.MyBatis为我们提供了一级缓存和二级缓存. (1)一级缓存是SqlSession级别的缓存,在操作数据库的时候需要创建一个SqlSess ...
- Springboot结合Redis
安装 Redis 安装 gcc Yum install gcc-c++ 解压 redis.3.0.0.tar.gz 压缩包 tar -zxvf redis-3.0.0.tar.gz 进入解压后的目 ...
- bug小结
在不同的文件下面可以创建同一个包,但是不能创建同一个class文件!!! ParameterType:需要写实体类的类型,最好不要写实体的别名 这是因为我们在配置mybatis的配置文件时已经说明 ...
- [TimLinux] Django 中间件
1. 定义 中间件是一个钩子框架,深入到django的请求/响应处理过程中.这是一个轻量.底层插件系统,目的是全局修改django的输入或输出.每一个中间件组件都是用来处理特定的功能.例如django ...
- LightOj-1030 Discovering Gold (期望DP)
You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave c ...
- 2019 AI Bootcamp Guangzhou 参会日记
2019年的全球AI训练营在北京.上海.广州.杭州.宁波五个地方同时举办! 12月14日,微软全球AI Bootcamp活动再次驾临广州,本次会议结合 ML.NET 和基于 SciSharp 社区介绍 ...
- A.Two Rival Students
题目:两个竞争的学生 链接:(两个竞争的对手)[https://codeforces.com/contest/1257/problem/A] 题意:有n个学生排成一行.其中有两个竞争的学生.第一个学生 ...