1.安装ffmpeg
*所需安装包:*
lame-3.100.tar.gz
链接:https://pan.baidu.com/s/1nKp7T7QiNYQ4tj7U4HAXCQ
提取码:4l5j
yasm-1.3.0.tar.gz
链接:https://pan.baidu.com/s/1DBo2KAvzFgmQaHvjXqCJAQ
提取码:16eu
nasm-2.13.03.tar.gz
链接:https://pan.baidu.com/s/1Zt5VXnLn4Q5DM-1D_khsyA
提取码:iofv
x264.zip
链接:https://pan.baidu.com/s/1eLNwuEV2RlCxRVKbVgo50w
提取码:wn78
ffmpeg-4.1.tar.bz2
链接:https://pan.baidu.com/s/1eLNwuEV2RlCxRVKbVgo50w
提取码:wn78
2.编译安装
安装lame
tar -zxf lame-3.100.tar.gz
cd lame-3.100
./configure
make
make install
安装yasm
tar -zxf yasm-1.3.0.tar.gz
cd yasm-1.3.0
sed -i 's#) ytasm.*#)#' Makefile.in
./configure
make
make install
安装nasm-2.13.03.tar.gz
tar -zxf nasm-2.13.03.tar.gz
./configure
make
make install
安装 x264编码
unzip x264.zip
cd x264
./configure --enable-shared --enable-static
make
make install
安装ffmpeg
tar -jxf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
./configure --enable-shared --enable-libmp3lame --enable-libx264 --enable-gpl
make
make install
2:安装nginx
安装Nginx依赖
首先在根目录下创建一个叫做nginx-dependence的文件夹
```
cd ../../
sudo mkdir nginx-dependence
```
安装依赖
```
d nginx-dependence
sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
sudo tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40/
sudo ./configure
sudo make
sudo make install
sudo wget http://zlib.net/zlib-1.2.11.tar.gz
sudo tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
sudo ./configure
sudo make
sudo make install
sudo wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0.tar.gz
sudo tar -zxvf openssl-1.1.0.tar.gz
cd openssl-1.1.0/
sudo ./config
sudo make
sudo make install
```
在nginx-dependence目录中,先下载nginx-rtmp-module
git clone https://github.com/arut/nginx-rtmp-module.git
安装Nginx
apt-get install build-essential
apt-get install libtool
然后下载并安装Nginx,我安装的版本是1.12.0,我也是安装在根目录的。
依次运行下面的指令。
cd ../../
sudo wget http://nginx.org/download/nginx-1.12.0.tar.gz
sudo tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0/
sudo ./configure --prefix=/usr/local/nginx --with-pcre=../nginx-dependence/pcre-8.40 --with-zlib=../nginx-dependence/zlib-1.2.11 --with-openssl=../nginx-dependence/openssl-1.1.0 --with-http_ssl_module --add-module=/nginx-dependence/nginx-rtmp-module
sudo make
sudo make install
–with-pcre=…/nginx-dependence/pcre-8.40 就是我的pcre依赖所放置的位置,这个位置可根据自己的安装位置进行灵活配置。–add-module=/nginx-dependence/nginx-rtmp-module 这个module 的路径也要正确设置为之前下载nginx-rtmp-module的路径。
在命令行中输入这个命令启动nginx服务器:
sudo /usr/local/nginx/sbin/nginx
nginx.conf中加入配置,与http同级
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
#配置hls
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
rtmp {
server {
listen 1935;
chunk_size 40000;
application videotest {
live on;
hls on;
hls_path /home/;
}
application hls {
live on;
hls on;
hls_path /home/hls;
}
}
}
重启nginx
/usr/local/nginx/sbin/nginx -s reload
关闭防火墙
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
页面播放需要用video.js:
先浏览器打开页面,在服务器上执行下面命令:
1:将视频文件推流到rtmp
ffmpeg -re -i /home/video/111.mp4 -vcodec copy -acodec copy -f flv rtmp://{ip}:1935/hls/test2
播放地址 rtmp://{ip}:1935/hls/test2
2:将屏幕推流到rtmp
start ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://{ip}:1935/live/jing
播放地址 rtmp://{ip}:1935/live/jing
3:将摄像头推流到hls
ffmpeg -f vfwcap -i "0" -c:v libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://{ip}:1935/hls/home
播放地址 http://{ip}:80/hls/home.m3u8
4:将视频文件推流到hls
ffmpeg -re -i F:/08.flv -vcodec copy -acodec copy -f flv rtmp://{ip}:1935/hls/stream
播放地址 http://{ip}:80/hls/stream.m3u8