我有一个定制板,它从IP摄像机获取输入流,应用程序使用OpenCV在输入视频流上执行面部检测。
我的用例是通过网络提供输出流,可以通过VLC在同一网络中连接的任何设备上访问。
我尝试通过VideoWriter编写OpenCV框架:
VideoWriter outStream("/home/user/frames/frame.mjpg", CV_FOURCC('M','J','P','G'), CAP_PROP_FPS, img.size(), true);
if (outStream.isOpened()){
outStream.write(img);
使用mjpg_streamer创建流:
mjpg_streamer -i "input_file.so -f /home/user/frames" -o "output_http.so -w /usr/local/www -p 5241"
但是上面的过程显示了很多延迟。 我无法使用imshow,因为我的硬件没有任何视频输出端口。
答案 0 :(得分:2)
我建议使用imwrite()将jpeg图像保存在Mjpeg-Streamer指定的目录中。写低质量的Jpegs,设置" CV_IMWRITE_JPEG_QUALITY"达到满足您要求的最低值。