需要安装的工具
yum install -y wget unzip gcc gcc-c++ perl
安装ffmpeg
yum install -y ffmpeg
创建临时文件夹
切换到home目录
cd /home新建文件夹
mkdir build进入build文件夹
cd build
下载并解压pcre
下载pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz解压pcre
tar -zxvf pcre-8.41.tar.gz
下载并解压zlib
下载zlib
wget http://www.zlib.net/zlib-1.2.11.tar.gz解压zlib
tar -zxvf zlib-1.2.11.tar.gz
下载并安装openssl
下载openssl
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz解压openssl
tar -zxvf openssl-1.1.1a.tar.gz切换到openssl目录里
cd openssl-1.1.1a生成配置文件 默认配置
./config --prefix=/usr/local --openssldir=/usr/local/openssl编译程序
make安装程序
make install切换回build目录
cd ..
下载并解压nginx-rtmp-model
下载nginx-rtmp-module
wget https://codeload.github.com/arut/nginx-rtmp-module/zip/master解压nginx-rtmp-module
unzip -o master.zip
下载并安装nginx
下载nginx
wget http://nginx.org/download/nginx-1.14.0.tar.gz解压nginx
tar -zxvf nginx-1.14.0.tar.gz切换到nginx目录
cd nginx-1.14.0生成配置文件
./configure --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1a --add-module=../nginx-rtmp-module-master编译程序
make安装程序
make install
修改nginx配置
备份nginx.conf
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak修改nginx.conf
vi /usr/local/nginx/conf/nginx.confevents后添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18rtmp {
server {
listen 1935;
chunk_size 4000;
application myapp {
live on;
record off;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
}
}http的service中添加
1
2
3
4
5
6
7
8
9
10
11#数据格式设置
charset utf-8;
#配置hls
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
}
把nginx添加进systemctl
添加并编辑nginx.service文件
vim /usr/lib/systemd/system/nginx.service在文件中填入下面文字并保存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target重载systemctl命令
systemctl daemon-reload
添加hls视频播放网页
添加并编辑文件
vi /usr/local/nginx/html/video.html在文件中填入下面文字并保存
1 | <script src="https://open.ys7.com/sdk/js/1.3/ezuikit.js"></script> |
启动nginx服务
systemctl start nginx开启ffmpeg转码
ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp:填入rtsp地址" -strict -2 -c:v libx264 -vsync 2 -c:a aac -f hls -hls_time 5 -hls_list_size 2 -hls_wrap 2 /usr/local/nginx/html/test.m3u8在浏览器中打开网址,即可查看转码后视频。服务器要开启80端口
服务器ip/video.html
添加rtmp视频播放网页
添加并编辑文件
vi /usr/local/nginx/html/rtmp.html在文件中填入下面文字并保存
1 | <script src="https://open.ys7.com/sdk/js/1.3/ezuikit.js"></script> |
启动nginx服务
systemctl start nginx开启ffmpeg转码
ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp:填入rtsp地址" -strict -2 -c:v libx264 -vsync 2 -c:a aac -f flv -s 640x360 -q 10 rtmp://localhost:1935/myapp/test在浏览器中打开网址,即可查看转码后视频。服务器要开启80、1935端口
服务器ip/rtml.html