安装rtsp-ffmpeg包:
npm install rtsp-ffmpeg --save
代码:
let img = null // 用来保存图像base64数据的
const rtspUrl = 'rtsp://192.168.5.200:554/ch1' // rtsp流地址 换成自己的
// 启动rtsp截图服务
const stream = new rtspFFMpeg.FFMPEG({input: rtspUrl})
stream.on('data', data=>{
img = data.toString('base64')
})
rtsp-ffmpeg会实时更新当前视频图像到img中, 截图其实就是拿到当前的img就行
这里有个问题rtsp-ffmpeg包中对图片获取的速度过快导致有些性能不够的板子运行一会就无法继续获取图片了。需要修改一下rtsp-ffmpeg包。
找到FFMpeg.prototype._args,加个参数 '-vf', 'fps=5' 这样每秒只获取5张图片,算力就能够支撑持续截图了