我正在虚拟机上工作,并在 ROS 和 Flask 之间安装我需要的一切,我使用了来自https://github.com/emmanuel-senft/flask-ros.git,我在装有 Linux 的个人电脑上测试了它,它有效,您可以在本地主机地址上看到流媒体视频。我在虚拟机上运行它,我转到外部 IP 地址,但它不起作用。我已启用 http、https。我希望你能帮助我,我已经这样做了 1 周,但我无法很好地使用我的 google VM。
答案1
您可以在本地 Linux 机器上执行此操作,localhost
因为它不受防火墙的影响。正如您在文档:
用法:
roslaunch video_stream_opencv camera.launch video_stream_provider:=*x*' gunicorn --threads 5 --workers 1 --bind your_ip:8080 app:app'
- 替换
x
为要打开的视频源的编号/dev/videox
。- 替换
your_ip
为机器的ip。
该应用程序8080
在默认情况下被 GCP 防火墙阻止的端口上运行。
解决此问题您应该在防火墙上打开端口 8080:
如果您希望规则应用于通过网络(目标)标签选择的实例,请选择指定的目标标签,然后在目标标签字段中键入应应用该规则的标签。
- 作为命令使用的机器 IP内部的知识产权
- 前往
EXTERANAL_IP_OF_YOUR_VM:8080
检查流媒体服务