{"id":36835299,"url":"https://github.com/muxable/rtirl-obs","last_synced_at":"2026-01-12T14:22:01.376Z","repository":{"id":37027618,"uuid":"332611739","full_name":"muxable/rtirl-obs","owner":"muxable","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-01T22:42:55.000Z","size":10772,"stargazers_count":34,"open_issues_count":21,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-07T09:37:10.925Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/muxable.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-25T02:46:09.000Z","updated_at":"2026-01-03T02:13:17.000Z","dependencies_parsed_at":"2023-02-19T13:31:22.531Z","dependency_job_id":"c9c412f6-d6eb-42ea-bd86-d7b7f3239b57","html_url":"https://github.com/muxable/rtirl-obs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/muxable/rtirl-obs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muxable%2Frtirl-obs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muxable%2Frtirl-obs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muxable%2Frtirl-obs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muxable%2Frtirl-obs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muxable","download_url":"https://codeload.github.com/muxable/rtirl-obs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muxable%2Frtirl-obs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2026-01-12T14:21:56.645Z","updated_at":"2026-01-12T14:22:01.359Z","avatar_url":"https://github.com/muxable.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RealtimeIRL Overlays\n\nOverlays you can use on your stream! Add the URL as a Browser Source in OBS.\n\n\u003e A note on the map watermarks: it's tempting to crop them out with OBS, however most mapping providers require displaying attribution, even when used in non-interactive video. Verify you are meeting the relevant attribution requirements for your mapping provider. Muxable does not provide legal support if you are contacted regarding an attribution violation.\n\n## Generic Mapbox\n\nThis style is the fastest to get started with. If you're looking for just an OBS map overlay, use this one! Please review the [Mapbox attribution requirements](https://docs.mapbox.com/help/getting-started/attribution/#static--print).\n\n`https://overlays.rtirl.com/generic.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n### Optional URL parameters\n\n- `\u0026zoom=13` to tweak the zoom level.\n- `\u0026lang=en` to set the language of the map. [See this](https://github.com/mapbox/mapbox-gl-language/blob/master/index.js#L37) list for acceptable values, note that not all labels can be translated.\n- `\u0026fullscreen=1` to make the map fill the entire screen.\n\n## Custom Mapbox Styles\n\nIf you have a Mapbox Studio style id, use this overlay. The style id looks like `adoucett/cjf5k84bp0p7t2rmiwvwikhyn`. Be sure to set your Mapbox access token in the url as well. Please review the [Mapbox attribution requirements](https://docs.mapbox.com/help/getting-started/attribution/#static--print).\n\n`https://overlays.rtirl.com/mapbox.html?key=\u003cYOUR_PULL_KEY\u003e\u0026access_token=\u003cYOUR_MAPBOX_ACCESS_TOKEN\u003e\u0026style=\u003cMAPBOX_STYLE_ID\u003e`\n\n### Optional URL parameters\n\n- `\u0026zoom=13` to tweak the zoom level.\n- `\u0026lang=en` to set the language of the map. [See this](https://github.com/mapbox/mapbox-gl-language/blob/master/index.js#L37) list for acceptable values, note that not all labels can be translated.\n- `\u0026fullscreen=1` to make the map fill the entire screen.\n\n## Custom Google Maps or Snazzy Maps Styles\n\nIf you have a Google Maps style json, convert it to Base64 and URL encode it.\n\nThen use the following link as your obs overlay source. Make sure to copy the entire thing, and be sure to set your Google Maps API key in the url as well.\n\n`https://overlays.rtirl.com/googlemaps.html?key=\u003cYOUR_PULL_KEY\u003e\u0026api_key=\u003cYOUR_GOOGLE_MAPS_API_KEY\u003e\u0026style=\u003cBASE64_ENCODED_JSON\u003e`\n\n### Optional URL parameters\n\n- `\u0026zoom=13` to tweak the zoom level.\n- `\u0026fullscreen=1` to make the map fill the entire screen.\n\n## Leaflet Maps\n\nIf you would like to use [Leaflet](https://leafletjs.com/) to render your maps, try this overlay. Leaflet is more compatible with tools such as Prism Live. This overlay currently requires a Mapbox API key and Mapbox style id.\n\n`https://overlays.rtirl.com/leaflet.html?key=\u003cYOUR_PULL_KEY\u003e\u0026access_token=\u003cYOUR_MAPBOX_ACCESS_TOKEN\u003e\u0026style=\u003cMAPBOX_STYLE_ID\u003e`\n\n### Optional URL parameters\n\n- `\u0026zoom=13` to tweak the zoom level.\n- `\u0026fullscreen=1` to make the map fill the entire screen.\n\n## Current Neighborhood/City\n\nThis overlay renders your current neighborhood as text. For example, \"Williamsburg, New York City\". If a neighborhood can't be found, just the city is rendered. Be aware that your exact location is still visible on rtirl.com. Using just this overlay does not prevent viewers from knowing your exact location.\n\n`https://overlays.rtirl.com/neighborhood.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n### Optional URL parameters\n\n- `\u0026lang=en` to set the language of the overlay. See the [coverage table](https://docs.mapbox.com/api/search/geocoding/#language-coverage) for acceptable values.\n- `\u0026format=%24%7Bdata.neighborhood%20%3F%20data.neighborhood.text%20%2B%20%27%2C%20%27%20%3A%20%27%27%7D%24%7Bdata.place%3F.text%7D` to configure the format string. The format string is a url-encoded Javascript template literal with variables under data. See [the Mapbox](https://docs.mapbox.com/api/search/geocoding/#data-types) documentation for various objects. For examples, try: `\u0026format=Country%3A%20%24%7Bdata.country.text%7D`\n\n## Clock\n\nThis overlay renders the local time based on your location.\n\n`https://overlays.rtirl.com/datetime/luxon.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n### Optional URL parameters\n\n- `\u0026lang=en` to set the language of the overlay. See [the Luxon documentation](https://moment.github.io/luxon/#/intl) for more information.\n- `\u0026format=tt` to set the rendered text. See [the Luxon documentation](https://moment.github.io/luxon/#/formatting?id=table-of-tokens) for valid tokens.\n\n## Temperature\n\nThis renders the temperature at your location.\n\n`https://overlays.rtirl.com/weather/temperature/F.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n`https://overlays.rtirl.com/weather/temperature/C.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n`https://overlays.rtirl.com/weather/feels_like/F.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n`https://overlays.rtirl.com/weather/feels_like/C.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## [BETA] Speed\n\nThis overlay is in beta. The speed is not super accurate, especially at low speeds. If you have feedback, please join the [Muxable discord](https://discord.gg/UKHJMQs74u).\n\n`https://overlays.rtirl.com/speed/kph.html?key=\u003cYOUR_PULL_KEY\u003e` \n\n`https://overlays.rtirl.com/speed/mph.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## [BETA] Heading\n\nThis overlay is in beta. The heading is not super accurate and relies on your phone's orientation, which may not always be correct. If you have feedback, please join the [Muxable discord](https://discord.gg/UKHJMQs74u).\n\n`https://overlays.rtirl.com/heading/deg.html?key=\u003cYOUR_PULL_KEY\u003e` \n\n`https://overlays.rtirl.com/heading/nsew.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n### Optional URL parameters\n\n- `\u0026lang=en` to set the language of the overlay. See [the code](https://github.com/muxfd/rtirl-obs/blob/main/public/heading/nsew.html#L7) for acceptable values or to add your own language translation.\n\n## [BETA] Altitude\n\nThis overlay is in beta. This renders the reported altitude above sea level using EGM96. If you have feedback, please join the [Muxable discord](https://discord.gg/UKHJMQs74u).\n\n`https://overlays.rtirl.com/altitude/feet.html?key=\u003cYOUR_PULL_KEY\u003e` \n\n`https://overlays.rtirl.com/altitude/meters.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## [BETA] Total Distance\n\nThis overlay is in beta. It shows the total distance traveled since the RealtimeIRL and stream started. Because of the GPS drift it may still accumulate tiny distances when you are stationary and this will result showing a slightly higher total distance. If you have feedback, please join the [Muxable discord](https://discord.gg/UKHJMQs74u).\n\n`https://overlays.rtirl.com/distance/km.html?key=\u003cYOUR_PULL_KEY\u003e` \n\n`https://overlays.rtirl.com/distance/miles.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## Heart Rate\n\nThis overlay renders the heart rate in beats per minute (bpm). This requires a bluetooth\ndevice connected to the beacon app.\n\n`https://overlays.rtirl.com/heart_rate/bpm.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## Cycling Cadence\n\nThis overlay renders the cycling cadence in revolutions per minute (rpm). This requires \na bluetooth device connected to the beacon app.\n\n`https://overlays.rtirl.com/cycling_cadence/rpm.html?key=\u003cYOUR_PULL_KEY\u003e`\n\n## StreamElements\n\nIf you would like to display RealtimeIRL data using StreamElements overlays, you will need to add a Custom widget and then add the iFrame to the HTML section. (Settings \u003e Open Editor)\n\n`\u003ciframe height=\"100%\" width=\"100%\" frameborder=\"0\" src=\"https://overlays.rtirl.com/compat.html?key=\u003cYOUR_PULL_KEY\u003e\u0026access_token=\u003cYOUR_MAPBOX_ACCESS_TOKEN\u003e\u0026style=\u003cMAPBOX_STYLE_ID\u003e\"\u003e \u003c/iframe\u003e`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuxable%2Frtirl-obs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuxable%2Frtirl-obs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuxable%2Frtirl-obs/lists"}