前端显示视频的话,后端进行 rtsp推流 或者websocket 哪个延迟可以做到更低?
websocket 给前端 可以一帧一帧的图片给过去,还是有其它什么办法实现流呢?
websocket 的实现没有考虑声音的编码问题。
前端显示视频的话,后端进行 rtsp推流 或者websocket 哪个延迟可以做到更低?
websocket 给前端 可以一帧一帧的图片给过去,还是有其它什么办法实现流呢?
websocket 的实现没有考虑声音的编码问题。
方案汇总:
https://zhuanlan.zhihu.com/p/359005370
最后看下来可能要用:rtsp to WebRTC???
播放优化:
https://zhuanlan.zhihu.com/p/457790444
关键代码:
//1.打开摄像机设备(默认第一个)
cv::VideoCapture cap= cv::VideoCapture(0);
//2.一定要先设置采集格式!!!
cap.set(CV_CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G'));
//3.然后再设置高清采集分辨率
cap.set(CV_CAP_PROP_FRAME_WIDTH, 1920);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
现在绝大多数摄像头所采用的是免驱摄像头,一般有两种传输格式,YUY2和MJPG,前者是无压缩图像格式的视频,系统资源占用少(因为不用解码),不需要解码器,缺点是帧率稍慢(受限于USB分配的带宽),后者是相当于JPEG图像压缩格式,优点是帧率高(视频开启快,曝光快),缺点是影像有马赛克,并且需要解码器,会占用PC系统资源。
opencv 可配置的参数:
https://blog.csdn.net/lunweiwangxi3/article/details/88556911
opencv frame 用完释放:
https://blog.csdn.net/baidu_36499789/article/details/121251572
记得之前为了解决这个问题,使用了环形缓冲区:
好处:
https://blog.csdn.net/qq_28258885/article/details/118108746
实现:
https://blog.csdn.net/momo0853/article/details/50160429
https://blog.csdn.net/xiejiashu/article/details/52986598