1.0.24 • Published 2 years ago
6buns-client v1.0.24
web-client
Installation
- Using npm,
npm i 6buns-client
- Using CDN,
<script src="https://unpkg.com/6buns@1.0.0"></script>
Usage
You create bun object, which handles all the webrtc things for you,
const options = {
accountSid: "",
apiKey: "",
maxParticipants: "",
};
const bun = new Bun(options);
Join a room, by providing an id, and password key if required.
bun.join({
roomId: "abcdef",
roomPass: 45678,
});
Add Media, like microphone, or webcam, or screen
bun.setMedia({
video: false, // camera or screen share
audio: true,
screen: true,
})
Stop live stream of your webcam, or other user's webcam.
bun.stop({
mediaType: '',
peerId: ''
})
Whenever a new user joins, new-peer
event is fired, which can be handled on frontend.
bun.on("new-peer", (event) => {
// Do something whenever a new user joins.
});
Whenever a new media track is available, new-remote-track
event is fired. This event is usually fired when a user in room switched on/off their webcam/mic/screenshare
bun.on("new-remote-track", (event) => {
// Add remote user's track
});
Whenever a user leaves, peer-left
event is fired.
bun.on("peer-left", (id) => {
// Do something when user leaves
});
Process for WEBRTC Peer to Peer
INITIATOR
- Get User Media
- Add Stream
- Create Offer
- Set Local SDP,
Send Offer
- On Answer
- Set Remote Description
- Send Candidates
- Add Candidates
PARTICIPANT
- Get User Media
- Add Stream
- On Offer
- Set Remote Description
- Create Answer
- Set Local Description,
Send Answer
- Add Ice Candidates
- Send Ice Candidates