Home
Softono
webrtc-showcase

webrtc-showcase

Open source JavaScript
18
Stars
4
Forks
0
Issues
1
Watchers
5 years
Last Commit

About webrtc-showcase

webrtc-showcase is a video chat application built with the Play Framework, Scala, Akka, and WebSockets, designed to connect users with the Kurento Media Server. The software enables presenters to broadcast their webcam and microphone feeds to a large audience of up to 100 users with low latency. It supports hosting multiple simultaneous chat rooms, allowing users to quickly join specific sessions. Additional features include a simple in-app chat interface and a real-time list of connected participants. The application is designed for easy local execution and server deployment. Setup requires Oracle Java 8, SBT, and Docker Compose, along with running the Kurento infrastructure via Docker. A local domain binding is necessary for local testing, while remote server deployments mandate HTTPS configuration, typically handled via NGINX and Let's Encrypt certificates. The frontend is built using Angular and requires specific build flags for production deployment. System administrators can verify Kurento connectivity

Platforms

Web Self-hosted

Languages

JavaScript

Links

WebRTC Showcase

This is Play Framework application with Scala | Akka | WebSockets. It connects users with Kurento Media Server to implement video chat functionality.

Features

  • presenters may publish own web cam and microphone to large auditory (100 users)

  • low latency;

  • there could be severals rooms at the same time;

  • a quick jump into one of the multiple rooms;

  • easy to run locally or deploy to a server;

  • simple chat and list of connected users.

Setup

  • Oracle Java 8 must be installed

  • Install Docker compose installed

  • Install SBT tool installed

  • Bind local.trembit.com domain in hosts file

  • Run sbt run

  • Run docker-compose up (runs Kurento infrastructure)

  • Open https://local.trembit.com page in 2 browsers and start broadcast in one of them

On remote server requires HTTPS to be used. It could be done with nginx proxy and HTTPS certificate generated with Let’s Encrypt. https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

Frontend

  • Build for deployment ng build --prod --deploy-url /static --base-href https://local.trembit.com/static/

Misc

  • Verify that Kurento is up curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: 127.0.0.1:8888" -H "Origin: 127.0.0.1" http://127.0.0.1:8888/kurento