{"id":21821985,"url":"https://github.com/3drx/webrtc-ros-bridge","last_synced_at":"2025-10-08T04:30:33.625Z","repository":{"id":262501532,"uuid":"886121761","full_name":"3DRX/webrtc-ros-bridge","owner":"3DRX","description":"Sender and receiver that bridge between 2 ROS networks using WebRTC","archived":false,"fork":false,"pushed_at":"2025-01-22T13:04:47.000Z","size":114,"stargazers_count":3,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T21:48:14.706Z","etag":null,"topics":["pion","ros","webrtc"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3DRX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-10T08:58:52.000Z","updated_at":"2025-07-16T01:56:51.000Z","dependencies_parsed_at":"2025-01-22T14:19:57.955Z","dependency_job_id":"06946278-1bd7-472e-b556-69c3321d1a88","html_url":"https://github.com/3DRX/webrtc-ros-bridge","commit_stats":null,"previous_names":["3drx/webrtc-ros-bridge-client","3drx/webrtc-ros-bridge"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/3DRX/webrtc-ros-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3DRX%2Fwebrtc-ros-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3DRX%2Fwebrtc-ros-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3DRX%2Fwebrtc-ros-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3DRX%2Fwebrtc-ros-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3DRX","download_url":"https://codeload.github.com/3DRX/webrtc-ros-bridge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3DRX%2Fwebrtc-ros-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278891477,"owners_count":26063854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["pion","ros","webrtc"],"created_at":"2024-11-27T17:11:52.904Z","updated_at":"2025-10-08T04:30:33.364Z","avatar_url":"https://github.com/3DRX.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# webrtc-ros-bridge\n\n![Tests](https://github.com/3DRX/webrtc-ros-bridge/actions/workflows/test.yml/badge.svg)\n\n## Prerequisites\n\n- ROS2 humble, merge installed\n(tested on debian 12 with ROS2 humble build from source\nwith command `colcon build --merge-install`)\n- libvpx-dev (deb package)\n- `go mod tidy` to get all go deps\n    - Note that it's expected to see errors of not finding package `github.com/3DRX/webrtc-ros-bridge/rclgo_gen`,\n    since it's part of the codegen using `github.com/tiiuae/rclgo`, you can just ignore it.\n\n## Build\n\nSource your ros2 workspace setup.sh, and then\n```\nmake\n```\n\n## Dev\n\nFor editor use, it's better to `source ./cgo-flags.env`\nbefore opening editor for language server to work.\n\n## Run\n\n`wrb` cli can be configured to be either the sender or the receiver,\nthe config is load from a json file specified by `wrb \u003cpath_to.json\u003e`.\n\n\u003e [!IMPORTANT]  \n\u003e Don't forget to remove comments in json.\n\n### Sender\n\nFirstly, if you're going to accept a image topic, you'd better to specify the img specification just like the following, otherwise we will use default img specification.\n\nSecondly, you can configure the input topic name, the qos profile if necessary, otherwise we will use default qos profile like the following.\n\n```json\n{\n    \"mode\": \"sender\",\n    \"addr\": \"localhost:8080\",\n    \"topics\": [\n        {\n            \"name_in\": \"image_raw\", // input image topic name\n            \"name_out\": \"image_out\", // doesn't really matter\n            \"type\": \"sensor_msgs/msg/Image\",\n            \"image_spec\": {\n                \"width\": 640,\n                \"height\": 480,\n                \"frame_rate\": 30\n            },\n            \"qos\": {\n                \"depth\": 10,\n                \"history\": 1,       // KeepLast\n                \"reliability\": 2    // BestEffort\n            }\n        }\n    ]\n}\n```\n\n### Receiver\n\nLike the sender.\n\n```json\n{\n    \"mode\": \"receiver\",\n    \"addr\": \"localhost:8080\",\n    \"topics\": [\n        {\n            \"name_in\": \"image_raw\", // doesn't really matter\n            \"name_out\": \"image\", // output image topic name\n            \"type\": \"sensor_msgs/msg/Image\",\n            \"image_spec\": {\n                \"width\": 640,\n                \"height\": 480,\n                \"frame_rate\": 30\n            },\n            \"qos\": {\n                \"depth\": 10,\n                \"history\": 1,       // KeepLast\n                \"reliability\": 2    // BestEffort\n            }\n        }\n    ]\n}\n```\n\n### Ros QosProfile\n\nYou can look up the official code for QosProfile. `https://github.com/tiiuae/rclgo/blob/main/pkg/rclgo/qos.go`\n\n## Acknowledgment\n\n- [pion](https://github.com/pion). It's awesome.\n- [webrtc_ros](https://github.com/RobotWebTools/webrtc_ros).\nInfact, the receiver of this project is compatable with webrtc_ros server node.\n- [ros2](https://github.com/ros2)\n- [tiiuae/rclgo](https://github.com/tiiuae/rclgo). The ROS client library for golang.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3drx%2Fwebrtc-ros-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3drx%2Fwebrtc-ros-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3drx%2Fwebrtc-ros-bridge/lists"}