ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发
Posted 新手问路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发相关的知识,希望对你有一定的参考价值。
Windows安装
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 1935;
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.5.tar.gz,nginx-rtmp-module-master.tar
- 依赖库openssl-1.0.2l.tar.gz; pcre-8.42.tar.gz; zlib-1.2.11.tar.gz;
- 安装openssl
- 解压openssl-1.0.2l.tar.gz
- 进入文件夹 ./config
- make && make install
- 安装zlib
- 解压tar xf zlib-1.2.11.tar.gz
- ./configure
- make && make install
- 安装 nginx
- 解压nginx-1.15.5.tar.gz; nginx-rtmp-module-master.tar
cd nginx-1.15.5 ./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.11
- 安装: make &&make install
- cd /usr/local/nginx/
- vi ./conf/nginx.conf
- 添加以下内容
rtmp {
server {
listen 1935;
chunk_size 4000;
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=1935/tcp –permanent
-
firewall-cmd --reload
-
启动 ./sbin/nginx -c ./conf/nginx.conf
-
查看是否启动成功:ps aux|grep nginx
ffmpeg
- 安装编译环境(root权限):yasm yasm-1.3.0.tar.gz
- cd yasm-1.3.0/
- ./configure
- make && make install
- 安装 ffmpeg tar -xvf ffmpeg-4.0.2.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转发的主要内容,如果未能解决你的问题,请参考以下文章
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
13 rtsp视频服务 基于node+ffmpeg 转换为 flv 视频服务