做网站不搭建本地环境,wordpress 文章采集插件,宁波网站关键词排名提升,企业核名文章目录 前言一、ffmpeg是什么#xff1f;二、ffmpeg安装1.下载2.安装 三、node搭建websocket服务四、web客户端播放视频 前言
像海康大华一些摄像头或者直播源 为rtsp视频流#xff0c;想在web上播放必须进行协议转换。已知一些方案例如rtsp转rtmp需要flash#xff0c;现… 文章目录 前言一、ffmpeg是什么二、ffmpeg安装1.下载2.安装 三、node搭建websocket服务四、web客户端播放视频 前言
像海康大华一些摄像头或者直播源 为rtsp视频流想在web上播放必须进行协议转换。已知一些方案例如rtsp转rtmp需要flash现在浏览器基本不支持flash。还有转hls或者flv这些延迟都比较高。经过实践对比比较理想方案是 经转码后视频流通过websocket传送给客户端在将视频流解码成图片通过canvas渲染出来延迟比较小基本在1s以内。所用工具(插件)为ffmpegnodenode-rtsp-streamjsmpeg 一、ffmpeg是什么
FFmpeg是一套可以用来记录、转换数字音频、视频并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案简而言之就是一个可以转换各种视频流格式/协议的强大工具。
二、ffmpeg安装
1.下载
ffmpeg下载地址 进入官网选择window图标-点击windows builds form gyan.dev 进入内页下拉找ffmpeg-release-essentials.zip点击下载
下载完解压 在bin目录下有个ffmpeg.exe 程序运行入口
2.安装 ffmpeg添加到全局环境变量windowi 输入’环境变量’搜索打开系统属性窗口 点击环境变量在系统变量中找到Path点击编辑 浏览-选择ffmpeg解压出来的bin目录 确定-确定-确定关闭窗口
添加成功后验证是否生效 任意地方打开Powershell窗口或cmd窗口 输入 ffmpeg 打印如下表示成功 三、node搭建websocket服务 此功能需要借助node-rtsp-stream插件node-rtsp-stream是一个node环境下处理rtsp视频流插件借助它能通过代码自动调用ffmpeg程序进行推流拉取转换并以websocket形式输出视频流。 由于在node下搭建服务所以电脑要先安装node环境。怎么安装node环境自行查找其他教程。 新建一个app.js文件同级目录下npm安装 node-rtsp-stream
npm install node-rtsp-stream -Sapp.js写入
const stream require(node-rtsp-stream)new stream({name: video-stream,streamUrl: rtsp://xxxxx,//rtsp地址wsPort: 9999,//端口号ffmpegOptions: { -stats: , -r: 30 ,//视频帧数-s: 1920*1080 //视频分辨率}
})运行
node app.js出现上面打印一堆推流数据表示node服务启动成功服务端工作就完成了
四、web客户端播放视频 web端用到jsmpeg插件播放视频jsmpeg是个js插件能将视频流解码成图片并渲染出来。 jsmpeg.min.js下载地址jsmpeg.min.js
新建index.html文件jsmpeg.min.js放置同一个目录下index.html写入
!DOCTYPE
htmlheadscript src./jsmpeg.min.js/scriptstyle#video{width: 1000px;height: 600px;}/style/headbodycanvas idvideo/canvasbutton onclickonPlay()播放/buttonbutton onclickonPause()暂停/buttonbutton onclickonStop()停止/button/bodyscriptvar canvas document.getElementById(video);var url ws://127.0.0.1:9999;var player new JSMpeg.Player(url, { canvas });//开始播放function onPlay() {player.play();}//暂停播放function onPause() {player.pause();}//停止播放function onStop() {player.stop();}/script
/html
测试打开运行index.html成功播放