{"id":28421710,"url":"https://github.com/nvidia-isaac-ros/isaac_ros_compression","last_synced_at":"2026-05-01T05:01:43.542Z","repository":{"id":108583987,"uuid":"553105419","full_name":"NVIDIA-ISAAC-ROS/isaac_ros_compression","owner":"NVIDIA-ISAAC-ROS","description":"NVIDIA-accelerated data compression","archived":false,"fork":false,"pushed_at":"2026-02-03T05:12:25.000Z","size":293,"stargazers_count":64,"open_issues_count":10,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-03T18:41:42.198Z","etag":null,"topics":["compression","gpu","jetson","nvidia","ros2","ros2-humble"],"latest_commit_sha":null,"homepage":"https://developer.nvidia.com/isaac-ros-gems","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NVIDIA-ISAAC-ROS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-17T18:13:52.000Z","updated_at":"2026-02-03T04:58:40.000Z","dependencies_parsed_at":"2025-02-28T00:29:24.884Z","dependency_job_id":"cb0ff1a3-9978-45db-baa1-e2ace1f5460d","html_url":"https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_compression","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/NVIDIA-ISAAC-ROS/isaac_ros_compression","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-ISAAC-ROS%2Fisaac_ros_compression","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-ISAAC-ROS%2Fisaac_ros_compression/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-ISAAC-ROS%2Fisaac_ros_compression/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-ISAAC-ROS%2Fisaac_ros_compression/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NVIDIA-ISAAC-ROS","download_url":"https://codeload.github.com/NVIDIA-ISAAC-ROS/isaac_ros_compression/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-ISAAC-ROS%2Fisaac_ros_compression/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29643960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compression","gpu","jetson","nvidia","ros2","ros2-humble"],"created_at":"2025-06-05T06:09:24.283Z","updated_at":"2026-05-01T05:01:43.533Z","avatar_url":"https://github.com/NVIDIA-ISAAC-ROS.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Isaac ROS Compression\n\nNVIDIA-accelerated data compression.\n\n\u003cdiv align=\"center\"\u003e\u003ca class=\"reference internal image-reference\" href=\"https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.4/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_compression/isaac_ros_compression_nodegraph.png/\"\u003e\u003cimg alt=\"image\" src=\"https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.4/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_compression/isaac_ros_compression_nodegraph.png/\" width=\"800px\"/\u003e\u003c/a\u003e\u003c/div\u003e\n\n## Overview\n\nIsaac ROS Compression provides H.264 image encoder\nand decoder that leverages the specialized hardware in NVIDIA GPUs and the\n[Jetson](https://developer.nvidia.com/embedded-computing) platform.\nThe `isaac_ros_h264_encoder` package can compress an image into H.264\ndata using the NVENC. The\n`isaac_ros_h264_decoder` package can decode the H.264 data into\noriginal images using the NVDEC.\n\nImage compression reduces the data footprint of images when written to\nstorage or transmitted between computers. A 1080p camera at 30fps\nproduces 177MB/s of data; image compression reduces this by\napproximately 10 times to 17MB/s of data, reducing the throughput needed\nto send this to another computer or write out to storage; a one minute\n1080p camera recording is reduced from ~10GB to ~1GB. This compression\nis provided by dedicated NVIDIA acceleration (NvEnc) separate from\nother hardware engines such as the GPU.\n\nA common use case for image compression during the development of robots\nis to capture camera images to storage. This captured data is processed\noffline from the robot to produce training datasets for AI models, test\ndatasets for perception functions, and test data for open-loop\nre-simulation of software in development with real data. The compression\nparameters are tuned to minimize visual quality reduction from lossy\ncompression for AI model and perception function development.\nCompression reduces the amount of data written to storage, the time\nrequired to offload the recording, and footprint of the data at rest in\na data lake.\n\nCompression can be used with event data recorders to capture camera\nimages to storage when an event of interest occurs, often due to\nfailures on the robot. This provides visual information to assist in the\ndebugging of the event or to improve perception and robot functions.\n\n[H.264](https://en.wikipedia.org/wiki/Advanced_Video_Coding) is an\nefficient and popular compression algorithm with broad support across\nmany platforms. The output of the `isaac_ros_h264_encoder` package can then\nbe decoded with NVIDIA acceleration using the\n`isaac_ros_h264_decoder` on Jetson and x86_64 systems, or by\nthird-party H.264 decoder packages on non-NVIDIA platforms.\n\nThis package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://developer.nvidia.com/blog/improve-perception-performance-for-ros-2-applications-with-nvidia-isaac-transport-for-ros/),\nwhich leverages type adaptation and negotiation to optimize message\nformats and dramatically accelerate communication between participating nodes.\n\n\u003e [!Note]\n\u003e ROS 2 relies on `image_transport_plugins` for CPU based compression.\n\u003e We recommend using `isaac_ros_h264_encoder` as part of the graph of\n\u003e nodes when capturing to a rosbag for performance benefits of NITROS;\n\u003e ROS 2 type adaptation used by NITROS is not supported by `image_transport_plugins`,\n\u003e resulting in more CPU load, and less encode performance.\n\n## Performance\n\n| Sample Graph\u003cbr/\u003e\u003cbr/\u003e                                                                                                                                                                                                           | Input Size\u003cbr/\u003e\u003cbr/\u003e   | AGX Thor T5000\u003cbr/\u003e\u003cbr/\u003e                                                                                                                                                           | AGX Thor T4000\u003cbr/\u003e\u003cbr/\u003e                                                                                                                                                             | DGX Spark\u003cbr/\u003e\u003cbr/\u003e                                                                                                                                                                 | x86_64 w/ RTX 5090\u003cbr/\u003e\u003cbr/\u003e                                                                                                                                                        |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [H.264 Decoder Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/benchmarks/isaac_ros_h264_decoder_benchmark/scripts/isaac_ros_h264_decoder_node.py)\u003cbr/\u003e\u003cbr/\u003e                                      | 1080p\u003cbr/\u003e\u003cbr/\u003e        | [296 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_decoder_node-agx_thor.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e4.5 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e        | [296 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_decoder_node-thor-t4000.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e5.3 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e        | [736 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_decoder_node-dgx_spark.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e4.4 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e        | [296 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_decoder_node-x86-5090.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e4.1 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e         |\n| [H.264 Encoder Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/benchmarks/isaac_ros_h264_encoder_benchmark/scripts/isaac_ros_h264_encoder_iframe_node.py)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003eI-frame Support\u003cbr/\u003e\u003cbr/\u003e | 1080p\u003cbr/\u003e\u003cbr/\u003e        | [296 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_iframe_node-agx_thor.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e2.9 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e | [297 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_iframe_node-thor-t4000.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e10 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e  | [921 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_iframe_node-dgx_spark.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e2.7 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e | [1050 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_iframe_node-x86-5090.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e3.8 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e |\n| [H.264 Encoder Node](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/benchmarks/isaac_ros_h264_encoder_benchmark/scripts/isaac_ros_h264_encoder_pframe_node.py)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003eP-frame Support\u003cbr/\u003e\u003cbr/\u003e | 1080p\u003cbr/\u003e\u003cbr/\u003e        | [296 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_pframe_node-agx_thor.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e2.9 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e | [297 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_pframe_node-thor-t4000.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e9.5 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e | [846 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_pframe_node-dgx_spark.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e3.1 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e | [1050 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.4/results/isaac_ros_h264_encoder_pframe_node-x86-5090.json)\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e3.8 ms @ 30Hz\u003cbr/\u003e\u003cbr/\u003e |\n\n---\n\n## Documentation\n\nPlease visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/index.html) to learn how to use this repository.\n\n---\n\n## Packages\n\n* [`isaac_ros_h264_decoder`](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_decoder/index.html)\n  * [Quickstart](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_decoder/index.html#quickstart)\n  * [Troubleshooting](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_decoder/index.html#troubleshooting)\n  * [API](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_decoder/index.html#api)\n* [`isaac_ros_h264_encoder`](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_encoder/index.html)\n  * [Quickstart](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_encoder/index.html#quickstart)\n  * [API](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_encoder/index.html#api)\n\n## Latest\n\nUpdate 2026-04-30: Compatibility and integration updates for the Isaac ROS 4.4.0 release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvidia-isaac-ros%2Fisaac_ros_compression","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvidia-isaac-ros%2Fisaac_ros_compression","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvidia-isaac-ros%2Fisaac_ros_compression/lists"}