最新消息:

树莓派3-家庭监控软件Zoneminder控制摄像头

Raspberry Pi 少儿编程 1621浏览 0评论
树莓派3家庭监控

控制摄像头

Zoneminder提供设施从Web界面控制相机和一定程度的自动。云台变焦(PTZ)摄像机有一个范围广泛的能力和使用大量不同的协议使得任何一种通用的解决方案可能很难控制。为了解决这两个关键途径Zoneminder采用绕过这个问题。

定义的能力

对于您使用的每个相机模型,必须创建相机功能表中的条目。这些指示相机支持什么功能,并确保接口仅显示相机支持的这些功能。有一个非常大的数量的能力,可以支持,这是非常重要的是,在这张表中的条目反映了相机的实际能力。例如少数能力包括在ZoneMinder,这些可以用’是’或修改。

控制脚本

Zoneminder本身一般不提供发送命令相机或接收响应的能力。它所做的是从Web界面的中介运动请求到一个标准的命令集,这些命令被传递给控制能力中定义的脚本。示例脚本是在ZoneMinder支持多个串口或网络协议提供,但它可能是许多相机的新剧本将被创建。这些可以仿照例子的,或者如果控制命令已经从其他应用程序存在,那么脚本可以作为ZoneMinder和那些命令之间的“胶水”层。

应该强调的是,控制和能力的Zoneminder元素是不能够支持框中的每个摄像机。一定程度的发展可能是需要许多相机。

控制监视器

如果您已经定义了您的系统有可控的监视器,并且您正在看一个配置为控制的监视器,然后点击“控制”链接沿窗口的顶部将改变的短事件列表区到一个控制区。您先前定义的功能,确定在这个窗口中显示的是什么。一般来说,您将有一个平移/倾斜控制区域,随着一个或一个辅助区域,如变焦或聚焦控制到一边。如果你有预设的支持,那么这些将是在窗口的底部附近。控制监视器的正常方法是通过点击适当的图形,然后通过控制脚本发送一个命令到相机本身。这可能有时需要一个明显的延迟相机响应之前。

通常情况下,控制箭头是敏感的,你点击他们的地方。如果你有一个摄像头,允许不同的速度进行平移和缩放等,然后单击箭头的点附近将调用速度快而点击附近的箭头基地将放缓。如果您定义了连续的运动,那么正在进行的活动可以停止通过点击箭头之间的区域,这将是一个图形的情况下,平移/倾斜控制或一个字的情况下,变焦和聚焦控制等。

一定的控制能力,如映射的运动允许直接控制通过点击图像本身时,在浏览器中直接支持流式图像。用这种方式,你可以只需点击你感兴趣的区域的图像,相机将在该点上。您还可以使用直接的图像控制的相对运动时,您点击的图像区域定义的方向和距离远离中心的图像确定的速度。由于它并不总是很容易估计的中心附近的图像的方向,有源区不启动,直到一个很短的距离远离中心,导致在中间的图像的“死区”区域。

控制流

在ZoneMinder如何控制相机工作的一个基本的了解还有很长的路要走在未来的调试问题。重要的是要注意的是,许多“相机控制”脚本是用户提供的,它是完全可能的,他们打破在未来的版本升级。

  • 依托“Zoneminder特定的相机模型控制协议。这些“控制”协议不过是Perl包坐落在/usr/share/perl5/ZoneMinder/Control/(在Ubuntu发行版),当你调用调用Zoneminder PTZ操作

  • 当你把一个“协议”为云台摄像机,你知道在哪里可以找到有效地让Zoneminder最终控制摄像机运动的perl文件

  • 让我们举个例子,假设你是配置Foscam 9831W相机,这相机通过“9831w”协议通讯。这基本上意味着当你移动相机,通过ZoneMinder,它会调用/usr/share/perl5/ZoneMinder/Control/FI9831w.pm来控制

  • ZoneMinder还维持在一个表协议配置参数称为控件在数据库。此表用于存储参数,如相机是否支持连续移动、缩放等。

  • 控制表用来建立PTZ Web接口,例如,一个fi9831w相机不支持变焦–>所以当你打开Zoneminder
    PTZ接口通过Web控制台并导航到fi9831w相机,变焦选项将不会显示。它知道不给这个因为fi9831w对照表条目指定不支持缩放。请注意,您在控制台中编辑这些参数,通过源->控制>控制类型>编辑

  • 如果你看任何控制协议文件,你会发现它像moverelup或moveconleft等功能>这是最终用来移动相机的功能,预计贡献者实施失踪的相机配置文件填写这些功能与适当的相机的具体命令。这样,核心Zoneminder代码不需要担心相机的具体命令。它只需要知道的是照相机的特点和accordinfly调用抽象的命令在协议Perl文件是Perl文件,相机实施细节的责任。所以,如果你面对的是云台不工作的问题,这些协议文件你应该调试。

控制能力

如果你有一个摄像头,支持云台控制,希望用它与ZoneMinder那么你需要做的第一件事是确保它在功能表准确的录入。要这样做,您需要转到监视器配置对话框的控制选项卡,并选择“编辑”,它由控制类型选择框列出。这将带来一个新的窗口列表,用一个简短的总结,现有的功能。要编辑现有的修改功能,请选择问题中的“能力”的“身份”或“名称”,或单击“添加”按钮来添加新的控制能力。这两种方法都将创建一个新的窗口,在熟悉的风格,与标签沿顶部和下面的表格字段。在功能表的情况下,有一个大量的设置和标签,这些都是简要地解释以下的平均和使用。

主要标签

Name

这是控制能力的名称,它通常是有意义的名称的能力后,相机模型或协议正在使用。

Type

是否使用本地(通常是串行)或网络控制协议的能力。

Command

这是一个脚本或应用程序,将地图Zoneminder控制命令标准规定了等效控制协议命令的完整路径。这可能是其中的一个例子zmcontrol运*。pl脚本或者别的什么东西。

Can Wake/可以唤醒

这是第一个实际能力定义。检查这个框表示存在一个协议命令从一个休眠状态唤醒摄像机。

Can Sleep/可以睡眠

相机可以放在睡眠。

Can Reset/可以重置

该相机可以复位到先前定义的状态。

移动标签

可以移动

该相机是能够移动,即平移或倾斜。

可以斜走

相机可以对角移动。有些设备只能在一个时间一个垂直或水平移动。

可以映射

摄像机可以在内部映射一个图像上的一个点,以一个精确的运动程度,在图像中的点的中心。

可以移动的绝对

相机可以移动到一个绝对位置。

相对运动

相机可以更多地到一个相对位置,例如7点左或上。

可以连续

相机可以连续移动在一个明确的方向,直到被告知停止或移动限制,如左。

平移标签

平移

相机可以平移,或水平移动。

Min/Max Pan Range

如果相机支持绝对运动这是最小和最大的泛坐标可以被指定,例如100到100。

Min/Man Pan Step

如果相机支持相对运动,这是可以指定的最小和最大的运动量。

Has Pan Speed

相机支持规格的平移速度。

Min/Max Pan Speed

支持的最小和最大平移速度。

Turbo Pan

相机支持一个额外的涡轮盘速度。

Min/Max Pan Speed

实际涡轮转速。

Tilt Tab

倾斜功能的定义

伸缩标签

可以放大

相机可以放大。

可变焦的绝对

相机可以放大到一个绝对的位置。

可变焦相对

该相机可以放大到一个相对位置。

可变焦连续

相机可以连续放大或缩小,直到被告知停止或缩放限制。

Min/Max Zoom Range

如果相机支持绝对变焦,这是可以指定的最小和最大的变焦金额。

Min/Man Zoom Step

如果相机支持相对的缩放,这是可以指定的最小和最大的变焦变化量。

具有变焦速度

相机支持缩放速度的规范。

Min/Max Zoom Speed

支持的最小和最大的缩放速度。

聚焦标签

聚焦功能的定义,“缩放”选项卡的字段,但具有以下附加功能。

可以自动对焦

相机可以自动对焦。

White Tab

白平衡功能的定义

Iris Tab

虹膜控制功能的定义

预置标签

具有预置

相机支持预设位置。

Num预置

多少个预置摄像机支持。如果相机支持大量的预置的话很有道理在这里指定的更合理一些,20或更少的建议。

有家预设

相机有一个定义的“家”的位置,通常在其范围的中点。

可以设置

相机支持通过其控制协议设置预置位置。

控制脚本

与Zoneminder控制摄像机第二个关键因素是确保适当的控制脚本或应用现状。一小部分的示例脚本,包括ZoneMinder和可以直接使用或作为发展的基础。控制脚本运行的原子性,即一个请求的动作从网页界面的结果在一个执行脚本和无状态信息维护。如果你需要保存协议,那么你应该确保你的脚本做为ZoneMinder在控制方面没有相机的状态概念的状态信息。

如果你正在写一个新的控制脚本,那么你需要确保它支持ZoneMinder将传递给它的参数。如果你已经有了脚本或应用程序控制你的相机,该脚本将只充当Zoneminder控制胶将通过为现有应用程序的参数的理解。如果你正在写一个脚本来支持一个新的协议,那么你将需要转换成的参数传递到脚本到等效协议命令。如果您已仔细定义了上面的控制功能,那么您应该只期望对应于这些功能的命令。

传递给控制脚本的参数的标准组定义如下:

  • –device= : 这是从监视器定义的控制装置。如果没有指定设备,则不存在。

  • —address=

    :这是监视器定义的控制地址。这通常是一个主机名或IP地址的网络摄像机或一个简单的数字为其他相机摄像机。

  • –autostop= : 这指示是否自动超时应适用于’一’给定的命令。它将只包含“”continuous
    ‘命令,如下所示,将小数秒超时,大概分数。

  • —command= : 指定要执行的脚本的命令。有效的命令如下。

  • –xcoord=, –ycoord= : 这指定了需要它们的命令的x和/或Y坐标。这些通常是绝对的或映射的命令。

  • —width=,–height= :此指定当前图像的宽度和高度,用于映射的运动命令,其中坐标值通过的必须有上下文。

  • –speed= : 如果适当的话,指定命令应该使用的速度。

  • —panspeed=,–tiltspeed=:这表明特定的平移和倾斜的速度为对角线的运动,这可能允许不同的运动速率的水平和垂直分量。

  • –step=:如果适当的话,指定命令应该使用的运动量。通常只用于相对命令。

  • —panstep=,–tiltstep=:这表明特定的平移和倾斜的步骤,可以允许不同数量的运动水平和垂直分量的对角运动。

  • –preset= :这指定了相关的命令应操作的特定预设。

上面列出的命令选项可以将以下命令中的一个作为参数。

wake醒来

唤醒相机。

sleep睡觉

送相机睡觉。

reset复位

重置相机。

move_map

将映射到图像上指定位置的移动。

move_pseudo_map

作为move_map以上。伪映射的运动,可以使用时,映射的运动是不支持的,但相对运动是在其中的情况下映射的运动可以通过仔细校准大致近似。

move_abs_ <方向> move_abs_<direction>

移动到指定的绝对位置。方向元素给出了一个提示到要去的方向,但可以省略。如果这将是一个“上”、“下”、“左”、“右”、“左上”、“义”、“downleft”或“彻头彻尾的”。

move_rel_ <方向> move_rel_<direction>

在指定的方向上移动指定的数量。

move_con_ <方向> move_con_<direction>

在给定的方向不断移动,直到被告知停止。

move_stop

停止任何可能正在进行中的运动。

zoom_abs_ <方向> zoom_abs_<direction>

缩放到指定的绝对缩放位置。方向元素给出了一个提示到要去的方向,但可以省略。如果存在的话,它将是一个“远程”或“宽”。

zoom_rel_ <方向> zoom_rel_<direction>

缩放指定方向上的指定数量。

zoom_con_ <方向> zoom_con_<direction>

连续放大在给定的方向,直到被告知停止。

zoom_stop

停止任何可能正在进行中的缩放。

focus_auto

集聚焦是自动的。

focus_man

设置聚焦为手动。

focus_abs_ <方向> focus_abs_<direction>

聚焦到指定的绝对焦点位置。方向元素给出了一个提示到要去的方向,但可以省略。如果存在的话,它将是“近”或“远”的一个。

focus_rel_ <方向> focus_rel_<direction>

将指定的金额集中在给定的方向上。

focus_con_ <方向> focus_con_<direction>

一直专注在既定的方向,直到被告知停止。

focus_stop

停止任何可能正在进行中的聚焦。

white_ <命令> white_<subcommand>

根据焦点命令,除了这个方向可能是“在”或“出”。

iris_ <命令> iris_<subcommand>

根据焦点命令,除了方向可能是“打开”或“关闭”。

preset_set

将给定的预置设置为当前位置。

preset_goto

移动到给定的预置。

preset_home

移动到“家”预设。

原文:http://zoneminder.readthedocs.io/en/latest/userguide/cameracontrol.html

您必须 登录 才能发表评论!