Edit this page
Back to Projects List
ROS-IGTL-Bridge Video Streaming
Key Investigators
- Junichi Tokuda (BWH)
- Longquan Chen (BWH)
Project Description
Objective
- Integrate compressed video streaming in ROS-IGTL-Bridge
Approach and Plan
- Define ROS topic for video streaming
- Compile ROS-IGTL-Bridge with the latest OpenIGTLink with compressed video streaming feature.
Progress and Next Steps
Progress
- Solved a build error for OpenIGTLink in the Linux environment. See GitHub Issue Tracker.
- Tested OpenIGTLink with VP9 support on Linux.
- Added VP9 support in ROS-IGTL-Bridge
- Install video_stream_opencv module
- Install new OpenIGTLinkIF module with IGSIO integration. This adds compressed video streaming support in 3D Slicer.
- Tested video streaming from ROS-IGTL-Bridge to 3D Slicer using Virtual Box.
Next Steps
- Support more video formats (only BGR8 is supported currently) and codecs (e.g. AV1, H.265)
- ROS topic to subscribe should be configurable. Currently it is hard-coded in the C++ source file.
Illustrations
##Instructions:
- Download ROS-IGTL-Bridge from the CompressedVideoStreaming branch.
- Install video_stream_opencv module in ROS.
- Edit line 55 in ROS-IGTL-Bridge/src/ros_igtl_bridge.cpp and replace “IGTL_VIDEO_OUT” with “/webcom/image_raw”.
- Start video_stream_opencv module by calling “roslaunch video_stream_opencv webcam.launch”
- Start ROS-IGTL-Bridge by calling “roslaunch ros_igtl_bridge bridge.launch”. Configure it as a server.
- Start 3D Slicer, open OpenIGTLinkIF module, and connect to the ROS-IGTL-Bridge as a client.
Background and References