iriunwebcam 在 20.04 上无法运行

iriunwebcam 在 20.04 上无法运行

iriunwebcam (https://iriun.com) 在另一台 VMware 虚拟机上的 Ubuntu 20.04 LTS 和 Ubuntu 20.04 beta 上运行良好,但在真实 PC 上仍然无法运行。它在另一个虚拟机上的 Ubuntu 19.10 中也能正常工作。此外,我已确认它可以在另一台虚拟机上的 Fedora 31 中运行。

以下是lsof -i通过智能手机应用程序连接前后的结果。

  1. 在虚拟机上(20.04、19.10、Fedora 31)

    (1)从sp连接之前:

    COMMAND    PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    iriunwebc 2553 htakenaka   14u  IPv4  60002      0t0  UDP *:4698 
    iriunwebc 2553 htakenaka   15u  IPv6  60005      0t0  UDP *:4698 
    adb       2572 htakenaka    6u  IPv4  55976      0t0  TCP localhost:5037 (LISTEN)
    adb       2572 htakenaka   14u  IPv4  55962      0t0  UDP *:4698 
    adb       2572 htakenaka   15u  IPv6  55966      0t0  UDP *:4698 
    

    (2)从sp连接后:

    COMMAND    PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    iriunwebc 2078 htakenaka   22u  IPv4  73587      0t0  TCP Ubuntu1910-vmw:39256->192.168.79.201:4699 (ESTABLISHED)
    adb       2098 htakenaka    6u  IPv4  56531      0t0  TCP localhost:5037 (LISTEN)
    adb       2098 htakenaka   20u  IPv4  56514      0t0  UDP *:4698 
    adb       2098 htakenaka   21u  IPv6  56518      0t0  UDP *:4698 
    
  2. 在真正的电脑上

    COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME  
    adb     117743 hiro    7u  IPv4 1420502      0t0  TCP localhost:5037 (LISTEN)  
    

从以上结果可以看出,iriunwebcam 监听 4698/udp 端口​​以查找可用的智能手机,一旦建立连接,端口就会关闭,并从高端口到智能手机的 4699/tcp 建立 tcp 连接。

真实机上的问题是无法打开4698/udp端口,而虚拟机和真实机上都可以打开5037/tcp端口。

虚拟机和真实机的防火墙都开放了4698/udp和5037/tcp,当然如果关闭了,iriunwebcam手机APP是无法连接PCAPP的,但是即使端口关闭了,PCAPP也会开放端口。

我想知道为什么它无法在真实PC上打开4698 / udp端口。

以下是我的环境。
主机(真正的 PC):2011 年末的 iMac(Core i3,16GB RAM)
VMware Workstation 15.5.2 用于虚拟机。
虚拟机通过主机桥接到 LAN。
我没有为虚拟机网络接口使用 NAT。


我尝试使用 iriunwebcam (https://iriun.com)。起初,我在 VMware 虚拟机上的 Ubuntu 20.04 beta 中安装了它,它成功运行。然后,我在真正的 PC 上的 Ubuntu 20.04 LTS 中安装了它,但它不起作用。应用程序本身成功启动,但它无法从智能手机应用程序找到连接。

lsof -i显示 iriunwebcam 可以在 20.04 beta 中打开 4698/udp,但在 LTS 中不能。iriunwebcam 似乎使用该端口接收来自智能手机应用程序的连接。

我想知道为什么它无法在 20.04 中打开端口。从测试版到 LTS,套接字连接或其他方面有什么变化吗?

答案1

我遇到了同样的问题,并在安装了 Ubuntu 20.04 和 19.10 的虚拟机中对其进行了测试。两者都立即生效。然后,我再次在笔记本电脑上使用有线网络连接尝试了该操作,因为虚拟机中只有有线连接可用,而且也成功了!经过多次尝试和搜索,我终于通过 WIFI 适配器(我主要使用无线方式)使其工作,最终我将 WIFI 适配器名称设置为默认的 wlan0。要更改适配器名称,请执行以下操作:

  1. 打开 /etc/default/grub
  2. 将“net.ifnames=0”添加到 GRUB_CMDLINE_LINUX_DEFAULT 行。在我的系统上,它现在看起来像这样:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash net.ifnames=0"
  3. 保存文件
  4. 运行 update-grub 并重新启动机器
  5. 您可能需要重新连接到网络并输入密码

答案2

尝试sudo modprobe v4l2loopback exclusive_caps=1

答案3

您也可以尝试使用以下命令在防火墙设置中添加规则。
ufw allow from <your-device-local-ip>
应该从该行中的“192.xxx”开始。
它对我有用

答案4

对我来说,iriun 网络摄像头在 ubuntu 18.04 中运行良好(在 grub 中设置 if_names=0),但在 ubuntu 20.04 中,只要我启动客户端,它就会显示一条消息“初始化失败,您可能需要运行:sudo modprobe v4l2loopback exclusive_caps=1”(当然,if_names=0)。运行此命令没有效果。然而,DroidCam 运行完美。虽然我注意到 iriun 的图片质量比 DroidCam 更好。

相关内容