如何在局域网内其他电脑上查看Motion的USB摄像头流?
看起来你已经在Motion配置里做了关键的设置(stream_localhost off),但还是没法从局域网内的笔记本访问摄像头流,反而本地还能通过localhost:8080访问,我来帮你排查几个常见的问题:
务必重启Motion服务:修改配置文件后,新的设置不会自动生效,必须重启服务。你可以在终端里执行这个命令:
sudo systemctl restart motion如果你的系统用的是旧的init系统,就换成:
sudo service motion restart很多时候就是因为忘了这一步,配置没更新,导致外部设备还是连不上。
检查防火墙是否挡住了端口:Linux默认的防火墙(比如ufw)很可能会拦截外部设备对8080端口的访问。你可以先临时关闭防火墙测试:
sudo ufw disable然后用笔记本尝试访问Linux主机的局域网IP:8080。如果能成功访问,就说明是防火墙的问题,接下来要永久允许8080端口的TCP流量:
sudo ufw allow 8080/tcp sudo ufw enable确认局域网IP和网段一致性:首先得搞清楚你的Linux主机在局域网内的真实IP,执行下面的命令查看:
ip a找到类似
192.168.1.100这样的局域网地址(注意不要选127.0.0.1)。然后确保你的笔记本和主机在同一个网段(比如都是192.168.1.x),如果不在同一个网段,肯定没法访问。另外,你可以在Linux主机自己的浏览器里输入这个局域网IP:8080试试,如果能打开,说明配置本身没问题,问题出在网络或防火墙;如果打不开,那可能还是配置有遗漏。核对配置文件的其他细节:再仔细检查一下配置文件,看看有没有其他可能限制访问的选项。比如有没有设置
stream_auth_method或者stream_authentication这类需要账号密码的认证项?如果有的话,笔记本访问时需要输入对应的凭据。另外,用下面的命令确认8080端口确实被Motion占用,没有被其他服务抢走:netstat -tulpn | grep 8080
备注:内容来源于stack exchange,提问作者xxxVxxxlinux

