https://github.com/JackTrip-webrtc/JackTrip-webrtc Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories - + Security - * Team * Enterprise * Explore + Explore GitHub - Learn & contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} jacktrip-webrtc / jacktrip-webrtc * Watch 10 * Star 191 * Fork 9 JackTrip meets WebRTC GPL-3.0 License 191 stars 9 forks Star Watch * Code * Issues 4 * Pull requests 1 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights master 4 branches 1 tag Go to file Code Clone HTTPS GitHub CLI [https://github.com/j] Use Git or checkout with SVN using the web URL. [gh repo clone jacktr] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @dependabot dependabot Bump ini from 1.3.5 to 1.3.8 (#12) ... 922b7a7 Dec 13, 2020 Bump ini from 1.3.5 to 1.3.8 (#12) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 922b7a7 Git stats * 4 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time client v1.0.0 (#11) Dec 6, 2020 documentation v1.0.0 (#11) Dec 6, 2020 lib v1.0.0 (#11) Dec 6, 2020 routes v1.0.0 (#11) Dec 6, 2020 .dockerignore v1.0.0 (#11) Dec 6, 2020 .env.example v1.0.0 (#11) Dec 6, 2020 .gitignore v1.0.0 (#11) Dec 6, 2020 Dockerfile v1.0.0 (#11) Dec 6, 2020 LICENSE Initial commit Mar 30, 2020 README.md v1.0.0 (#11) Dec 6, 2020 app.js v1.0.0 (#11) Dec 6, 2020 package-lock.json Bump ini from 1.3.5 to 1.3.8 (#12) Dec 13, 2020 package.json v1.0.0 (#11) Dec 6, 2020 View code README.md jacktrip-webrtc JackTrip WebRTC is an HTML5 implementation of Jacktrip for the web browser. Multi-machine network music performance over the Internet is achieved using high quality, uncompressed, and ultra-low delay audio signal streaming. WebRTC MediaStream is routed through the RTCDataChannel in order to bypass processing (i.e., encoding) and buffering delay of the RTCPeerConnection media channel. Setup NodeJS After cloning the repository use the following commands to install all dependencies: npm install cd client npm install cd .. To start the server use the following command: npm start or node app.js This will start a server on http://localhost:8000 and on https:// localhost:44300. To modify these values, and other parameters, you can simply create a .env file containing all required settings. More details can be found in Configuration.md Docker Alternatively you can start this app using dokcer. After cloning the repository use the following command to create the docker image: docker build -t jacktrip-webrtc/jacktrip-webrtc . The image you obtained is configured to run the app in a production environment, so it starts only the https version of the app and it requires a ssl certificate in order to run this server. You can generate a self signed certificate through the following commands: mkdir ssl openssl req -new -x509 -days 365 -nodes -out ssl/ssl.cert -keyout ssl/ssl.key chmod 600 ssl.* It creates the ssl folder containing both the certificate and the key. Then you can create and run the container using the following command: docker run --name jacktrip-webrtc -p 44300:44300 -v "$(pwd)"/ssl:/usr/src/app/ssl -v "$(pwd)"/logs:/usr/src/app/logs -d jacktrip-webrtc/jacktrip-webrtc This command will create a container using the image we created previously, will mount to it the ssl folder containing the certificate files we created before, will mount to it the logs folder, where application logs will be stored and will map the container port to the port 44300 of the machine executing the container. Take a look at the documentation of docker run to know how to define and customize environment variable. More details on the available environment variables can be found in Configuration.md Usage Now you can connect to http://localhost:8000 or https:// localhost:44300 (if you used the docker version you can connect only the https server). NOTE: if you are connecting to the app from a different device with respect to the one where you started the server, you need to connect to the https version, so to https://:44300. The http version won't work, since you need a secure context in order to use AudioWorklets, which are the foundation of this app. Once connected you just need to create a room, by clicking on the 'Create Room' button, then allow access to camera and microphone. Once the application has access to camera and microphone, you can select which camera, microphone and speakers to use (the last one is available only on browsers based on Chromium), and customize the size of the playout buffer, if needed. Then you can perform a loopback test if needed and then insert a name. After you inserted a name you can join the room by clicking on the 'Join' button. Next you need to share the current page web address link with the other party. You can either copy it from the web browser address bar or by clicking on the button inside the notification that will appear on the top left of the screen once you join the room. The other party needs to navigate to the received URL, perform the same steps in order to select microphone, camera, speakers and a name. Then he can join the room by clicking on the 'Join' button. Now you are both connected and ready to communicate. About JackTrip meets WebRTC Resources Readme License GPL-3.0 License Releases 1 v1.0.0 Latest Dec 6, 2020 Packages 0 No packages published Contributors 5 * @jacktrip-webrtc * @omarcostahamido * @matteosacchetto * @noahhorn Languages * JavaScript 80.3% * HTML 15.9% * CSS 3.1% * Other 0.7% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.