将 nginx-http-flv-module 模板添加到 nginx 中,生成 make 文件并安装 nginx
1 2 3 4 5 6 7
cd /usr/local tar -zxvf nginx-1.16.1.tar.gz cd nginx-1.16.1/ ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/nginx-http-flv-module make && make install ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ //配置nginx为全局变量 nginx -v //查看nginx是否安装成功
cd /usr/local tar -jxvf nasm-2.14.02.tar.bz2 //如果解压不了的话安装一下bzip2( yum install -y bzip2 ) cd nasm-2.14.02/ ./configure make && make install
安装前期准备下载的yasm
1 2 3 4 5
cd /usr/local tar -zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0/ ./configure make && make install
安装x264(RTSP视频流转码时需要x264)
1 2 3
cd /usr/local/x264 ./configure --enable-static --enable-shared make && make install
安装FFmpeg
1 2 3 4 5 6 7
cd /usr/local tar -jxvf ffmpeg-4.2.2.tar.bz2 cd ffmpeg-4.2.2/ ./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 make && make install (FFmpeg编译时间比较长) ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin //配置ffmpeg全局环境变量 ffmpeg -version //查看ffmpeg是否安装成功
直接运行FFmpeg可能报如下错误(重点)
1 2 3 4 5 6
ffmpeg: error while loading shared libraries: libx264.so.157: cannot open shared object file: No such file or directory 解决: vi /etc/ld.so.conf 添加libx264.so文件位置 我的是在:/usr/local/lib/ 加入到 ld.so.conf 重载配置:ldconfig
<pclass="mainContainer"> <videoname="videoElement"id="videoElement"class="centeredVideo"controlsmutedautoplaywidth="1024"height="576"> Your browser is too old which doesn't support HTML5 video. </video> </p>
<scriptsrc="flv.js"></script>
<script>
functionstart() { if (flvjs.isSupported()) { var videoElement = document.getElementById('videoElement'); var flvPlayer = flvjs.createPlayer({ type: 'flv', url: 'http://192.168.153.204/live?port=1935&app=myapp&stream=home' }); flvPlayer.attachMediaElement(videoElement); flvPlayer.load(); flvPlayer.play(); } }
document.addEventListener('DOMContentLoaded', function () { start(); }); </script>