小知识:Nginx搭建RTMP流媒体服务器的实现

目录 1 环境搭建 依赖库安装 源码下载与编译 编译过程 2 推流服务 2.1 利用文件推流 2.2 将一路流灌到nginx服务器rtmp进行推流 3 直播拉流

1 环境搭建

环境搭建主要是利用nginx服务器的插件模块nginx-rtmp-module进行rtmp的推拉流操作。

%小知识:Nginx搭建RTMP流媒体服务器的实现-猿站网-插图

依赖库安装

安装过nginx的可以跳个这个步骤,主要是安装ssl、pcre和zlib库依赖

?
1
2
3
4
5
6
#安装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命令没法下载就直接到网页下载复制到对应目录。

?
1
2
3
4
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编译参数

?
1
auto/configure –with-http_ssl_module –with-http_v2_module –with-http_flv_module –with-http_mp4_module –add-module=../nginx-rtmp-module

编译和安装

?
1
2
make -j4
sudo make install

安装完可以查看nginx版本是否正常

默认安装路径:/usr/local/nginx/

%小知识:Nginx搭建RTMP流媒体服务器的实现-1猿站网-插图

2 推流服务

2.1 利用文件推流

完成nginx服务器的安装后,需要进行rtmp服务的配置,只需要修改nginx配置即可:

vi /usr/local/nginx/conf/nginx.conf

配置内容注意事项:

开启root权限,以便可以访问home下的目录; play路径设置为自己的视频文件夹路径
?
1
2
3
4
5
6
7
8
9
10
11
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搭建RTMP流媒体服务器的实现-2猿站网-插图

重启nginx

?
1
/usr/local/nginx/sbin/nginx -s reload

需要注意的是播放的路径一定要正确,同时播放音频是aac视频视h264,这里添加一个test.mp4文件。

%小知识:Nginx搭建RTMP流媒体服务器的实现-3猿站网-插图

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

%小知识:Nginx搭建RTMP流媒体服务器的实现-4猿站网-插图

视频效果如下:

%小知识:Nginx搭建RTMP流媒体服务器的实现-5猿站网-插图

注意需要确定视频文件的格式:

音频为AAC视频为H264

2.2 将一路流灌到nginx服务器rtmp进行推流

1 修改nginx配置,新增直播节点,用于FFmpeg将流推到对应节点上

?
1
2
3
application live{ # live add
live on;
}

%小知识:Nginx搭建RTMP流媒体服务器的实现-6猿站网-插图

2 重启nginx服务器

?
1
/usr/local/nginx/sbin/nginx -s reload

3 进行推流操作

?
1
ffmpeg -re -i /home/ffmpeg_learn/test_sources/test-av/Titanic.mp4 -c copy -f flv rtmp://192.168.88.180/live/Titanic

利用vlc查看视频,如下所示:

%小知识:Nginx搭建RTMP流媒体服务器的实现-7猿站网-插图

3 直播拉流

上面利用VLC就是一个拉流的过程。

这里介绍FFmpeg命令行操作。
?
1
2
3
4
#利用ffplay直接观看
ffplay rtmp://192.168.88.180/vod/Titanic.mp4
#利用FFmpeg下载到文件
ffmpeg -i rtmp://192.168.88.180/vod/Titanic.mp4 test.mp4

到此这篇关于Nginx搭建RTMP流媒体服务器的实现的文章就介绍到这了,更多相关Nginx搭建RTMP内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_38731735/article/details/125821551

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux内核宏container_of的深度剖析

2023-3-19 5:15:42

建站知识

小知识:Linux加载vmlinux调试

2023-3-19 5:23:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索