安装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



