Ant Media Server WebRTC JS SDK
WebSocket interface in publishing and playing WebRTC streams on Ant Media Server using Javascript.
For more information, visit antmedia.io
Using npm:
$ npm install @antmedia/webrtc_adaptor
Using yarn:
$ yarn add @antmedia/webrtc_adaptor
Before start using Ant Media Server WebRTC SDK, you need a distribution of the Ant Media Server running on a server or local machine. Quick Start - Ant Media Server
In your project, run:
npm i @antmedia/webrtc_adaptor
Then inside your javascript file:
// ...
import { WebRTCAdaptor } from '@antmedia/webrtc_adaptor';
const webRTCAdaptor = new WebRTCAdaptor({
websocket_url: "wss://your-domain.tld:5443/WebRTCAppEE/websocket",
mediaConstraints: {
video: true,
audio: true,
},
peerconnection_config: {
'iceServers': [{'urls': 'stun:stun1.l.google.com:19302'}]
},
sdp_constraints: {
OfferToReceiveAudio : false,
OfferToReceiveVideo : false,
},
localVideoId: "id-of-video-element", // <video id="id-of-video-element" autoplay muted></video>
bandwidth: int|string, // default is 900 kbps, string can be 'unlimited'
dataChannelEnabled: true|false, // enable or disable data channel
callback: (info, obj) => {}, // check info callbacks bellow
callbackError: function(error, message) {}, // check error callbacks bellow
});
//...
In another part of your script:
// You can start streaming by calling the publish method
webRTCAdaptor.publish(streamId);
// You can start playing the stream by calling the play method
webRTCAdaptor.play(streamId);
Visit The Samples List and look at their sources codes
You can check our live demo.
Create issues on the Ant-Media-Server
This repository includes the default streaming application for Ant Media Server. Ant Media Server Developer can use it as a base app to get started for their applications. It has mainly three components.
The fileslocated under src/main/js/
directory are the JS SDK. It's compiled, tested and deployed to src/main/webapp/js
directory.
They been published to npmjs.org as well as mentioned above.
The files located under embedded-player
are the embedded player for Ant Media Server. It mainly use @antmedia/web_player
to provide a embedded player for default applications. It's compiled and deployed to the src/main/webapp/js
and it's being used by src/main/webapp/play.html
Generally this repo is a maven project and it provides java files, web.xml and properties file to creates a Streaming app.
- In the main directory, run the following command to install npm packages
npm install
- Go to embedded-player and install the npm packages
cd embedded-player npm install
- Switch back to main directory and run the
redeploy.sh
. It compiles and copies the js files to thesrc/main/webapp/js
./redeploy.sh