centos7
安装nginx-http-flv
- /usr/local/ 新建nginx文件夹,存放nginx-http-flv
- /usr/local/ 新建bh文件夹,用来存放下载的所有软件安装包
- 进入/bh下载nignx、http-flv
yum -y install wget
wget http://nginx.org/download/nginx-1.18.0.tar.gz
yum -y install git
git clone git://github.com/winshining/nginx-http-flv-module.git
- 解压nginx
tar -zxvf ×××.tar.gz
- 安装以下依赖,否则nginx configure报错
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
#也可用一条命令代替
yum install pcre-devel zlib zlib-devel openssl openssl-devel
- 下载c++编译器
yum -y install gcc-c++
- 进入nginx目录,安装编译 nginx-http-glv
./configure --prefix=/usr/local/nginx --add-module=../nginx-http-flv-module
make && make install
- xshell传输文件工具
yum -y install lrzsz
将windows版的nginx.conf, stat.xsl拖到linux,这是我在windows上配置好的,若没有则直接修改 /usr/local/nginx/conf/nginx/conf/nginx.conf文件。
下面是我的nginx.conf 配置,按需修改。
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
error_log logs/error.log debug;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
# 添加RTMP服务
rtmp {
server {
listen 1935; # 监听端口
chunk_size 1024;
application videoMonitor {
live on;
meta off;
gop_cache on; #打开GOP缓存,减少首屏等待时间
allow play all;
}
}
}
# HTTP服务
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
keepalive_timeout 0;
server {
listen 9000; # 监听端口
server_name localhost;
location /live {
flv_live on; #打开HTTP播放FLV直播流功能
chunked_transfer_encoding off; #支持'Transfer-Encoding: chunked'方式回复
add_header 'Access-Control-Allow-Origin' '*'; #添加额外的HTTP头
add_header 'Access-Control-Allow-Credentials' 'true'; #添加额外的HTTP头
}
location /stat.xsl {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location / {
root html;
}
}
}
- 配置nginx环境变量
编辑/etc/profile 增加如下内容:(等号左右不要加空格)
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
- 刷新环境变量
source /etc/profile
验证
nginx -v
- 开启nginx
nginx
安装ffmpeg
https://github.com/FFmpeg/FFmpeg/archive/n3.3.5.tar.gz(libavcodec/libx264.c:282:9: 错误:‘x264_bit_depth’未声明(在此函数内第一次使用)),与x264版本冲突,ffmepeg 用4以上
- 用windows打开https://github.com/FFmpeg/FFmpeg/archive/n4.2.tar.gz地址下载,下载完后拖到/bh目录并解压。
wget https://github.com/FFmpeg/FFmpeg/archive/n4.2.tar.gz #太慢
- 下载必要依赖
yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel harfbuzz-devel
- yasm
yum install -y epel-release; yum install yasm
- x264
#下载
git clone https://git.videolan.org/git/x264.git
#安装
./configure --enable-shared --enable-static --disable-asm
#编译
make && make install
- ffmepg
#安装ffmpeg
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-pic --enable-version3 --enable-postproc --enable-pthreads --enable-static --enable-libx264
#编译
make && make install
- 在etc/profile配置文件中添加
export PATH="/usr/local/ffmpeg/bin:${PATH}"
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib/ #解决第7步缺少的依赖
-
进入ffmpeg的bin: ldd ffmpeg 查看ffmpeg缺少的依赖
-
复制缺少的libx264.so.164(x264的安装位置,默认在/usr/locla/lib/下)到ffmpeg下的lib
cp libx264.so.164 /usr/local/ffmepg/lib/
- 验证
ffmpeg -v