- ROS image publisher : Publishing ROS Image
- ROS_stream converter : Subscribing ROS Image & Converting ROS Image into numpy data & Sending data
- Janus server with docker
- Observation system : browser
Publish image with ROS
In package
$ catkin_make
$ source ./devel/setup.bash
$ rosrun ros_opencv_pub ros_opencv_pub
- Peer connection with Janus server
- Convert ROS image into numpy data
- After subscribing ROS image, convert it to numpy data
- Send data to a peer
In package
$ conda activate aio2
(I used my own virtual env of python3)
$ catkin_make
$ source ./devel/setup.bash
$ rosrun test janus.py
prepare to receive signalling from peers
$ sudo docker pull canyan/janus-gateway:latest
$ docker run -itd -p 8088:8088 -p 8000:8000 --name janus janus /bin/bash -c "/root/janus-gateway/run_janus.sh;/bin/sh"
Browser address : http://127.0.0.1:8000/videoroomtest.html
More information : janus-gateway
You can check the ROS-Janus stream through browser.
It helps to create new video room. You can join the room with specific url.
ex) http://127.0.0.1:8000/videoroomtest.html?room=9999
It shows the room list.
- https://janus.conf.meetecho.com/docs/videoroom.html
- https://janus.conf.meetecho.com/docs/JS.html
- https://github.com/aiortc/aiortc/tree/28cf22c2a82136784cc8ece6ca82143afdba5c86/examples/videostream-cli
Janus API documentation helps how to use and write Janus API with json.