Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wistingcn/wilearning
Multiparty meeting&e-learning using mediasoup, webrtc ,angular and ionic with powerful whiteboard support
https://github.com/wistingcn/wilearning
angular express ionic mediasoup nodejs socketio typescript webrtc
Last synced: 29 days ago
JSON representation
Multiparty meeting&e-learning using mediasoup, webrtc ,angular and ionic with powerful whiteboard support
- Host: GitHub
- URL: https://github.com/wistingcn/wilearning
- Owner: wistingcn
- License: agpl-3.0
- Created: 2020-05-18T08:30:43.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-10-28T00:28:51.000Z (about 3 years ago)
- Last Synced: 2024-10-13T23:01:37.713Z (29 days ago)
- Topics: angular, express, ionic, mediasoup, nodejs, socketio, typescript, webrtc
- Language: TypeScript
- Homepage:
- Size: 21.3 MB
- Stars: 519
- Watchers: 14
- Forks: 143
- Open Issues: 3
-
Metadata Files:
- Readme: README-en.md
- License: LICENSE
Awesome Lists containing this project
README
[Demo](https://rtc.liweix.com/admin)
# WiLearning
WiLearning is an open source, free e-learning and conferencing system. WiLearning uses WebRTC technology, The server side uses Typescript + Nodejs + MediaSoup and client side uses Angular + Ionic, WiLearning has the following features:
* Multi-person video conference,or text interaction
* Share desktop
* Share local media
* WhiteBoard & files, files are automatically transcoded in the web
* Realtime brush-courseware annotation, add content, and share to other participants
* Document preview , display annotation in preview
* Export document, export document to pdf include brush & annotation
* Support multiple rooms at the same time, the number of participants in one room is not limited, depends on the hardware conditions
* Support Chinese and English
* Automatic recovery when switching network
* Support Chrome/Safari in Windows/Mac/Linux/Android/IOS# Install
Requirement: Nodejs>v12
```
# Build all
./build.sh all# build subsystem
./build.sh [server/app/admin]# build result locate in 'dist' directory
```# Run
The sample SSL certificate is provided in the code. Please provide your own certificate when it is actually running.The certificate must be consistent with the domain name you visit.* enter the dist directory
```
cd dist
````* Method 1: run server.js
```
node server.js --cert ../certs/rtc.liweix.com.pem --key ../certs/rtc.liweix.com.key
```* WiLearning get your public ip from 'https://api.ipify.org'. Alternatively, you can specify on in command line.
```
node server.js --cert ../certs/rtc.liweix.com.pem --key ../certs/rtc.liweix.com.key --publicIp x.x.x.x
```
* ```eth0``` is used as default interface name. If you have a different interface name, you must specify it using ```--eth```
```
node server.js --cert ../certs/rtc.liweix.com.pem --key ../certs/rtc.liweix.com.key --eth
```
* Or you can run start.sh with default SSL certificate
```
./start.sh
```* run with pm2
```
npx pm2 start start.sh
```# enable google bbr
run the follow command line in server console(linux kernel > 4.9):
```
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
```# Access
* Access WiLearning admin use Chrom/FireFox/Safari:
```
https://[your public ip]/admin/
```
* Create room in Admin, open the 'Link' of room
* Now it has two roler, 'Speaker' and 'Attendee','Speaker' act as the adminstrator of room.
* Login the same room , choose your roler, begin your conference, enjoy!# Support WiLearning
* Use it, and report Bug!
* Tell me you feeling and your want.
* Give it a STAR![Give me a cup of coffee](res/appreciate.png)