Nginx RTMP服务器搭建教程
创作时间:
作者:
@小白创作中心
Nginx RTMP服务器搭建教程
引用
CSDN
1.
https://blog.csdn.net/qq_43424630/article/details/144630823
音视频服务器搭建
本文采用Nginx/1.18.0和nginx-rtmp-module模块源代码搭建RTMP流媒体服务器。
流程
- 查看当前服务器的nginx版本
- 下载nginx和nginx-rtmp-module源代码
- 重新编译nginx,并进行相关配置(nginx.conf、防火墙等)
- 客户端测试连接
- 测试搭建的直播与点播功能
查看当前nginx版本,并下载对应的源代码
nginx版本:
nginx -V
下载对应源码:将以下两个文件安装到同一个路径下(如新建一个/cml路径)
下载nginx源码:
wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz
下载nginx-rtmp-module模块源码:
git clone https://github.com/arut/nginx-rtmp-module.git
重新编译并配置nginx
进入nginx-1.18目录,执行configure可执行文件
./configure --prefix=/home/ubuntu/cml/nginx-1.18.0/build --add-module=/home/ubuntu/cml/nginx-rtmp-module
参数说明:
第一个参数
--prefix=/home/ubuntu/cml/nginx-1.18.0/build
指明安装路径第二个参数
--add-module=/home/ubuntu/cml/nginx-rtmp-module
指明导入的模块再执行
make install
指令生成build目录配置nginx.conf文件
rtmp { server { listen 1935; chunk_size 4096; # live on application rtmp_live { live on; # hls on; #这个参数把直播服务器改造成实时回放服务器。 # wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。 # hls_path ./sbin/html; #切片视频文件存放位置。 # hls_fragment 10s; #每个视频切片的时长。 # hls_playlist_length 60s; #总共可以回看的时间,这里设置的是1分钟。 # hls_continuous on; #连续模式。 # hls_cleanup on; #对多余的切片进行删除。 # hls_nested on; #嵌套模式。 } # play videos application rtmp_play{ play ./videos; #build directory } } }
启动nginx服务
sudo ./sbin/nginx
打开端口防火墙
sudo ufw allow 1935/tcp
通过ffmpeg客户端命令测试服务器是否搭建成功
ffmpeg -i test.flv -vcodec libx264 -acodec aac -f flv rtmp://8.134.156.7:1935/rtmp_live/mystream
出现以下画面则服务器搭建成功。
如果出现以下错误:
Connection to tcp://8.134.156.7:1935 failed: Error number -138 occurred [rtmp @ 00000202d836e940] Cannot open connection tcp://8.134.156.7:1935 rtmp://8.134.156.7:1935/rtmp_live/mystream: Unknown error
请再度检查防火墙是否开放该端口,或再次重启nginx服务
systemctl status nginx
测试服务器直播效果
打开VLC视频测试工具,选择媒体->打开网络串流 -> 输入网络地址 rtmp://xxx.xxx.xxx:1935/rtmp_live/mystream
,再客户端推送rtmp流到服务器
推送成功
测试rtmp服务器的点播效果
在系统中准备好测试的点播文件
打开网络流:
rtmp://xxx.xxx.xxx:1935/rtmp_play/test.flv
,点播打开成功。
参考文献
[1] https://mp.weixin.qq.com/s/axPKe2m2Cn6W17v56j-UQQ
[2] 视频教程
[3] https://www.cnblogs.com/Naylor/p/18070047
热门推荐
创业公司在选择合伙人时应考虑什么
L298N电机驱动芯片详解:功能、引脚及STM32控制示例
谁发明了电视?不止一个人的努力,电视发展起来不容易!
上班族如何高效备考公务员:时间规划与实用建议
职业探索与规划:家长如何帮助孩子设定未来目标
新加坡个人所得税全解析:征税原则、税率结构、税务居民判定及申报流程指南
精密塑胶结构件设计的十大原则是什么?
7种常见的木工车床类型及选购指南
孕期口水泛滥成灾,怎么办?
征信报告账户状态结清钱自己没还
美术按年龄分班怎么分?不同年龄段如何科学划分?
三聚氰胺:从基本概念到食品安全监管
吃西梅能缓解便秘吗
树形DP详解:最大独立集与监控问题
猫口臭是什么原因引起的?全面指南教你如何去除
诺基亚如何在“50%市场占有率”中迷失自我,跌入深渊?
清炒芦笋的家常做法,在减肥中的女生要常吃,去油腻,促进减肥
0基础学书法,选一款好字帖至关重要
手相学与八字命理:传统文化中的占卜术是否可信?
禅意营造的艺术,寺庙布局与文化韵味的融合
寺庙设计要求,打造宁静与庄重的宗教圣地
北京房价再次迎来调整,北京海淀区房价从10.1万调整为8.5万
景姓:战国起源、太原郡望寻根
2045年的德国:人口增长背后的社会挑战
DIY高性能低成本NAS服务器全攻略:硬件选择与实际应用详细指南
我国统一社会信用代码已实现全覆盖
人工智能在日常生活中的十大应用:从医疗到智能家居
A股:靠2亿散户撑起来的行情能走多远?
硬盘数据恢复指南:覆盖后的数据真的无法挽回吗?
陈炯明:与孙中山的政治分歧与历史影响