Hardware: Jetson Orin Nano 8GB Developer Kit Software: Fresh flash of JetPack 6.2.1 (L4T 36.4.4) Docker Image: nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_77e6a678c2058abf96bedcb8f7dd4330
Problem Summary: After a successful build of the ZED ROS 2 driver inside the official Isaac ROS container, the driver fails to launch cleanly. It enters a degraded mode, running but logging multiple ffmpeg
errors related to a missing libx264
encoder, which prevents it from publishing usable video data.
-
Follow the official “Isaac ROS ZED Setup” guide from the Stereolabs website precisely. The
colcon build
of the ZED ROS 2 driver completes successfully inside the container. -
Verify the SDK: Confirm that the non-ROS
/usr/local/zed/tools/ZED_Explorer
tool works correctly inside the container, proving the ZED SDK and hardware access are functional. -
Attempt to launch the ROS 2 driver inside the container with the recommended command:source install/setup.bash
ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zed2i enable_ipc:=false
Observed Result:
-
The node starts and continues to run (the cursor flashes).
-
The startup log shows multiple red errors:
[ERROR] [zed.zed_node]: Failed to load plugin image_transport/ffmpeg_pub, error string: unknown encoder: libx264
-
Running
ros2 topic list
in a second terminal confirms that all ZED topics are being advertised.
The ffmpeg
library in the base Isaac ROS Docker image appears to be missing the libx264
codec. This prevents the ZED driver’s image_transport
plugins from loading. Although the node does not crash, it cannot publish usable video data, making it non-functional for any vision-based tasks. The ffmpeg
package in the official Docker image needs to be fixed.