栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Ubuntu16.04下使用Nginx + RTMP插件搭建rtmp流媒体服务器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu16.04下使用Nginx + RTMP插件搭建rtmp流媒体服务器

1、安装crtmpserver

安装crtmpserver需要用到cmake,所以要先安装cmake

apt-get install cmake

除此之外还用到了一个libssl-dev库,这个库也要安装上

apt-get install libssl-dev

接下来就是用wget下载我们的crtmpserver源码了,如果wget没有,可以用apt-get安装,可以先建一个目录再到这个目录下下载crtmpserver

mkdir crtmp
cd crtmp
wget https://codeload.github.com/j0sh/crtmpserver/zip/centosinit

下载完后用unzip进行解压缩

unzip centosinit

解压完后会得一个crtmpserver-centosinit目录,这时候进入到它的builders目录下面的cmake目录进行编译

cd crtmpserver-centosinit/builders/cmake

进入到cmake目录下后会看到一个CMakeLists.txt,这个文件是用来生成Makefile用的,这时执行如下命令人便可生成Makefile

cmake .    # . 表示当前目录

Makefile生成好之后接着执行make命令

make

编译成功后就可以运行了,执行以下命令

./crtmpserver/crtmpserver ./crtmpserver/crmpserver.lua

如下图所示,便是执行成功了 

 

 运行起来后就可以进行推流测试了,执行下面这行命令即可进行推流

# 192.168.88.134是我的ubuntu16.04的ip,ip后的/live/test一定要加
ffmpeg -i test.mp4 -c copy -f flv rtmp://192.168.88.134/live/test

 推流完成后就可以用vlc拉流播放了,打开vlc选择媒体,再选择打开网络串流,如下图所示

 2、安装Nginx 1.12.1 

安装完crtmpserver后,接下来就是要安装nginx了,先创建一个目录再用wget下载,在接下来执行安装的时候有可能会需要root权限,这时加sudo就可以了

mkdir nginx
wget http://nginx.org/download/nginx-1.12.1.tar.gz

下载完后进行解压缩

tar -zxvf nginx-1.12.1.tar.gz

 这时候还要安装依赖库libpcre3-dev、zlib1g-dev

apt-get install libpcre3-dev
apt-get install zlib1g-dev

解压完后要进行./configure,这时候要传递一个参数,增加一个rtmp的模块,需要把rtmp的模块下载下来,我们这次通过git工具进行下载,到github上搜一下nginx rtmp会出现如下图所示的结果,这时候我们选择第一个点击进入

进入后复制下载连接,如下图所示

 

这时候我们回到到Ubuntu16.04安装git工具并下载nginx-rtmp

apt-get install git
git clone https://github.com/arut/nginx-rtmp-module.git

 这时候进入到nginx-1.12.1目录下面

cd nginx-1.12.1

 执行./configure

# /home/iverson/桌面/nginx/nginx-rtmp-module 是我ubuntu16.04上nginx-rtmp-module的路径
./configure --add-module=/home/iverson/桌面/nginx/nginx-rtmp-module

 Makefile生成好后执行make

make

 最后执行make install 进行安装

make install

nginx的默认安装路径是/usr/local/nginx,我们直接进入到该目录,nginx目录下有个sbin目录,里面有个nginx可执行文件,可直接运行 

cd /usr/local/nginx
cd sbin
./nginx

 可以用ps命令查看nginx是否运行

ps -ef | grep nginx

如下图所示就是运行了 

 

也可以在浏览器输入Ubuntu16.04的ip地址访问nginx,如下图所示

 

这样就表示nginx安装成功了,接下来要把rtmp对应的直播服务器进行配置,进入入到nginx的配置目录

cd /usr/local/nginx/conf

 用vim打开nginx.conf,如果没有vim可执行apt-get install vim

sudo vim nginx.conf

 修改配置内容如下图所示

编辑完后重新运行nginx

pkill nginx
../sbin/nginx

 这时候rtmp就配置好了,可以进行推流测试

# 没配置nginx-rtmp之前live后面是有/test的
ffmpeg -i test.mp4 -c copy -f flv rtmp://192.168.88.134/live

 vlc拉流播放

接下来要配置推流的状态,还是打开nginx.conf

sudo vim nginx.conf

配置修改如下图所示

 配置完成后把nginx重启

sudo pkill nginx
sudo ../sbin/nginx

这时用ffmpeg -i test.mp4 -c copy -f flv rtmp://192.168.88.134/live推流,再到浏览器输入Ubuntu16.04的ip和配置的端口(如192.168.88.134:8080/stat),如下图所示

 最后是用ffplay拉流播放

# 因为播放的是直播数据,默认是缓冲播放的,因为要做音视频同步,所以要把缓冲关掉,不然会出现比较大的延时
ffplay rtmp://192.168.88.134/live -fflags nobuffer

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/729345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号