描述:Linux环境搭建Nginx+FFmpeg服务,实现rtsp流转hls流,并使用Java在WEB端,实现H5 video视频播放
1、FFmpeg安装
官网:http://ffmpeg.org/releases
参考:
Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放
Linux下ffmpeg安装教程
(1)到官网下载ffmpeg-4.2.2.tar.gz文件,通过rz命令上传到/sorf/ffmpeg/下
(2)解压
$ tar zxvf ffmpeg-4.2.2.tar.gz
(3)安装
$ cd ffmpeg-4.2.2/
$ ./configure --enable-shared --prefix=/opt/ffmpeg
如果出现以下错误,则需要安装yasm
(4)安装yasm
1)下载:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
2)解压:把下载下来的压缩包进行解压
3)切换路径: cd yasm-1.3.0
4)执行配置: ./configure
5)编译:make
6)安装:make install(提示:Permission denied,就执行sudo make install)
参考:https://www.cnblogs.com/brady-wang/p/11770512.html
(5)继续安装ffmpeg
切换到ffmpeg目录下
$ ./configure --enable-shared --prefix=/opt/ffmpeg
$ make
$ make install
(6)创建一个文件并写入lib路径
vim /etc/ld.so.conf.d/ffmpeg.conf
在ffmpeg.conf文件中添加一行内容:/opt/ffmpeg/lib
保存并退出(wq),然后执行 ldconfig 使配置生效
现在再次执行./ffmpeg -version 显示就正常了
(7)配置软链接
ln -s /opt/ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
再次执行ffmpeg就可以显示版本信息了
2、Nginx安装
(1)下载:nginx-1.12.2.tar.gz
(2)通过rz命令上传到/usr/local
(3)安装依赖的软件库
1) gcc
$ yum install gcc
2)pcre-devel
$ yum install -y pcre pcre-devel
3)zlib-devel
$ yum install -y zlib zlib-devel
4)openssl-devel
$ yum install -y openssl openssl-deve
(4)解压
$ tar -zxvf nginx-1.12.2.tar.gz
(5)配置
这里使用默认配置
$ cd nginx-1.12.2
$ ./configure
(6)编译安装
$ make
$ make install
(7)查找安装路径并进入
$ whereis nginx
(8)启动停止、重新加载配置文件
进入安装路径下的sbin目录
$ cd sbin/
启动:
$ ./nginx
停止:
$ ./nginx -s quit
重新加载配置文件:
$ ./nginx -s reload
(9)测试
$ curl 127.0.0.1
3、Nginx配置
(1)修改配置文件
nginx/conf/nginx.conf,在http --> server下增加以下配置:
# ffmpeg生成hls流的http访问配置
location /hls {
#若nginx\conf\mime.types中没有配置如下type,请加上,或直接在mime.types加
#types{
# application/vnd.apple.mpegurl m3u8;
# application/x-mpegURL m3u8;
# video/mp2t ts;
#}
root html;
#add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
启动nginx服务
注: 使用ffmepg转流需要指定目标路径为上面配置的nginx/html/hls
3、Java源码实现
参考:
FFCH4J源码下载
FFCH4J源码解析