Skip to content

Streaming application for Ant Media Server

Notifications You must be signed in to change notification settings

ant-media/StreamApp

Repository files navigation

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

Build Status Quality Gate Status

Installation

Using npm:

$ npm install @antmedia/webrtc_adaptor

Using yarn:

$ yarn add @antmedia/webrtc_adaptor

Requirements

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);

Samples

Visit The Samples List and look at their sources codes

Javascript SDK Documentation

You can check our live demo.

Create issues on the Ant-Media-Server

StreamApp for Ant Media Server Developers

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.

JS SDK

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.

Embedded Player

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

Maven Project

Generally this repo is a maven project and it provides java files, web.xml and properties file to creates a Streaming app.

How to Build

  • 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 the src/main/webapp/js
    ./redeploy.sh