Wowza Webrtc Group Call Sample, it's n to n webrtc sample application with chat room feautures.
You can join existing room or create a new room.
Simple webrtc group chat application that using Wowza as SFU
Download the Wowza Streaming Engine from WOWZA STREAMING ENGINE
You can find webrtc installation guide on wowza docs WOWZA WEBRTC INSTALL
git clone [email protected]:Lethea/wowza-webrtc-group-call-and-chat.git
There is two project
-
Nodejs Client : This includes index.html + wowza webrtc websocket connect api ( api.js )
- Wowza Streaming Engine WEBRTC websocket api send publish / play request to the wowza streaming engine
- Listen wowza webrtc websocket response
- Connect Nodejs server for chat room operation such as login / disconnect
-
Nodejs Server : This provide login to chat room, listen events, messaging
- This is for chatroom application
- Allows user to login to the given room
- Allows user to public chat
- Listen login / disconnect event
On Nodejs Server Run Following Command
npm install --save express
npm install --save socket.io
or basically
npm install
As you know, webrtc isn't allowed when the page is not safe ( https )
Please install ssl to your wowza streaming engine or proxy pass the request to the wowza webrtc websocket
Change the Wowza Webrtc websocket url in nodeclientjs/assets/js/api.js with your own
var wsURL = "wss://59cb91f751ff5.streamlock.net:9443/webrtc-session.json";
Change the nodejs websocket url in nodejsclient/index.html
var socketIoConnectionUrl = "https://10.6.1.136";
By default, the nodejs application run on port 3000, define ssl to nodejs or proxy pass the 443 with socket.io path to 3000
cd nodejsserver
node videochat.js
Open your nodejsclient with https with browser ( chrome preferred )
https://your_web_server_ip/nodejsclient/index.html
Login Page
- Enter your nickname (English Characters & Numbers without space required)
- Enter your Room Name (English Characters & Numbers without space required)
For proxy pass you can use nginx as well
- Login
- Dynamic Chat Room
- Text Chat
- Play / Publish Implementation
- PeerConnection / Icecandidate etc webrtc stuff implemented
- Selecting Camera / Microphone
- Publish Stream Button ( Now starting automatically )
- Webrtc Api Implementation for local user must be changed
- External Player Link For Hls Playback
- Typo Control
- Test
Mail : [email protected]
Phone / Whatsapp / Telegram : +90 532 346 67 79
Donate : 1HxYXXDNQen9kDHjdjPrHkj1xS64fkENes ( BTC )
Ld8BNcvP69146jgT5hVbTzSsnL7q6WoUSg ( LTC )
0x77935c829b0f12b05151ec7bce31d58a97f735e8 ( ETH )