ubuntu18.04平台:新版OpenCV5集成算法使用mjpeg-streamer(流媒体c++库)实现视频流及网页浏览器访问
GStreamer 简介
GStreamer 是一个用于构建音频和视频处理管道的工具包。管道可以将视频从文件流式传输到网络,或者向记录添加回声,或者(我们最感兴趣的)捕获 Video4Linux 设备的输出。Gstreamer 最常用于为Totem等图形应用程序提供动力,但也可以直接从命令行使用。
没有两个编码用例是完全相同的。您首选的工作流程是什么?您的处理器是否足够快以实时编码高质量视频?您是否有足够的磁盘空间来存储原始视频然后在事后处理它?你想在 DVD 播放器中播放你的视频,还是它在你的VLC版本中工作就足够了?您将如何解决系统中晦涩难懂的问题?
如果您想通过硬件获得最佳视频质量,并且不介意花一个周末浏览 Internet 以获取信息, 请使用 GStreamer 。
如果您只是想要一些快速而肮脏的东西,或者不能忍受带有糟糕文档和无用错误消息的程序,请 避免使用 GStreamer 。
1.0 系列的 GStreamer 将单个(假)源连接到单个(假)接收器:
非常简单的管道
GStreamer 可以构建各种管道,但您可能想要构建一个看起来像这样的管道:
参考来自:https://www.linuxtv.org/wiki/index.php/GStreamer
实现配置与展示
c++库下载地址:https://sourceforge.net/projects/mjpg-streamer/
参考源码:https://github.com/jacksonliam/mjpg-streamer/tree/master/mjpg-streamer-experimental
这里使用的图像处理操作是hsv:
HSV是一种在人们生活中甚至更常用的颜色系统,在电视遥控器上、在画画的调色板中、在你用爱某艺视频调整亮度时都很常见,因为它更符合人们描述颜色的方式——是什么颜色、颜色有多深、颜色有多亮。
配置方法:实现源码过一段时间会分享
结果展示:
参考资料
opencv官网:https://docs.opencv.org/4.x/
c++库下载地址:https://sourceforge.net/projects/mjpg-streamer/
参考源码:https://github.com/jacksonliam/mjpg-streamer/tree/master/mjpg-streamer-experimental
参考教程1:https://www.sigmdel.ca/michel/ha/rpi/streaming_en.html
参考教程2:https://blog.csdn.net/feit2417/article/details/84865028
参考教程3:https://zhuanlan.zhihu.com/p/499131456
参考教程4:https://vovkos.github.io/doxyrest-showcase/opencv/sphinxdoc/enum_cv_ImwriteFlags.html
参考教程5:https://blog.csdn.net/Vaccae/article/details/111595933