Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4255947
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: 嵌入式

2011-04-25 20:23:10

翻译 MJPG-streamer 网站首页资料,帮助自己了解

mjpg-streamer 这个软件背景





About the project
  1. "MJPG-streamer", is a command line application to stream JPEG files over an IP-based network from the webcam to a viewer like Firefox, Cambozola, VLC, a Windows Mobile device or mobilephone that has a webbrowser. It can make use of hardware compression of certain webcams, in order to reduce CPU cycles of the server. This makes it a light and less CPU hungry solution for embedded devices and regular servers, that should not spend most of their computing power for compressing videoframes. For example it consumes less then 10% CPU on a 200 MHz router hardware when streaming a 960x720 pixel video.

    MJPG-streamer,是一个命令行应用程序,从摄像头采集数据,然后通过网络将JPEG流文件传输到视频播放设备,比如:火狐浏览器,摄像头播发器,视频线路连接器,手机设备等等。

    MJPG-streamer,可以使用硬件受限制的摄像头上,减少了CPU的开销。这样产生了一个更轻更消耗少的嵌入式设备。这样,就不需要为 处理视频帧 消耗大量的电耗。比如说,它减少了CPU 10%的电耗,在主频200Mhz的,960*720分辨率的一个设备上。


Screenshots 截屏
 浏览器测试                          viewer.exe客户端测试    媒体播放器测试 



About the name
  1. Other appropriate names would also be MJPEG-streamer or M-JPEG-streamer, the decision was done at an early project state and we just keep it.
其他合适的名字比如  MJPEG-streamer 或者 M-GPEG-streamer,这个决定是在一个更早的工程中定义的,我们就沿用这个名字了。


What it does  怎样工作?工作原理

  1. here is a source for images, the input-plugin. This input-plugin produces images and copies it to the memory. There are (several) output-plugins that take those images and do something with the images. Most popular is the webserver-output-plugin, it allows to transport the images to a viewers webbrowser. MJPG-streamer job is to glue together the single input and multiple out plugins, nearly all the important stuff is done by the plugins.
   我们需要一个源图像,从 输入插件(设备)中得到。 输入插件产生图像,然后复制图像到内存中。我们还有一些输出插件(设备),可用传输这些图像资源,或者对这些图像做一些处理。最受欢迎的是 网络服务器输出插件 ,它允许传输一个图像到 网络浏览器视频播放器中。MJPG-streamer 的工作是 整合这些单一输入到 多 输出插件中,几乎全部张耀的事情都被这个插件给做完了。

Plugins

Input-Plugins

  1. Common to all Input-Plugins is, that they copy JPEG images to a global accessible memory and signal this to waiting processes.
  总结全部的插件的功能是:复制 JPEG 图像到 一个 全局易得 的到内存中,发信号等待被处理。

  1. input_testpicture.so

  2. This input-plugin has compiled in images and can be used without a webcam. If you want to write your own input-plugin, this is the best to start with, because it is as simply as possible. It converts the testpictures from JPEG-files to a header file. The header files, containing the images ins compiled into the input-plugin. Once activated, the plugin simply serves those compiled-in-images in a loop.
   这个插件已经编译有了图像,没有摄像头也可以使用。假如你想使用你自己的输入插件,这个插件是最好的开始,因为最简单。它将 JPEG文件得到的testpicture 转换成一个 头文件。这个头文件,包含了从输入插件中得到的图像。当使用这个,这个插件仅仅提供了循环显示 编译好的图像。

  1. input_uvc.so

  2. This input-plugin grabs images from a Linux-UVC V4L2 compatible device, like a Logitech Quickcam Sphere AF or Logitech QC Pro 5000. The source code for this plugin is based on "luvcview" and was changed in many ways. In contrast to "luvcview" it initializes the new Logitech commands for pan/tilt/focus without the need for a helper library or fiddling with XML files, udev rules etc. It is right now the most exiting input plugin, because you can stream up to 960x720 pixel large images from your webcam at a high frame rate (>= 15 fps) without a mentionable CPU load. If you do not care for CPU load, it can even grab 1600x1200 large uncompressed images, compress them in software and stream them to clients.
   这个插件从一个 可移植的USB摄像头或者洛奇摄像头 抓取到 图像。这个插件的源代码是基于luvcview(V4L2开源工程),多种方法可以更改。对比原始的luvcview,现在的插件添加了洛奇这个新的摄像头功能,从而不需要一个帮助库或者没有用的XML文件,设备管理器等等。这是最广泛使用的输入插件,因为你可以采集最大到960*720分辨率的图像。假如你不关心CPU的消耗,它可以甚至可以抓取到 1600*1200 分辨率的图像,然后通过软件压缩这些图像,然后传输图像到 客户端。


  1. input_control.so

  2. This input-plugin only implements the pan/tilt control interface, leaving the video stream available for other applications. I use this to provide a web interface for others to control the pan/tilt of my Logitech Orbit AF while Skype does the audio and video stream. This works great at work where we have remote co-workers attend meetings via skype. They get to control the camera during the meeting.
    这个输入插件仅实现平移/倾斜控制接口,让视频流用于其他应用程序。我使用它来为他人提供网络接口来控制平移/我的罗技轨道倾斜虽然Skype没有自动对焦的音频和视频流。这个伟大的工程,我们在工作中有远程同事通过Skype出席会议。他们得到控制会议期间相机。


Output-Plugins

  1. output_http.so

  2. This plugin is a fully functional HTTP 1.0 webserver. It can serve files from a single folder and it can execute certain commands. For example it can serve a single JPEG file of the input plugin, or stream them according to existing M-JPEG standards. By serving files from a folder, it enables you to design your own webpage, that embeds the webcam images and streams. A working and stylish example for such a webpage is part of the MJPG-streamer package. Multiple instances of this plugin can be started in parallel, so the server-threads can operate with different passwords and layouts or command-restrictions.
这个插件是一个全功能的HTTP1.0 Web服务器。它可以服务一些单一的文件夹文件,也可以执行某些命令。例如,它可以成为一个单一的输入JPEG文件的插件,或流他们根据现有的M- JPEG标准通过服务文件夹中,它使您能够设计自己的网页,嵌入摄像头的图像和流。这样一个工作时髦的例子是一个网页MJPG-流光包的一部分。这个插件的多个实例可以同时启动,因此服务器的线程可以操作不同的密码和布局或命令的限制。


  1. output_file.so

  2. This plugin is used to store JPEG images of the input plugin in a specified folder. It can be used to grab images and just store them, or to forward them to a FTP account by executing a command after storing the picture. More documentation is available at the page output_file.
这个插件用来存储​​输入的JPEG图像在一个指定的文件夹插件。它可以用来抓取图像,只储存它们,或转发通过执行存储图片的命令他们到一个FTP帐户。更多的文档可以在页面output_file




阅读(2958) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

YunThanatos2015-04-13 20:05:57

多谢分享!!