【问题标题】:Raspberry pi FTP not working with IP cameraRaspberry pi FTP 无法与 IP 摄像头一起使用
【发布时间】:2018-12-11 02:00:16
【问题描述】:

我已经尝试了两个星期来解决这个问题,现在我很绝望。

我想设置一个小型家庭监控系统,如果它检测到运动,它会将视频记录到硬盘驱动器。所以我买了一个Reolink RLC-420 网络摄像机。

关于相机的一些事实:

  • 它支持HTTPS、SSL、TCP/IP、RTSP(实时流协议)DHCP、FTP、ONVIF和一些more
  • 我给了它一个与我的路由器在同一子网中的静态 IP
  • 我将路由器设置为默认网关

初始设置:

将相机连接到路由器后,我可以通过其网络界面和连接到同一网络的 Windows 笔记本电脑上的“Reolink 客户端”访问它。使用“Reolink Client”,我能够在我的笔记本电脑上设置运动检测和流+录制视频。

问题:

因为我不希望我的笔记本电脑 24/7 全天候运行,所以我想到了改用 Raspberry Pi。我以前从未使用过 Raspberry,但最终我在其上安装了 Raspian(Pi 3B+)并将其连接到我的网络。我也给了树莓一个静态 IP。

解决方案试用 1(Raspberry 上的 ONVIF 软件)

但是我意识到 Reolink 客户端不适用于 Raspbian/Linux。也没有可以工作的 3d 方软件(或者至少我没有让它工作)。

解决方案试用 2(MotionEye 操作系统)

接下来的尝试是在我的 Raspberry 上安装 motioneye-OS,这是一个用于摄像头监控的特殊操作系统。我关注了tutorial,但在我不得不将我的网络摄像机添加到motioneye软件的地方卡住了。教程中的人使用 USB 网络摄像头,但我没有找到任何有关 IP 摄像头的教程。

解决方案试用 3(利用摄像头的 RSTP 流)

由于相机支持 RSTP,我要求支持 RSTP-URL。 当我尝试使用 VLC-Player 流式传输视频时,我只收到来自相机的音频,屏幕是黑色的。这是 RSTP-URL:rtsp://(用户名):(密码)@(IP 地址):554//h264Preview_01_main。查看来自 Reolink 支持here的邮件

解决方案试用4(使用树莓作为FTP服务器)

由于这不起作用,我再次安装 Raspbian 并尝试了不同的方法。我关注了这个tutotial on how to set up an FTP server using the raspberry(很抱歉它是用德语写的)。我按照描述安装了 ProFTPD,但遗漏了最后一步,即通过 Internet 访问它。我只想在我的本地网络中连接到它,这样应该没问题。

我使用 FileZilla 连接到 FTP 服务器并来回移动一些文件以对其进行测试。除了在一段时间不做任何事情时断开连接之外,它工作正常。见测试截图here

但是,当我在 Reolink Client 中输入相同的设置时,我在按下“FTP-Test”时收到一条错误消息。见截图here

为了消除我的 Raspberry FTP 服务器问题的可能性,我在cameraftp.com 创建了一个帐户,这是一个专门用于相机 ftp 上传的在线 ftp 服务。在此处创建帐户并输入新设置(如 ftp 服务器地址、用户名、密码等)后,我收到消息“登录成功”。但是当我用 FileZilla 连接到它时,我看到只有文本文件而不是相机视频。我想这是因为我只使用了网站的试用版,还没有支付任何费用。但是,每次相机应该上传视频时,都会创建一个文本文件,以便连接正常工作。

现在终于到了实际问题:

  • 我的 Raspberry Pi ProFTPD 服务器是否有问题?正如我所写的,它使用 FileZilla 可以正常工作。如果我在本地网络中使用 FTP 服务器,有什么特别的事情要做吗?

  • 是否有低于 100 美元的 NVR(网络视频录像机)能够在检测到运动时保存摄像机的 2560x1440p 视频?我找不到一个,但如果有人碰巧知道一个,请告诉我。

  • 关于如何在检测到运动时从相机录制视频的任何其他想法?我不想花超过 100 美元,但我已经有了硬盘驱动器、路由器、以太网电缆等。

  • 如果我可以将 IP 摄像机直接插入树莓的以太网端口,那就太棒了。这样我就不会给我的家庭网络带来压力。

如果您能在我的一个解决方案试验中指出问题出在哪里,我会非常高兴。 也欢迎其他解决方案。

对于任何拼写/语法错误,我深表歉意,但我不是以英语为母语的人。 :)

【问题讨论】:

  • 您似乎已将 ProFTPD 设置为需要 TLS,我怀疑相机是否默认执行 TLS FTP。我在相机的 FTP 设置页面上看不到其他选项,但也许 TRANSPORTMODUS 可以更改为 TLS。或者,也许您可​​以禁用 ProFTPD 中的所有 TLS 内容,或者只是为了测试,或者如果服务器仅在您的内部网络中,则永久禁用。
  • 我禁用了 TLS,我可以使用“仅使用普通 FTP(不安全)”选项通过 FileZilla 连接到它,但相机再次无法连接到它。 TRANSPORTMODUS 有两个其他选项:“PASV”和“PORT”。我想我可以用它在主动和被动 FTP 之间切换。

标签: ftp camera raspberry-pi raspberry-pi3 ip-camera


【解决方案1】:

使用主动 FTP 而不是被动 FTP 可能会出现问题。活动 FTP 需要连接到可能被防火墙阻止的随机数据端口。尝试从 FileZilla 进行活动连接,看看这是否仍然有效。或者从相机中选择被动,然后看看这是否有效。

您也可以试试我目前正在开发的 IP Camera FTP 服务:

https://app.comsci.co.uk/camac

在测试阶段全部免费,如果商业化,订阅将与运行 NVR 的电费相当。

支持生成警报、解码视频、自动删除历史数据、通过关键文件轻松浏览图片。

除了浏览器访问之外,还有一个 Android App 和一个 windows App 可用。

【讨论】:

  • 感谢您的回答。我尝试通过主动和被动 FTP 使用 FileZilla 连接到它,我可以通过任何一种方式连接到它。如果我在本地网络中连接到防火墙,防火墙应该不是问题,对吧?我肯定会试一试您的 FTP 服务,但我更喜欢将视频存储在我家的硬盘上,这样我就不会对网络造成太大压力。
  • 好的。听起来这不是主动/被动问题。我会研究 ProFTPD 日志文件,如果可能的话,在调试/详细模式下运行它以记录相机发送的内容。或者,我认为您可以在服务器模式下运行 FileZilla 并调试它报告的内容
  • 所以我下载了适用于 Windows 的 FileZilla Server,启动它并从我的相机连接到它。它工作正常,相机能够将视频和图片发送到我的笔记本电脑。好像是Raspberry ProFTPD Server的配置有问题。令我惊讶的是,我可以毫无问题地从笔记本电脑连接到 Raspberry FTP 服务器。
【解决方案2】:

我对proftpd 也有同样的问题。我终于放弃并尝试了vsftpd。像魅力一样工作。我使用 tcpdump 试图弄清楚,但我所看到的只是在连接开始后重新链接发送 FIN,ACK。 Reolink 在 PC 上对 filezilla 运行良好。此外,windows ftp 客户端与 pi 上的 proftpd 配合得很好。

reolink 和 pi 之间不需要路由器。只需使用静态 IP。

如果您尝试使用 vsftpd,请不要 chroot 您的本地用户。这样做时我无法创建目录。

【讨论】:

    【解决方案3】:

    我刚刚在此处发布了一篇关于如何设置 RPi + Reolink 安全摄像头的博文:https://blog.spiak.sk/turn-raspberry-pi-to-home-dvr.html

    但总之:

    要在 RPi 上安装 FTP,您需要:

    apt install -y vsftpd
    vi /etc/vsftpd.conf
    

    配置详情:

    listen=NO
    listen_ipv6=YES
    anonymous_enable=NO
    local_enable=YES
    local_umask=022
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_file=/var/log/vsftpd.log
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
    write_enable=YES
    allow_writeable_chroot=YES
    

    接下来你需要设置一个 FTP 用户:

    useradd cam1 -G ftp -d /mnt/sda1/cam1
    chown cam1:ftp /mnt/sda1/cam1
    passwd cam1
    

    难题的最后一部分是在 Reoling FTP 设置中使用 RPi IP 地址设置相同的用户 - 测试 + 保存并完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多