Я работаю над виртуальной машиной и устанавливаю все, что мне нужно между ними ROS и Flask, я использовал код из https://github.com/emmanuel-senft/flask-ros.git, Я тестировал его на своем персональном компьютере с Linux, и он работает, вы можете посмотреть потоковое видео по адресу localhost. Я запускаю его на виртуальной машине, перехожу на внешний IP-адрес, а он не работает. У меня включен http, https. Надеюсь, вы можете мне помочь, я занимаюсь этим уже 1 неделю и не могу хорошо использовать свою виртуальную машину Google.
Вы можете сделать это на своем локальном 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 на брандмауэре:
Если вы хотите, чтобы правило применялось для выбора экземпляров по сетевым (целевым) тегам, выберите Указанные целевые теги, а затем введите теги, к которым должно применяться правило, в поле Целевые теги.
EXTERANAL_IP_OF_YOUR_VM:8080
проверить стриминговый сервис