平台开发——搭建Nginx + nginx-http-flv-module + Ffmpeg 实现推流视频到nginx服务器

平台开发——搭建Nginx + nginx-http-flv-module + Ffmpeg 实现推流视频到nginx服务器_第1张图片
我用了两个软件及一个扩展包:Nginx、Ffmpeg、nginx-http-flv-module(nginx-http-flv-module是在nginx-rtmp-module基础上开发的一个直播模块)实现了将视频(直播、视频文件)推流到服务器上,并可以让第三方访问。

所涉及的所有软件及系统及其版本:ubuntu-16.04.6-server-amd64、nginx-1.17.5、nginx-http-flv-module-1.2.7、ffmpeg_2.8.15-0ubuntu0.16.04.1_amd64

准备工作:

①安装ubuntu系统,我是用的VM虚拟机安装,参考博文

②安装nginx + nginx-http-flv-module

第一步:
安装依赖项

#sudo apt-get install openssl libssl-dev
#sudo apt-get install libpcre3 libpcre3-dev
#sudo apt-get install zlib1g-dev

第二步:
解压安装

#sudo tar -zxvf nginx-1.17.5.tar.gz
#sudo tar -zxvf nginx-http-flv-module-1.2.7.tar.gz
#cd nginx-1.17.5
#sudo ./configure --add-module=…/nginx-http-flv-module-1.2.7
#sudo make && make install

第三步:
修改配置信息

#sudo vi /usr/local/nginx/conf/nginx.conf

配置可以自己配,我这边提供一个我自己的nginx.conf
链接:https://pan.baidu.com/s/1OR5_cTL-WUM7cIsXLj4k1A
提取码:lt4y

第四步:
载入配置,重新启动

#sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#sudo /usr/local/nginx/sbin/nginx -s reload

③安装ffmpeg

第一步:
安装依赖项

#sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool
libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev
libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
#apt install libavformat-dev
#apt install libavcodec-dev
#apt install libswresample-dev
#apt install libswscale-dev
#apt install libavutil-dev
#apt install libsdl1.2-dev
#sudo apt-get -f install

第二步:
解压ffmpeg_2.8.15-0ubuntu0.16.04.1_amd64.deb文件

#sudo dpkg -i ffmpeg_2.8.15-0ubuntu0.16.04.1_amd64.deb

第三步:检查安装版本

#ffmpeg

推流工作

①推流视频文件(本地文件、rtmp、rtsp直播源)到服务器上

命令

ffmpeg -re -i /home/cmj/share/dddd.mp4 -vcodec copy -acodec aac -strict -2 -f flv rtmp://192.168.0.222:1935/webcam/streamname
ffmpeg -re -i tsp://admin:[email protected]/h264/ch1/sub/av_stream -vcodec copy -acodec aac -strict -2 -f flv rtmp://192.168.0.222:1935/webcam/streamname
ffmpeg -re -i rtmp://58.200.131.2:1935/livetv/gxtv -vcodec copy -acodec aac -strict -2 -f flv rtmp://192.168.0.222:1935/webcam/streamname

验证:
方法1:用VLC打开网络串流“rtmp://192.168.0.222:1935/webcam/streamname”,若出现视频画面。则推流成功。
方法2:登录 http://192.168.0.222/stat 网址进行查看,注意将 nginx-http-flv-module-1.2.7/stat.xsl拷贝到 /home/cmj/test(也就是nginx.conf文件中location /stat.xsl载入的位置)

你可能感兴趣的:(平台开发)