webrtc/apprtc sits at 4.2k stars on GitHub, written primarily in JavaScript. appr.tc has been shutdown. Please use the Dockerfile to run your own test/dev instance.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
NOTE: This project is no longer served via https://appr.tc. See Docker for local dev/testing deployment.
Development
Detailed information on developing in the webrtc github repo can be found in the WebRTC GitHub repo developer's guide.
The development AppRTC server can be accessed by visiting http://localhost:8080.
Running AppRTC locally requires Google App Engine SDK for Python,
Node.js and Grunt.
Follow the instructions on Node.js website, Python PIP and on Grunt website to install them.
When Node.js and Grunt are available you can install the required dependencies
running npm install and pip install -r requirements.txt from the project root folder.
Before you start the AppRTC dev server and everytime you update the source code
you need to recompile the App Engine package by running grunt build.
Start the AppRTC dev server from the out/app_engine directory by running the Google App Engine SDK dev server,
<path to sdk>/dev_appserver.py ./out/app_engine
Then navigate to http://localhost:8080 in your browser (given it's on the same machine).
Testing
You can run all tests by running grunt.
To run only the Python tests you can call,
grunt runPythonTests
Deployment
Docker
This allows it to be setup on a machine and accessed by other machines on the same local network for testing purposes.
Download the Dockerfile to a new folder and follow the instructions within the Dockerfile.
Manual setup
Instructions were performed on Ubuntu 14.04 using Python 2.7.6 and Go 1.6.3.
Clone the AppRTC repository
Do all the steps in the Collider instructions then continue on step 3.
Install and start a Coturn TURN server according to the instructions on the project page.
Open src/app_engine/constants.py and do the following:
Collider
If using Google Cloud Engine VM's for Collider
Change WSS_INSTANCE_HOST_KEY, WSS_INSTANCE_NAME_KEY and WSS_INSTANCE_ZONE_KEY to corresponding values for your VM instances which can be found in the Google Cloud Engine management console.
Else if using other VM hosting solution
Change WSS_INSTANCE_HOST_KEY to the hostname and port Collider is listening too, e.g. localhost:8089 or otherHost:443.
TURN/STUN
If using TURN and STUN servers directly
Either:
Comment out ICE_SERVER_OVERRIDE = None and then uncomment ICE_SERVER_OVERRIDE = [ { "urls":...] three lines below and fill your TURN server details in src/app_engine/constants.py. e.g.
8. Build AppRTC using grunt build then deploy/run:
If running locally using the Google App Engine dev server (dev/testing purposes)
Start it using dev appserver provided by the Google app engine SDK pathToGcloudSDK/platform/google_appengine/dev_appserver.py out/app_engine/.
Else if running on Google App Engine in the Google Cloud (production)
Make sure you have a Google Cloud Account and Google App Engine enabled.
Download the Google Cloud SDK and initialize it.
Deploy your AppRTC app by executing the following in the out/app_engine directory gcloud app deploy --project [YOUR_PROJECT_ID] -v [YOUR_VERSION_ID] (You can find the [YOUR_PROJECT_ID] and [YOUR_VERSION_ID] in your Google cloud console).
9. Open a WebRTC enabled browser and navigate to http://localhost:8080 or
https://[YOUR_VERSION_ID]-dot-[YOUR_PROJECT_ID] (append ?wstls=false to the
URL if you have TLS disabled on Collider for dev/testing purposes).
Advanced Topics
Enabling Local Logging
Note that logging is automatically enabled when running on Google App Engine using an implicit service account.
By default, logging to a BigQuery from the development server is disabled. Log information is presented on the console. Unless you are modifying the analytics API you will not need to enable remote logging.
Logging to BigQuery when running LOCALLY requires a secrets.json containing Service Account credentials to a Google Developer project where BigQuery is enabled. DO NOT COMMIT secrets.json TO THE REPOSITORY.
To generate a secrets.json file in the Google Developers Console for your
project:
Go to the project page.
Under APIs & auth select Credentials.
Confirm a Service Account already exists or create it by selecting Create new Client ID.
Select Generate new JSON key from the Service Account area to create and download JSON credentials.
Rename the downloaded file to secrets.json and place in the directory containing analytics.py.
When the Analytics class detects that AppRTC is running locally, all data is logged to analytics table in the dev dataset. You can bootstrap the dev dataset by following the instructions in the Bootstrapping/Updating BigQuery.
BigQuery
When running on App Engine the Analytics class will log to analytics table in the prod dataset for whatever project is defined in app.yaml.
Schema
bigquery/analytics_schema.json contains the fields used in the BigQuery table. New fields can be added to the schema and the table updated. However, fields cannot be renamed or removed. Caution should be taken when updating the production table as reverting schema updates is difficult.
Update the BigQuery table from the schema by running,
[1] ICE Server provider
AppRTC by default uses an ICE server provider to get TURN servers. Previously we used a compute engine on demand service (it created TURN server instances on demand in a region near the connecting users and stored them in shared memory) and web server with a REST API described in draft-uberti-rtcweb-turn-rest-00. This has now been replaced with a Google service. It's similar from an AppRTC perspective but with a different response format.
TopGit's last sync did not record any GitHub topics for webrtc/apprtc. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on webrtc/apprtc?
The most recent commit recorded on webrtc/apprtc was 2.3 years ago, based on the GitHub push timestamp. The repository has 1.4k forks — one of the better signals of community interest.
How many stars does webrtc/apprtc have?
webrtc/apprtc has 4.2k GitHub stars — refresh the page for the live number, or check github.com/webrtc/apprtc. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What is webrtc/apprtc?
webrtc/apprtc (webrtc/apprtc) is a JavaScript project on GitHub. From the project's own README: appr.tc has been shutdown. Please use the Dockerfile to run your own test/dev instance.
What language is webrtc/apprtc written in?
webrtc/apprtc is written primarily in JavaScript. GitHub's language field is based on the largest share of bytes in the default branch.
Read full README in the tab above.
Want a second opinion on apprtc?
Ask an AI that can read this page — one click and you get its take on apprtc.