Title: Best practice for streaming D435 color + depth over Ethernet from a Jetson Orin Nano to a remote PC?
Setup: D435 (realsense2_camera) on a Seeed reComputer Jetson Orin Nano Super, MAXN SUPER. Remote Ubuntu 22.04 desktop. Direct gigabit Ethernet on a dedicated subnet, NTP-synced with chrony. ROS 2 Humble, default rmw_fastrtps_cpp.
Goal: run the camera node on the Jetson, consume color + depth on the remote PC over Ethernet.
What happens: locally on the Jetson everything is perfect (30 fps, ~50 ms, stable). Over Ethernet the RAW image topics barely flow:
- /camera/color/image_raw ~0.7 fps
- depth/image_rect_raw similar
- small topics (camera_info, metadata) ~21 fps
Subscribing from the remote also degrades the publisher's local rate/latency. CPU is well under 100% the whole time, so it reads like the DataWriter blocking on network I/O and large raw frames fragmenting/dropping.
Questions:
1. Recommended best practice for full frame rate camera streams (color + depth) from Jetson to remote over Ethernet, JPEG via image_transport or H.264/H.265 via ffmpeg_image_transport?
2. What is the accepted way to stop a remote subscriber from disturbing the camera's main stream, a relay/republish node, or a bridge (zenoh-bridge-ros2dds / Foxglove) so the DataWriter only serves a local subscriber over shared memory?
Already tried: SENSOR_DATA/best_effort QoS, raised net.core.rmem_max/wmem_max, FastDDS XML with large SHM + socket buffers, FASTDDS_BUILTIN_TRANSPORTS=LARGE_DATA, a quick CycloneDDS test, confirmed it is not a clock issue. Thanks for any pointers.
-
Hi Koushik G N It used to be possible to stream depth and color from a D435 over an ethernet connection with the RTSP protocol, though its capabilities were limited and this feature has now been removed from the RealSense SDK.
https://dev.realsenseai.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras/
The officially supported means of streaming RealSense over ethernet (including on ROS2) is now to use the RealSense D555 camera model that has a built-in RJ45 ethernet connector.
https://www.realsenseai.com/products/d555-poe/
D555 has built-in native support for ROS2 (including Humble), enabling topics to be streamed from the camera over ethernet at 30 FPS without having to install additional software such as a ROS wrapper.
If you need to use the D435 camera model then the now-removed ethernet networking tool linked to above (which is still available in older versions of the RealSense SDK) will likely be your best option. FPS performance in ROS is usually very low (1 to 3 FPS) using non-USB connection methods such as ethernet or wi-fi with pre-D555 camera models.
-
Hi Koushik G N Do you require further assistance with this case, please? Thanks!
Please sign in to leave a comment.
Comments
5 comments