{"id":13650323,"url":"https://github.com/webrtc/testrtc","last_synced_at":"2026-01-10T18:12:08.210Z","repository":{"id":26572412,"uuid":"30026613","full_name":"webrtc/testrtc","owner":"webrtc","description":"WebRTC Troubeshooter PROJECT IS ON HOLD","archived":true,"fork":false,"pushed_at":"2024-03-15T13:30:11.000Z","size":5486,"stargazers_count":479,"open_issues_count":87,"forks_count":215,"subscribers_count":51,"default_branch":"master","last_synced_at":"2024-11-10T01:36:33.208Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://test.webrtc.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webrtc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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-01-29T15:30:24.000Z","updated_at":"2024-10-15T02:16:28.000Z","dependencies_parsed_at":"2024-11-10T01:30:47.853Z","dependency_job_id":"6c93e867-d4ed-46a3-92be-87360c7efc02","html_url":"https://github.com/webrtc/testrtc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc%2Ftestrtc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc%2Ftestrtc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc%2Ftestrtc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc%2Ftestrtc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webrtc","download_url":"https://codeload.github.com/webrtc/testrtc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250297291,"owners_count":21407185,"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","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":"2024-08-02T02:00:35.850Z","updated_at":"2025-04-22T18:31:18.995Z","avatar_url":"https://github.com/webrtc.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.org/webrtc/testrtc.svg)](https://travis-ci.org/webrtc/testrtc)\n\n# TestRTC #\n[WebRTC troubleshooter](https://test.webrtc.org/) provides a set of tests that can be easily run by a user to help diagnose\nWebRTC related issues. The user can then download a report containing all the gathered information or upload the log and\ncreate a temporary link with the report result.\n\n## Automatic tests ##\n* Microphone\n  * Audio capture\n    * Checks the microphone is able to produce 2 seconds of non-silent audio\n    * Computes peak level and maximum RMS\n    * Clip detection\n    * Mono mic detection\n* Camera\n  * Check WxH resolution\n    * Checks the camera is able to capture at the requested resolution for 5 seconds\n    * Checks if the frames are frozen or muted/black\n    * Detects how long to start encode frames\n    * Reports encode time and average framerate\n  * Check supported resolutions\n    * Lists resolutions that appear to be supported\n* Network\n  * Udp/Tcp\n    * Verifies it can talk with a turn server with the given protocol\n  * IPv6 connectivity\n    * Verifies it can gather at least one IPv6 candidate\n* Connectivity\n  * Relay\n    * Verifies connections can be established between peers through a TURN server\n  * Reflexive\n    * Verifies connections can be established between peers through NAT\n  * Host\n    * Verifies connections can be established between peers with the same IP address\n* Throughput\n  * Data throughput\n    * Establishes a loopback call and tests data channels throughput on the link\n  * Video bandwidth\n    * Establishes a loopback call and tests video performance on the link\n    * Measures rtt on media channels.\n    * Measures bandwidth estimation performance (rampup time, max, average)\n\n## Manual tests ##\nDue to their time duration they are not part of the normal test suite and need to be run explicitly.\n* [Network latency](https://test.webrtc.org/?test_filter=Network%20latency)\n  * Establishs a loopback call and sends very small packets (via data channels) during 5 minutes plotting them to the user. It can be used to identify issues on the network.\n\n## Contributing ##\nPull requests and issues welcome! See [CONTRIBUTING](https://github.com/GoogleChrome/webrtc/blob/master/CONTRIBUTING.md) for instructions. All contributors must sign a contributor license agreement before code can be accepted. Please complete the agreement for an [individual](https://developers.google.com/open-source/cla/individual) or a [corporation](https://developers.google.com/open-source/cla/corporate) as appropriate. The [Developer's Guide](https://bit.ly/webrtcdevguide) for this repo has more information about code style, structure and validation.\n\n## Development ##\nMake sure to install NodeJS and NPM before continuing. Note that we have been mainly been using Posix when developing TestRTC hence developer tools might not work correctly on Windows.\n\n#### Install developer tools and frameworks ####\n```bash\nnpm install\n```\n\n#### Install dependencies ####\n```bash\nbower update\n```\n\n#### Run linters (currently very limited set is run) ####\n```bash\ngrunt\n```\n\n#### Build testrtc ####\nCleans out/ folder if it exists else it's created, then it copies and vulcanizes the resources needed to deploy this on Google App Engine.\n```\ngrunt build\n```\n\n#### Run vulcanized version of TestRTC using [Google App Engine SDK for Python](https://cloud.google.com/appengine/downloads) (requires the Build testrtc step to be performed first). ####\n```bash\npython dev_appserver.py out/app.yml\n```\n","funding_links":[],"categories":["JavaScript","Operations"],"sub_categories":["Monitoring"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrtc%2Ftestrtc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebrtc%2Ftestrtc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrtc%2Ftestrtc/lists"}