1.下载ngix包:https://nginx.org/download/nginx-1.16.1.tar.gz
2.下载nginx-http-flv-module 模块包:https://github.com/winshining/nginx-http-flv-module
3、安装虚拟机,并在opt文件夹下新建一个文件夹tools ,将下载的nginx 和nginx-rtmp-module 拷贝到opt 文件夹下
4.在/usr/local下创建nginx 文件夹
mkdir /usr/local/nginx
5.更新yum 并安装依赖项
yum update -y
yum -y install unzip gcc pcre-devel zlib-devel openssl openssl-devel
6.将tools 下面的nginx-http-flv-module-1.2.6.zip 解压到/usr/local/nginx下面
cd /opt/tools
//解压文件复制到/usr/local/nginx 目录下
cp /opt/tools/nginx-http-flv-module-1.2.6.zip /usr/local/nginx/nginx-http-flv-module.zip
进入/usr/local/nginx 下解压文件
unzip nginx-http-flv-module.zip
7.将nginx-http-flv-module模板添加到nginx中,生成make文件 并安装nginx
1. cd /opt/tools
2. tar -zxvf nginx-1.8.1.tar.gz
3. cd nginx-1.8.1
4. ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/nginx-http-flv-module
make && make install
8.打开配置文件
vim /usr/local/nginx/conf/nginx.conf #打开配置文件
9.删除原内容,复制nginx-http-flv-module的官方GitHub中的配置如图下所示:
...
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
server {
listen 80; #http-flv的拉流端口
...
# http-flv的相关配置
location /live {
flv_live on; #打开HTTP播放FLV直播流功能
chunked_transfer_encoding on; #支持'Transfer-Encoding: chunked'方式回复
add_header 'Access-Control-Allow-Origin' '*'; #添加额外的HTTP头
add_header 'Access-Control-Allow-Credentials' 'true'; #添加额外的HTTP头
}
...
}
}
rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;
rtmp_socket_dir /tmp;
rtmp {
out_queue 4096;
out_cork 8;
max_streams 128;
timeout 15s;
drop_idle_publisher 15s;
log_interval 5s; #log模块在access.log中记录日志的间隔时间,对调试非常有用
log_size 1m; #log模块用来记录日志的缓冲区大小
server {
listen 1935;
server_name www.test.*; #用于虚拟主机名后缀通配
#ffmpeg推流的application
application myapp {
live on;
gop_cache on; #打开GOP缓存,减少首屏等待时间
}
...
}
...
}
注意gop_cache这个参数,on时延迟高,但第一帧画面加载快。off时正好相反,延迟低,第一帧加载略慢。
10.ffmpeg推流设置
首先,ffmpeg是个开源且强大的工具,可在官网直接下载。http://ffmpeg.org/download.html
再将ffmpeg的bin目录导入环境变量Path。
最后,cmd推流命令,详情请参考这篇资料https://www.jianshu.com/p/c141fc7881e7
举例,我用笔记本摄像头推流的命令:
ffmpeg -f dshow -i video="HP Truevision HD" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://10.0.0.10:1935/myapp/mystream
11.VLC拉流
下载地址:https://www.videolan.org/
安装VLC后:选择媒体——》打开网络串流——》网络:输入URL:rtmp://10.0.0.10:1935/live/mystream
即可观看直播视频,以上笔记只为记录此次学习过程。
该文章参考:
https://blog.csdn.net/caowenjing123/article/details/94623466
https://blog.csdn.net/string_kai/article/details/100598268