钓鱼网站图片,wordpress伪静态nginx,什么网站可以做ui小动画,做试试彩网站人员目录 前言
一、Nginx是什么
二、Nginx在流媒体方案中的位置编辑
三、软硬件准备
四、移植编译Nginx
五、运行Ngnix
六、测试流媒体方案
七、浏览器播放 前言
最近想做一个安防相关的项目#xff0c;所以跟着韦东山老师的视频来学习视频监控方案的相关知识#xff0…目录 前言
一、Nginx是什么
二、Nginx在流媒体方案中的位置编辑
三、软硬件准备
四、移植编译Nginx
五、运行Ngnix
六、测试流媒体方案
七、浏览器播放 前言
最近想做一个安防相关的项目所以跟着韦东山老师的视频来学习视频监控方案的相关知识韦东山老师讲的课非常好本章主要介绍推流端Nginx
一、Nginx是什么
一套开源软件纯C语言编写效率高HTTP和反向代理web服务器同时也是一个 IMAP、POP3、SMTP 代理服务器稳定、高效支持高并发即使强如阿里巴巴也是使用Nginx http://tengine.taobao.org/它就是在Nginx的基础上针对大访问量网站的需求添加了很多高级功能和特性。我们只关注Nginx可以作为流体服务器支持RTMP、HTTPFLV、HLS等协议
二、Nginx在流媒体方案中的位置
推流端
FFmpeg使用RTMP协议向Nginx推流
拉流端
VLC播放器使用RTMP或HTTPFLV协议从Nginx拉流浏览器使用HTTPFLV协议从Nginx拉流(安装flv.js)
让Ngnix支持RTMP、HTTPFLV协议 Nginux需要第3方模块 nginx-rtmp-module实现了RTMP协议nginx-http-flv-module在nginx-rtmp-module的基础上实现了HTTPFLV并覆盖nginx-rtmp-module的所有功能 所以我们将会在Nginx上使用nginx-http-flv-module 第3方模块源码 https://github.com/winshining/nginx-http-flv-module/ 添加第三方模块这部分下面配置buildroot会涉及到。
三、软硬件准备
硬件
100ASK_IMX6ULL开发板 (或其他Linux开发板)USB摄像头
软件
UbuntuBuildroot(Buildroot会自动下载其他软件: MJPG-streamer, ffmpeg, nginx)
四、移植编译Nginx
这里跟我前两篇文章移植编译 FFmpeg 和 MJPG-streamer 一样有两种方法 方法1下载源码手工编译 方法2使用Buildroot配置选择Nginx直接编译生成映象文件 我们使用Buildroot
设置交叉编译工具链下载第3方模块 在Buildroot目录下创建目录mkdir dl/nginx 使用git下载cd dl/nginx git clone https://github.com/winshining/nginx-http-flv-module.git在Buildroot根目录 make menuconfig 把原来的lighttpd去掉。否则板子也会自动启动它就会有两个HTTP服务了lighttpd, nginx如图选择Nginx建议把所有功能都选上并且设置额外的参数在“additional modules”中添加 $(TOPDIR)/dl/nginx/nginx-http-flv-module最后执行(先删除之前编译的nginx我发现有时设置的第3方模块不起作用删除后再make就可以了)rm -rf output/build/nginx-1.15.7 make这会在Buildroot的dl/nginx目录下自动下载源码并编译结果保存在output/images目录下有emmc.img, sdcard.img可以直接烧写到板能的EMMC或SD卡上 五、运行Ngnix
在开发板上烧写好映像文件后开发板启动时会自动运行Ngnix 为了让它支持RTMP、HTTPFLV需要修改配置文件/etc/nginx/nginx.conf 修改后重启Nginx服务
/etc/init.d/S50nginx restart六、测试流媒体方案
在开发板上运行了Nginx后它就已经是一个WEB站点了。 可以在电脑浏览器里输入开发板的IP访问开发板如图
推流 在开发板上执行
ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 -f flv rtmp://127.0.0.1/live/wei拉流 在PC上安装VLC播放器https://www.videolan.org/
使用RTMP协议拉流VLC播放器中点击“媒体”-“打开网络串流”输入rtmp://192.168.5.9/live/wei 就可以播放了使用HTTPFLV协议拉流VLC播放器中点击“媒体”-“打开网络串流”输入 http://192.168.5.9/test?applivestreamwei 就可以播放了
缺点 IMX6ULL性能太弱在VLC播放器里看到的视频很卡很滞后 我们可以上传一个mp4文件到开发板把它推到
Nginx ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/wei 然后再用VLC拉流看看会发现很顺畅
笔记推送mp4文件就不会涉及到编解码 就会快 会把mp4里面的视频音频原样推送给nginx -re 保持原来的播放速度就不用一下子把文件全推
-i test 取test这个文件
-vcodec copy -acodec copy 视频、音频编解码器 保持跟原来的一样 。
framerate 10 代表1秒10帧 –q 10 代表质量是10 -f flv rtmp://127.0.0.1/live/wei 以rtmp协议推送给本地服务器 rtmp://192.168.1.6/live/wei 使用rttp拉流 live是app stream name是wei 从开发板找到live这个app里面wei的这个流
http://192.168.1.6/test?applivestreamwei 是用httpflv协议拉流 test是目录
对应前面写的节点 去这个目录里面拉这个app live的stream 就可以播放了
七、浏览器播放
参考无插件web直播解决方案ffmpegnginx-http-flv-moduleflv.js【入门】无插件web直播解决方案ffmpegnginx-http-flv-moduleflv.js_ffmpeg nginx nginx-http-flv-module flv-CSDN博客HTTP-FLV直播初探https://www.cnblogs.com/saysmy/p/7851911.html 具体参考步骤如下1.修改/etc/nginx/nginx.conf 如下 location /test { flv_live on; chunked_transfer_encoding on; add_header ‘Access-Control-Allow-Origin’ ‘*’; add_header ‘Access-Control-Allow-Credentials’ ‘true’; }
2.编写一个html网页 无插件web直播解决方案ffmpegnginx-http-flv-moduleflv.js https://blog.csdn.net/string_kai/article/details/100598268Heml的demo HTTP-FLV直播初探 https://www.cnblogs.com/saysmy/p/7851911.html新建一个html文件复制里面的源码
修改里面的url地址 https://xl.live-play.acgvideo.com/live-xl/520658/live_12860646_332_c521e483.flvwsSecret778d91efcb22c588be28cb67ebe57082wsTime1510929009修改为 http://192.168.5.9/test?applivestreamwei 我们的html拉流串流他用到一个flv.js文件 我们本地没有 所以要去网上下载 在html中改 script src“./flv.js?v2”改为
3.把开发板中的 /usr/html/index.html里面的内容改为上述保存的html的内容就大功告成了。 此时在浏览器中输入开发板的ip便可以访问监控页面如图。 注意我的开发板的ip是192.168.5.9老师使用的是192.168.1.6