Nginx搭建RTMP流媒体服务器的实现
目录
- 1 环境搭建
- 依赖库安装
- 源码下载与编译
- 编译过程
- 2 推流服务
- 2.1 利用文件推流
- 2.2 将一路流灌到nginx服务器rtmp进行推流
- 3 直播拉流
1 环境搭建
环境搭建主要是利用nginx服务器的插件模块nginx-rtmp-module进行rtmp的推拉流操作。
依赖库安装
安装过nginx的可以跳个这个步骤,主要是安装ssl、pcre和zlib库依赖
#安装ssl依赖库 sudo apt-get install openssl libssl-dev #安装pcre sudo apt-get install libpcre3 libpcre3-dev #安装zlib sudo apt-get install zlib1g-dev
源码下载与编译
源码下载路径:https://github.com/arut/nginx-rtmp-module
下载源码,如果git命令没法下载就直接到网页下载复制到对应目录。
mkdir /home/rtmp cd /home/rtmp git clone https://github.com/nginx/nginx.git git clone https://github.com/arut/nginx-rtmp-module.git
编译过程
设置nginx编译参数
auto/configure --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module
编译和安装
make -j4 sudo make install
安装完可以查看nginx版本是否正常
默认安装路径:/usr/local/nginx/

2 推流服务
2.1 利用文件推流
完成nginx服务器的安装后,需要进行rtmp服务的配置,只需要修改nginx配置即可:
vi /usr/local/nginx/conf/nginx.conf
配置内容注意事项:
- 开启root权限,以便可以访问home下的目录;
- play路径设置为自己的视频文件夹路径
user root;
rtmp { #RTMP server
server {
listen 1935; #server port
chunk_size 4096; #chunk_size
application vod {
#play /mnt/hgfs/ygf/vod; #media file position
play /home/ffmpeg_learn/test_sources/test-av;
}
}
}

重启nginx
/usr/local/nginx/sbin/nginx -s reload
需要注意的是播放的路径一定要正确,同时播放音频是aac视频视h264,这里添加一个test.mp4文件。

下面是测试过程,windows利用vlc工具播放rtmp的路径。这里的ip需要设置为自己的Ubuntu ip地址

视频效果如下:

注意需要确定视频文件的格式:
音频为AAC视频为H264
2.2 将一路流灌到nginx服务器rtmp进行推流
1 修改nginx配置,新增直播节点,用于FFmpeg将流推到对应节点上
application live{ # live add
live on;
}

2 重启nginx服务器
/usr/local/nginx/sbin/nginx -s reload
3 进行推流操作
ffmpeg -re -i /home/ffmpeg_learn/test_sources/test-av/Titanic.mp4 -c copy -f flv rtmp://192.168.88.180/live/Titanic
利用vlc查看视频,如下所示:

3 直播拉流
上面利用VLC就是一个拉流的过程。
这里介绍FFmpeg命令行操作。
#利用ffplay直接观看 ffplay rtmp://192.168.88.180/vod/Titanic.mp4 #利用FFmpeg下载到文件 ffmpeg -i rtmp://192.168.88.180/vod/Titanic.mp4 test.mp4
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





