闭路电视:修订间差异

来自工场百科
无编辑摘要
标签visualeditor
 
(未显示同一用户的1个中间版本)
第5行: 第5行:
==各摄像头地址==
==各摄像头地址==


若想直接访问各个网络摄像头的视频流,可以使用[http://www.videolan.org/vlc/index.html VLC]等软件打开它们。此时使用的用户名和密码是另一套,与总控制台不同。
若想直接访问各个网络摄像头的视频流,可以使用[http://www.videolan.org/vlc/index.html VLC Media Player]等软件打开它们。此时使用的用户名和密码是另一套,与总控制台不同。


{| class="wikitable" border="1"
{| class="wikitable" border="1"
第12行: 第12行:
! 位置
! 位置
! MAC地址
! MAC地址
! 视频流地址
! 内网IP
! 内网IP
|-
|-
| 1
| 1
| 门口
| 门口
| 8C-18-D9-A1-A0-1A
| E0:B9:4D:92:80:78
| rtsp://www.thu-skyworks.org:3201/live0.264
| 10.2.10.85
| 192.168.200.61
|-
| 2
| [[电池充电器]]
| 8C-18-D9-A1-A0-58
| rtsp://www.thu-skyworks.org:3202/live0.264
| 192.168.200.62
|-
| 3
| [[数控雕刻机]]
| CC-D2-9B-A9-03-09
| rtsp://www.thu-skyworks.org:3203/live0.264
| 192.168.200.63
|-
| 4
| [[3D打印机]]
| 24-0A-64-E4-E0-EB
| rtsp://www.thu-skyworks.org:3204/live0.264
| 192.168.200.64
|}
|}
上表给出的视频流地址为高分辨率(1280×720),若需要查看低分辨率视频(352×288),需要将地址中的<code>live0.264</code>改成<code>live1.264</code>。
===应对动态IP的方法===
''此方法适用于摄像头接入校园网的情况,目前摄像头已移入内网。''
若IP地址改变,在Linux下用
<code>sudo nmap -sn 59.66.250.0/24 | grep -B2 '8C:18:D9:A1:A0:1A\|8C:18:D9:A1:A0:58\|CC:D2:9B:A9:03:09\|24:0A:64:E4:E0:EB'</code>
命令扫描整个网段,可以看到如下扫描结果:
<nowiki>
Nmap scan report for 59.66.250.47
Host is up (0.056s latency).
MAC Address: 8C:18:D9:A1:A0:1A (Unknown)
--
Nmap scan report for 59.66.250.55
Host is up (0.0073s latency).
MAC Address: 24:0A:64:E4:E0:EB (AzureWaveTechnologies)
Nmap scan report for 59.66.250.56
Host is up (-0.061s latency).
MAC Address: CC:D2:9B:A9:03:09 (Shenzhen Bopengfa Elec&Technology CO.)
--
Nmap scan report for 59.66.250.92
Host is up (-0.074s latency).
MAC Address: 8C:18:D9:A1:A0:58 (Unknown)</nowiki>


==配置过程==
==配置过程==


服务器上使用[http://www.zoneminder.com/ ZoneMinder]收集网络摄像头(龙视安 LS-K04)的图像并将其广播。
服务器上使用[http://www.zoneminder.com/ ZoneMinder]收集网络摄像头(海康威视萤石C2C和C2 mini)的图像并将其广播。


# 添加[https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder 这个]PPA:<br><code>sudo add-apt-repository ppa:iconnor/zoneminder</code>
# 添加[https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder 这个]PPA:<br><code>sudo add-apt-repository ppa:iconnor/zoneminder</code>
# 安装ZoneMinder:<br><code>sudo apt-get install zoneminder</code>
# 安装ZoneMinder:<br><code>sudo apt install zoneminder</code>
# ZoneMinder在系统中注册了服务,必要时使用<code>service zoneminder start/stop/restart</code>来控制它的运行。
# ZoneMinder在系统中注册了服务,必要时使用<code>service zoneminder start/stop/restart</code>来控制它的运行。
# 将Apache的配置文件复制到正确目录下:<br><code>sudo cp /etc/zm/apache.conf /etc/apache2/conf-available/zoneminder.conf</code>
# 将[https://github.com/ZoneMinder/ZoneMinder/blob/master/distros/ubuntu1604/examples/nginx.conf Nginx配置文件示例]添加进www.thu-skyworks.org的配置文件。将所有zm改为cctv,php5改为php7.0
# 启用该配置文件,<tt>a2enconf</tt>程序会在<tt>/etc/apache2/conf-enabled</tt>下做一个同名软链接:<br><code>sudo a2enconf zoneminder</code>
# 访问 [http://www.thu-skyworks.org/cctv/ https://www.thu-skyworks.org/cctv/] ,添加Monitor。其中Source Type选Ffmpeg,Source Path填写<code>rtsp://<usernmae>:<password>@<address></code>
# 修改<code>/etc/apache2/conf-available/zoneminder.conf</code>的第一行为:<br><code>Alias /zm /usr/share/zoneminder</code> --> <code>Alias /cctv /usr/share/zoneminder</code>
# 访问 http://www.thu-skyworks.org/cctv/ ,添加Monitor。其中Source Type选Ffmpeg,Source Path填写<code>rtsp://<usernmae>:<password>@<address>/live0.264</code>


===解决无法查看视频===
===解决无法查看视频===
第95行: 第47行:


在新服务器上配置Zoneminder,遇到同样错误。由于这次HTTP服务器是Nginx,从[https://chiralsoftware.com/content/zoneminder-nginx-yes-it-works 这里]得知需要安装<code>nginx-extras</code>和<code>fcgiwrap</code>。并且<code>Options -> Paths -> PATH_ZMS</code>需要从默认的<code>/cgi-bin/nph-zms</code>改为<code>/cctv/cgi-bin/nph-zms</code>
在新服务器上配置Zoneminder,遇到同样错误。由于这次HTTP服务器是Nginx,从[https://chiralsoftware.com/content/zoneminder-nginx-yes-it-works 这里]得知需要安装<code>nginx-extras</code>和<code>fcgiwrap</code>。并且<code>Options -> Paths -> PATH_ZMS</code>需要从默认的<code>/cgi-bin/nph-zms</code>改为<code>/cctv/cgi-bin/nph-zms</code>
==== 2017年3月23日更新 ====
发现整个服务器同一时刻只能在客户端浏览器上输出一路视频,包括实时预览还是事件回放。在[https://forums.zoneminder.com/viewtopic.php?t=25117 这里]得知是因为<code>fcgiwrap</code>不会自己启动子进程。修改<code>/etc/default/fcgiwrap</code>中或<code>/etc/init.d/fcgiwrap</code>中的<code>FCGI_CHILDREN</code>无效,随后直接在<code>/lib/systemd/system/fcgiwrap.service</code>将<code>-c 20</code>加入<code>fcgiwrap</code>的启动参数,<code>systemctl daemon-reload</code>之后重启<code>fcgiwrap</code>和<code>zoneminder</code>,问题解决。
=== 用[http://felenasoft.com/xeoma/en/ Xeoma]探测到的萤石C2 mini码流地址 ===
[512x288 25 fps h264 1Mb] rtsp://10.2.10.85//PSIA/Streaming/channels/2
[1280x720 18 fps h264 2Mb] rtsp://10.2.10.85/
[1280x720 18 fps h264 3Mb] rtsp://10.2.10.85//11
[1280x720 18 fps h264 1Mb] rtsp://10.2.10.85//iphone/11?admin%3AATREDJ
[1280x720 16 fps h264 4Mb] rtsp://10.2.10.85//live0.264
[1280x720 16 fps h264 3Mb] rtsp://10.2.10.85//0/admin:ATREDJ/main

2017年3月23日 (四) 23:12的最新版本

在总控制台主页上单击“Montage”链接即可同时查看所有摄像头的视频

工场使用网络摄像头监控3D打印机数控雕刻机充电器焊台这些重要位置,服务器上的程序收集这些摄像头的视频流,显示在基于网页的总控制台上。要在总控制台查看闭路电视的实时图像,请点击这里登录。

各摄像头地址

若想直接访问各个网络摄像头的视频流,可以使用VLC Media Player等软件打开它们。此时使用的用户名和密码是另一套,与总控制台不同。

编号 位置 MAC地址 内网IP
1 门口 E0:B9:4D:92:80:78 10.2.10.85

配置过程

服务器上使用ZoneMinder收集网络摄像头(海康威视萤石C2C和C2 mini)的图像并将其广播。

  1. 添加这个PPA:
    sudo add-apt-repository ppa:iconnor/zoneminder
  2. 安装ZoneMinder:
    sudo apt install zoneminder
  3. ZoneMinder在系统中注册了服务,必要时使用service zoneminder start/stop/restart来控制它的运行。
  4. Nginx配置文件示例添加进www.thu-skyworks.org的配置文件。将所有zm改为cctv,php5改为php7.0
  5. 访问 https://www.thu-skyworks.org/cctv/ ,添加Monitor。其中Source Type选Ffmpeg,Source Path填写rtsp://<usernmae>:<password>@<address>

解决无法查看视频

系统日志标明Capturing正常,但浏览器中打开摄像头无法看到视频,同时日志中出现错误:

socket_sendto( /tmp/zm/zms-XXXXXXs.sock ) failed: No such file or directory

getStreamCmdResponse stream error: socket_sendto( /tmp/zm/zms-XXXXXXs.sock ) failed: No such file or directory - checkStreamForErrors()

  • 根据这里8楼给出的操作,无效。
  • 根据这里的二楼判断是CGI没有正常执行,但之前启用Apache的CGI模块没有效果。开始寻找正确配置Apache CGI模块的方法。
  • 这里了解到可能是libapache2-mod-perls未安装,并且重启浏览器才能看到效果。安装libapache2-mod-perls后重启浏览器,图像显示正常。

2017年3月16日更新

在新服务器上配置Zoneminder,遇到同样错误。由于这次HTTP服务器是Nginx,从这里得知需要安装nginx-extrasfcgiwrap。并且Options -> Paths -> PATH_ZMS需要从默认的/cgi-bin/nph-zms改为/cctv/cgi-bin/nph-zms

2017年3月23日更新

发现整个服务器同一时刻只能在客户端浏览器上输出一路视频,包括实时预览还是事件回放。在这里得知是因为fcgiwrap不会自己启动子进程。修改/etc/default/fcgiwrap中或/etc/init.d/fcgiwrap中的FCGI_CHILDREN无效,随后直接在/lib/systemd/system/fcgiwrap.service-c 20加入fcgiwrap的启动参数,systemctl daemon-reload之后重启fcgiwrapzoneminder,问题解决。

Xeoma探测到的萤石C2 mini码流地址

[512x288 25 fps h264 1Mb] rtsp://10.2.10.85//PSIA/Streaming/channels/2

[1280x720 18 fps h264 2Mb] rtsp://10.2.10.85/

[1280x720 18 fps h264 3Mb] rtsp://10.2.10.85//11

[1280x720 18 fps h264 1Mb] rtsp://10.2.10.85//iphone/11?admin%3AATREDJ

[1280x720 16 fps h264 4Mb] rtsp://10.2.10.85//live0.264

[1280x720 16 fps h264 3Mb] rtsp://10.2.10.85//0/admin:ATREDJ/main