视频流应用程序无法在 GCP 上运行,但可以在本地 PC 上运行

视频流应用程序无法在 GCP 上运行,但可以在本地 PC 上运行

我正在虚拟机上工作,并在 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:

  1. 设置网络标签在您的虚拟机上按照以下步骤操作
  2. 创建新的防火墙规则打开允许端口到你的网络标签

如果您希望规则应用于通过网络(目标)标签选择的实例,请选择指定的目标标签,然后在目标标签字段中键入应应用该规则的标签。

  1. 作为命令使用的机器 IP内部的知识产权
  2. 前往EXTERANAL_IP_OF_YOUR_VM:8080检查流媒体服务

相关内容