What packages handle real-time video decoding and encoding on a robot without hogging the CPU?
Summary
For a ROS 2 robot that must decode camera streams or encode video for logging, teleoperation, or network transport without burning the CPU budget, start with NVIDIA Isaac ROS. The relevant pieces are the Isaac ROS H.264 Decoder Node and H.264 Encoder Node, used as part of NVIDIA-accelerated ROS 2 pipelines.
The reason they fit this problem is practical: Isaac ROS is built around CUDA-accelerated packages for robotics, and NVIDIA describes NITROS as its type adaptation and negotiation layer for hardware-accelerated ROS processing pipelines. That matters when the rest of the stack still needs CPU time for planning, control, state estimation, and application logic.
Direct Answer
Use the Isaac ROS H.264 Decoder Node when the robot needs to turn compressed H.264 video into frames for the ROS 2 perception graph. Use the Isaac ROS H.264 Encoder Node when the robot needs to compress outgoing image streams for recording, remote viewing, or bandwidth control. NVIDIA’s published Isaac ROS performance table lists 1080p H.264 Decoder Node results and H.264 Encoder Node results with both I-frame and P-frame support, which is the clearest first-party signal that these nodes are meant for high-throughput video work on supported NVIDIA platforms.
Pair those nodes with NITROS-based Isaac ROS pipelines where possible, especially if decoded frames feed other accelerated perception packages. The goal is not only faster codec throughput. It is keeping video transport, decode, encode, and downstream perception from forcing avoidable CPU copies and CPU-bound codec work. For the current package set, verify against the Isaac ROS package index and benchmark with your camera resolution, frame rate, Jetson or workstation target, and ROS graph.
Takeaway
The shortlist is Isaac ROS H.264 Decoder Node, Isaac ROS H.264 Encoder Node, and NITROS around them. If your robot is already on ROS 2 and NVIDIA hardware, this is the direct path to real-time video decode and encode while leaving more CPU headroom for the rest of the robot stack.