Dragonboard410c Android USB Camera 使用:mjpg-streamer介绍(一)

原创 2017年07月06日 10:36:17

mjpg-streamer是一款免费基于IP地址的视频流服务器,从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器端,如火狐、Cambozola和VLC播放器等。它可以利用某些webcam的硬件压缩功能来降低服务器CPU的开销。为嵌入式设备和一些常规服务器提供一个轻量且更少CPU消耗的方案。

在其源代码中主要围绕linux的v4l2接口(注意低版本内核不存在v4l2接口因此无法使用)、socket网络编程、多线程编程。其中还包含重要的插件input-plugins和output-plugins。

mjpg-streamer采用模块化的设计方法,以功能块为单位进行描述,这些功能块被称为plug-in(组件)。软件中定义好了各组件的输入、输出,以及组件之间的衔接关系。用户可自行根据对功能的需求,选择需要的模块。这种模块化的程序设计简化了代码的编写、调试、维护,程序员只需要遵守设计的规范,就可以轻松地改写软件,或者编写新的模块以增强软件的功能。

input_uvc <——————– ——————–> output_autofocus

input_file <——————– MJPG-streamer ——————–> output_file

input_testpicture <——————–

input-plugins从摄像头读取视频数据,并将视频数据复制到内存中,output-plugins将这些视频数据进行处理,其中最重要的输出插件是网站服务器插件,它将视频数据传送到用户浏览器中,mjpg-streamer的工作就是将其中的一个输入插件和多个输出插件绑定在一起,所有的工作都是通过它的各个插件完成的。

mjpg-streamer源码包可从SourceForge网站下载使用,也可以到我的github中下载。
https://github.com/chenguangxiang/mjpg-streamer

其中的几个重要插件:

  • input_testpicture.so
    这是一个图像测试插件,它将预设好的图像编译成一个头文件,可以在没有摄像头的情况下传输图像,从而方便调试程序。
  • input_uvc.so
    此文件调用USB摄像头驱动程序V4L2,从摄像头读取视频数据。
  • input_control.so
    这个文件实现对摄像头转动的控制接口。
  • output_http.so
    这是一个功能齐全的网站服务器,它不仅可以从单一文件夹中处理文件,还可以执行一定的命令,它可以从输入插件中处理一幅图像,也可以将输入插件的视频文件根据现有M-JPEG标准以HTTP视频数据服务流形式输出。
  • output_file.so
    这个插件的功能是将输入插件的JPEG图像存储到特定的文件夹下,它可以用来抓取图像。

mjpg-streamer视频流服务器,模块结构清晰,易于管理,利用现有网络资源,很容易实现远程的网络视频采集,克服了现有视频采集的距离问题,开发简单,可移植性高,并且系统运行稳定。

版权声明:本文为博主原创文章,欢迎转载,但是看在我辛勤劳动的份上,请注明来源:http://blog.csdn.net/cgx090902(未经允许严禁用于商业用途!) https://blog.csdn.net/cgx090902/article/details/74527463

mjpg-streamer项目源码分析[转载]

前一段时间自己买了个开发板(GT2440的),可是我没有够相应的买cmos摄像头,可是又想做下国嵌的usb视频采集和传输的哪个项目。没办法,只好网上找找相关的项目,最终发现了mjpg-streamer...
  • zhengqijun_
  • zhengqijun_
  • 2017-05-18 16:49:33
  • 1951

树莓派MJPG-Streamer实现网络监控

网上很多教程来做这个,但是我之前按照他们的帖子来做,搞了几天,还是那样。。就是8080端口进不去,显示错误,网上的说的是摄像头问题,因为我使用的是USB摄像头,并不是官方的摄像头模块,就一直以为是自己...
  • czy_1125
  • czy_1125
  • 2016-09-23 11:56:03
  • 2475

详解移植mjpg_streamer到arm板

介绍: Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefox,Cambozola,VLC播放器,Windows...
  • marc07
  • marc07
  • 2017-04-14 09:41:14
  • 1344

mjpg-streamer详解3

之前已经分析了main函数,了解了整个程序的主体,然后分析了input_init函数和input_run函数,理清了输入渠道 本篇讲解剩下的output_init函数和output_run函数(即输...
  • JT_enlightenment
  • JT_enlightenment
  • 2016-12-27 10:37:34
  • 1275

MJPG_Streamer的安装及使用

mjpg-streamer 可以通过文件或者是HTTP方式访问linux UVC兼容摄像头。可以在公司,通过访问家里安装的摄像头查看家里的情况,对于有小孩的家长很有帮助。 mjpg-streamer...
  • u013057233
  • u013057233
  • 2016-06-11 22:18:12
  • 2197

mjpg-streamer源码分析

作者:曹忠明,华清远见嵌入式学院讲师。mjpg-streamer是一个很好的开源项目,用来做视频服务器,使用的是v4l2的接口。前面我们说了它的移植过程,但是在某些特定的情况下这个工程不能达到我们的需...
  • u010661782
  • u010661782
  • 2015-10-10 10:52:39
  • 834

mjpg-streamer学习笔记1----mjpg-streamer移植

1、什么是mjpg-streamer   MJPG-streamer是一款免费基于IP地址的视频流服务器,它的输入插件从摄像头读取视频数据,这个输入插件产生视频数据并将视频数据复制到内存中,它有多...
  • qingkongyeyue
  • qingkongyeyue
  • 2016-08-30 20:35:31
  • 2689

MJPG-Streamer及使用---fwqlzz love is for ever

在zedboard上移植和搭建嵌入式网络摄像机mjpg-streamer。具体步骤如下: 来自:http://blog.csdn.net/xzyiverson/article/details/137...
  • fwqlzz
  • fwqlzz
  • 2016-04-20 00:29:45
  • 2020

mjpg-streamer

  • 2017年08月14日 17:30
  • 2.84MB
  • 下载

远程视频监控之应用篇(mjpg-streamer)

通过对mjpg-streamer的源码分析,让小伙伴们知道整个软件的流程。也介绍了如何移植,和设置参数。...
  • u013584315
  • u013584315
  • 2014-08-22 18:00:21
  • 6500
收藏助手
不良信息举报
您举报文章:Dragonboard410c Android USB Camera 使用:mjpg-streamer介绍(一)
举报原因:
原因补充:

(最多只允许输入30个字)