{"id":29637916,"url":"https://github.com/qualisys/qualisys-js-rt","last_synced_at":"2025-10-24T06:34:29.473Z","repository":{"id":32902984,"uuid":"36497758","full_name":"qualisys/qualisys-js-rt","owner":"qualisys","description":"JavaScript (Node.js) implementation of the real-time protocol for Qualisys Track Manager","archived":false,"fork":false,"pushed_at":"2024-10-04T13:29:50.000Z","size":560,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-21T01:24:29.641Z","etag":null,"topics":["javascript","motion-capture","motion-tracking","position-tracking","qtm","qualisys","realtime"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qualisys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-05-29T10:32:28.000Z","updated_at":"2024-10-04T13:28:20.000Z","dependencies_parsed_at":"2023-12-02T11:03:34.898Z","dependency_job_id":"45510eec-be0e-49da-854d-3b6fec76460e","html_url":"https://github.com/qualisys/qualisys-js-rt","commit_stats":null,"previous_names":["qualisys/qualisys-rt"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/qualisys/qualisys-js-rt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2Fqualisys-js-rt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2Fqualisys-js-rt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2Fqualisys-js-rt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2Fqualisys-js-rt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qualisys","download_url":"https://codeload.github.com/qualisys/qualisys-js-rt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2Fqualisys-js-rt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266359751,"owners_count":23917349,"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-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["javascript","motion-capture","motion-tracking","position-tracking","qtm","qualisys","realtime"],"created_at":"2025-07-21T19:02:05.437Z","updated_at":"2025-10-24T06:34:24.428Z","avatar_url":"https://github.com/qualisys.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-time api for QTM\nThis is a javascript implementation of the [real-time protocol](https://docs.qualisys.com/qtm-rt-protocol/)\nprovided by Qualisys Track Manager (QTM).\n\nIt is used to stream data from a computer running QTM. The real-time api can\nalso be used to start and stop measurements, setting events and more.\n\n\u003cimg src=\"https://github.com/qualisys/qualisys-rt/blob/dev/docs/connecting.png\" title=\"Example output\" width=\"600\" height=\"191\"\u003e\n\n# Installation\n1. npm install qualisys-rt\n\n# Example\n\n```javascript\nvar Api = require('qualisys-rt').Api;\n\nvar api = new Api({ debug: true });\n\n// Set up an event handler.\napi.on('frame', function(data) {\n\tconsole.log('Received frame:'.green);\n\tconsole.log(data);\n});\n\n// Connect to host (defaults to 'localhost')\n// and start streaming 3d data.\napi.connect()\n\t.then(function() { return api.streamFrames({ components: ['3D'] }) })\n\t.catch(console.log)\n;\n```\n\n# Getting started\nThere is not much documentation yet so the best way to get started is by\nexamining demo.js, which contains example code for common tasks. \n\n## Api methods\nThis api supports most commands in the QTM real-time protocol. The supported\ncommands are accessed through methods of the Api class:\n\n* api.byteOrder()\n* api.calibrate(refine)\n* api.closeMeasurement()\n* api.connect(port, host, major, minor)\n* api.debug(enableDebug)\n* api.disconnect()\n* api.discover(port)\n* api.frequency()\n* api.getCaptureC3d()\n* api.getCaptureQtm()\n* api.getCurrentFrame()\n* api.getParameters()\n* api.getState()\n* api.led(camera, mode, color)\n* api.load(filename, connect)\n* api.loadProject(path)\n* api.newMeasurement()\n* api.qtmVersion()\n* api.releaseControl()\n* api.reprocess()\n* api.save(filename, overwrite)\n* api.setParameters(params)\n* api.setQtmEvent(label)\n* api.startCapture()\n* api.stopCapture()\n* api.stopStreaming()\n* api.streamFrames(options)\n* api.takeControl(password)\n* api.trigger()\n\n### Additional api members\n * api.isConnected\n * api.isStreaming\n\n## Viewer 2D\nYou can view 2D data in your terminal by using the Viewer2D class.\n```javascript\napi.connect(22223, 'localhost')\n\t.then(function() { return api.qtmVersion(); })\n\t.then(function() {\n\t\tvar viewer = new Viewer2d(api);\n\t\treturn viewer.render(1, { color: 'red' });\n\t})\n```\n\u003cimg src=\"https://github.com/qualisys/qualisys-rt/blob/dev/docs/viewer2d.png\" title=\"Example output\" width=\"600\" height=\"448\"\u003e\n\nFor a reference of what's possible with the real-time protocol, refer to the\n[QTM Real-time Server Protocol Documentation](https://docs.qualisys.com/qtm-rt-protocol/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisys%2Fqualisys-js-rt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqualisys%2Fqualisys-js-rt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisys%2Fqualisys-js-rt/lists"}