LiveboxTM

Live Streaming API

Video conferencing calls are organized using the API reference. You can control the list of conferences by adding or removing a conference. Following is a brief explanation, about how the API works.

To Get Channel Details

To get the channel details, we can send a request to the URL:  livebox/api/GetChannelDetails , and please make sure to enter your request parameters without any spaces or any special characters.

HTTP Request: POST

Sample Request

{

“channelName” : “Channel-1”,

“username” : “apiuser”,

“key” : “################”

}

Request Parameters

Parameters Type Description
channelName string The name of the channel
username string The username for the conference
key string The password for the conference

Sample Response

{

“PlayURLs” : {

DASHURL: “http://server_url/channelName_dash/streamname.mpd”

HLSURL: “http://server_url/channelName_hls/streamname.m3u8”

SecureDASHURL: “https://server_url/channelName_dash/streamname.mpd”

SecureHLSURL: “https://server_url/channelName_hls/streamname.m3u8”

rtmpurl: “rtmp://server_url:port_number/channelName/streamname”

},

“StreamURL” :  “rtmp://server_url:port_number/channelName/streamname?psk=str eamname “

}

Response Parameters

Parameters Type Description
PlayURLs string The list of play URLs
DASHURL string The Dash URL
HLSURL string The HLS URL
SecureDASHURL string The Secure Dash URL
SecureHLSURL string The Secure HLS URL
rtmpurl string The rtmp URL
StreamURL string The streaming URL
Response status: success

Requests

Here’s an example of requests in various programming languages :

$ curl -d ‘{“channelName” : “Channel-1”, “username”: ”apiuser”, “key”:”################”}’ -H “Content-Type: application/json” -X https://server_url/livebox/api/GetChannelDetails

var xhr = new XMLHttpRequest();

var params = JSON.stringify({“channelName”: ” Channel-1”, “username”: ”apiuser”, “key”:”################”});

xhr.setRequestHeader(“Content-Type”, “application/json”);

xhr.onreadystatechange = function() {};

xhr.open(‘POST’,’https://server_url/livebox/api/GetChannelDetails‘)

xhr.send(params);

$.post(“https://server_url/livebox/api/GetChannelDetails “,

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

 }

function(data ,status){});

import requests

url = ‘https://server_url/livebox/api/GetChannelDetails

obj = {

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

    }

x = requests.post(url, data = obj)

print(x.text)

var values = new Dictionary<string, string>

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync(“https://server_url/livebox/api/GetChannelDetails“, content);

var responseString = await response.Content.ReadAsStringAsync();

public class Post_Request_Apache_HttpClient { 

public void createEmployee() throws ClientProtocolException, IOException {

String postEndpoint = “https://server_url/livebox/api/GetChannelDetails“;

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpPost httpPost = new HttpPost(postEndpoint);

httpPost.setHeader(“Accept”, “application/json”);

httpPost.setHeader(“Content-type”, “application/json”);

String inputJson = “{\n” +

 ”  \”channelName\”: \”Channel-1\”,\n” +

 ”  \”username\”: \”apiuser\”,\n” +

 ”  \”key\”: \”################\”\n” +

 “}”; 

 StringEntity stringEntity = new StringEntity(inputJson);

 httpPost.setEntity(stringEntity); 

 HttpResponse response = httpclient.execute(httpPost);

require ‘net/http’

require ‘uri’

require ‘json’

uri = URI.parse(“https://server_url/livebox/api/GetChannelDetails“)

header = {‘Content-Type’: ‘text/json’}

user = {

         channelName : “Channel-1”,

         username : “apiuser”,

         key : “################”

        }

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, header)

request.body = user.to_json

response = http.request(request)

func MakeRequest() {

message := map[string]interface{}{

               “channelName”: “Channel-1”,

               “username”:  “apiuser”,

               “key”: “################”

        }

bytesRepresentation, err := json.Marshal(message)

if err != nil {

        log.Fatalln(err)

}

resp, err := http.Post(“https://server_url/livebox/api/GetChannelDetails“, “application/json”, bytes.NewBuffer(bytesRepresentation))

if err != nil {

        log.Fatalln(err)

}

var result map[string]interface{}

json.NewDecoder(resp.Body).Decode(&result)

}

<?php

$url = ‘https://server_url/livebox/api/GetChannelDetails’; 

$ch = curl_init($url);

$jsonData = array(

    ‘channelName’ => ‘Channel-1’,

    ‘username’ => ‘apiuser’,

    ‘key’ => ‘################’

); 

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’));

$result = curl_exec($ch);

To Create a Channel

To create a channel, we can send a request to the URL:  livebox/api/CreateChannel , and please make sure to enter your request parameters without any spaces or any special characters.

HTTP Request: POST

Sample Request

{

“channelName” : “Channel-1”,

“streamname” : “Stream-1”,

“password” : “################”

“username” : “apiuser”,

“key” : “################”

  }

Request Parameters

Parameters Type Description
channelName string The name of the channel
streamname string The name of the stream
password string The password for the stream
username string The username for the conference
key string The password for the conference

Sample Response

{

“streamurl” : “rtmp://server_name:port_number/<Channel_name>/”,

“streamkey” : “<streamname>?psk=<password>”,

}

Response Parameters

Parameters Type Description
streamurl string The url for the stream
streamkey string The key for the stream
Response status: success

Requests

Here’s an example of requests in various programming languages :

$ curl -d ‘{“channelName” : “Channel-1”, “streamname” : “Stream-1”, “password” : “################”, “username”: ”apiuser”, “key”:”################”}’ -H “Content-Type: application/json” -X https://server_url/livebox/api/CreateChannel

var xhr = new XMLHttpRequest();

var params = JSON.stringify({“channelName”: ” Channel-1”, “streamname” : “Stream-1”, “password” : “################”, “username”: ”apiuser”, “key”:”################”});

xhr.setRequestHeader(“Content-Type”, “application/json”);

xhr.onreadystatechange = function() {};

xhr.open(‘POST’, ‘https://server_url/livebox/api/CreateChannel‘)

xhr.send(params);

$.post(“https://server_url/livebox/api/CreateChannel“,

{

 channelName : “Channel-1”,

 streamname : “Stream-1”,

 password : “################”

 username : “apiuser”,

 key : “################”

}

function(data ,status){});

import requests

url = ‘https://server_url/livebox/api/CreateChannel

obj = {

 channelName : “Channel-1”,

 streamname : “Stream-1”,

 password : “################”

 username : “apiuser”,

 key : “################”

}

x = requests.post(url, data = obj)

print(x.text)

var values = new Dictionary<string, string>

{

 channelName : “Channel-1”,

 streamname : “Stream-1”,

 password : “################”

 username : “apiuser”,

 key : “################”

};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync(“https://server_url/livebox/api/CreateChannel“, content);

var responseString = await response.Content.ReadAsStringAsync();

public class Post_Request_Apache_HttpClient { 

public void createEmployee() throws ClientProtocolException, IOException {

String postEndpoint = “https://server_url/livebox/api/CreateChannel“;

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpPost httpPost = new HttpPost(postEndpoint);

 

httpPost.setHeader(“Accept”, “application/json”);

httpPost.setHeader(“Content-type”, “application/json”);

 

String inputJson = “{\n” +

 ”  \”channelName\”: \”Channel-1\”,\n” +

 ”  \”streamname\”: \”Stream-1\”,\n” +

 ”  \”password\”: \”################\”,\n” +

 ”  \”username\”: \”apiuser\”,\n” +

 ”  \”key\”: \”################\”\n” +

 “}”; 

 StringEntity stringEntity = new StringEntity(inputJson);

 httpPost.setEntity(stringEntity); 

 HttpResponse response = httpclient.execute(httpPost);

require ‘net/http’

require ‘uri’

require ‘json’

uri = URI.parse(“https://server_url/livebox/api/CreateChannel“)

header = {‘Content-Type’: ‘text/json’}

user = {

         channelName : “Channel-1”,

         streamname : “Stream-1”,

         password : “################”

         username : “apiuser”,

         key : “################”

        }

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, header)

request.body = user.to_json

response = http.request(request)

func MakeRequest() {

message := map[string]interface{}{

               “channelName”: “Channel-1”,

               “streamname” : “Stream-1”,

               “password” : “################”

               “username”:  “apiuser”,

               “key”: “################”

        }

bytesRepresentation, err := json.Marshal(message)

if err != nil {

        log.Fatalln(err)

}

resp, err := http.Post(“https://server_url/livebox/api/CreateChannel“, “application/json”, bytes.NewBuffer(bytesRepresentation))

if err != nil {

        log.Fatalln(err)

}

var result map[string]interface{}

json.NewDecoder(resp.Body).Decode(&result)

}

<?php

$url = ‘https://server_url/livebox/api/CreateChannel’; 

$ch = curl_init($url);

$jsonData = array(

    ‘channelName’ => ‘Channel-1’,

    ‘streamname’ => ‘Stream-1’,

    ‘password’ => ‘################’,

    ‘username’ => ‘apiuser’,

    ‘key’ => ‘################’

); 

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’));

$result = curl_exec($ch);

To Delete a Channel

To delete a channel, we can send a request to the URL:  livebox/api/GetChannelDetails , and please make sure to enter your request parameters without any spaces or any special characters.

HTTP Request: POST

Sample Request

{

“channelName” : “Channel-1”,

“username” : “apiuser”,

“key” : “################”

 }

Request Parameters

Parameters Type Description
channelName string The name of the channel
username string The username for the conference
key string The password for the conference

Response data:  Channel deleted successfully

Response status: success

Requests

Here’s an example of requests in various programming languages :

$ curl -d ‘{“channelName” : “Channel-1”, “username”: ”apiuser”, “key”:”################”}’ -H “Content-Type: application/json” -X https://server_url/livebox/api/GetChannelDetails

var xhr = new XMLHttpRequest();

var params = JSON.stringify({“channelName”: ” Channel-1”, “username”: ”apiuser”, “key”:”################”});

xhr.setRequestHeader(“Content-Type”, “application/json”);

xhr.onreadystatechange = function() {};

xhr.open(‘POST’,’https://server_url/livebox/api/GetChannelDetails‘)

xhr.send(params);

$.post(“https://server_url/livebox/api/GetChannelDetails “,

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

}

function(data ,status){});

import requests

url = ‘https://server_url/livebox/api/GetChannelDetails

obj = {

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

}

x = requests.post(url, data = obj)

print(x.text)

var values = new Dictionary<string, string>

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync(“https://server_url/livebox/api/GetChannelDetails“, content);

var responseString = await response.Content.ReadAsStringAsync();

public class Post_Request_Apache_HttpClient { 

public void createEmployee() throws ClientProtocolException, IOException {

String postEndpoint = “https://server_url/livebox/api/GetChannelDetails“;

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpPost httpPost = new HttpPost(postEndpoint);

 

httpPost.setHeader(“Accept”, “application/json”);

httpPost.setHeader(“Content-type”, “application/json”);

 

String inputJson = “{\n” +

 ”  \”channelName\”: \”Channel-1\”,\n” +

 ”  \”username\”: \”apiuser\”,\n” +

 ”  \”key\”: \”################\”\n” +

 “}”; 

 StringEntity stringEntity = new StringEntity(inputJson);

 httpPost.setEntity(stringEntity); 

 HttpResponse response = httpclient.execute(httpPost);

require ‘net/http’

require ‘uri’

require ‘json’

uri = URI.parse(“https://server_url/livebox/api/GetChannelDetails“)

header = {‘Content-Type’: ‘text/json’}

user = {

         channelName : “Channel-1”,

         username : “apiuser”,

         key : “################”

        }

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, header)

request.body = user.to_json

response = http.request(request)

func MakeRequest() {

message := map[string]interface{}{

               “channelName”: “Channel-1”,

               “username”:  “apiuser”,

               “key”: “################”

        }

bytesRepresentation, err := json.Marshal(message)

if err != nil {

        log.Fatalln(err)

}

resp, err := http.Post(“https://server_url/livebox/api/GetChannelDetails“, “application/json”, bytes.NewBuffer(bytesRepresentation))

if err != nil {

        log.Fatalln(err)

}

var result map[string]interface{}

json.NewDecoder(resp.Body).Decode(&result)

}

<?php

$url = ‘https://server_url/livebox/api/GetChannelDetails’; 

$ch = curl_init($url);

$jsonData = array(

    ‘channelName’ => ‘Channel-1’,

    ‘username’ => ‘apiuser’,

    ‘key’ => ‘################’

); 

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’));

$result = curl_exec($ch);

To Get the Embed Code

To get the embed code, we can send a request to the URL:  livebox/api/getEmbedCodeOfTheChannel , and please make sure to enter your request parameters without any spaces or any special characters.

HTTP Request: POST

Sample Request

{

“channelName” : “Channel-1”,

“username” : “apiuser”,

“key” : “################”

}

Request Parameters

Parameters Type Description
channelName string The name of the channel
username string The username for the conference
key string The password for the conference

Sample Response

{

“Httpembedcode” : “<iframe scrolling src=”http://server_url/livebox/player/?chnl=1” width=”400px” height=”400px” allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen allow=”autoplay” ></iframe>”,

“Httpsembedcode” : “<iframe scrolling src=”http://server_url/livebox/player/?chnl=1” width=”400px” height=”400px” allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen allow=”autoplay” ></iframe>”,

}

Response Parameters

Parameters Type Description
Httpembedcode string The http embed code
Httpsembedcode string The https embed code
Response status: success

Requests

Here’s an example of requests in various programming languages :

$ curl -d ‘{“channelName” : “Channel-1”, “username”: ”apiuser”, “key”:”################”}’ -H “Content-Type: application/json” -X https://server_url/livebox/api/getEmbedCodeOfTheChannel  

var xhr = new XMLHttpRequest();

var params = JSON.stringify({“channelName”: ” Channel-1”, “username”: ”apiuser”, “key”:”################”});

xhr.setRequestHeader(“Content-Type”, “application/json”);

xhr.onreadystatechange = function() {};

xhr.open(‘POST’,’https://server_url/livebox/api/getEmbedCodeOfTheChannel‘)

xhr.send(params);

$.post(“https://server_url/livebox/api/getEmbedCodeOfTheChannel “,

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

}

function(data ,status){});

import requests

url = ‘https://server_url/livebox/api/getEmbedCodeOfTheChannel

obj = {

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

}

x = requests.post(url, data = obj)

print(x.text)

var values = new Dictionary<string, string>

{

 channelName : “Channel-1”,

 username : “apiuser”,

 key : “################”

};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync(“https://server_url/livebox/api/getEmbedCodeOfTheChannel“, content);

var responseString = await response.Content.ReadAsStringAsync();

public class Post_Request_Apache_HttpClient { 

public void createEmployee() throws ClientProtocolException, IOException {

String postEndpoint = “https://server_url/livebox/api/getEmbedCodeOfTheChannel“;

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpPost httpPost = new HttpPost(postEndpoint);

 

httpPost.setHeader(“Accept”, “application/json”);

httpPost.setHeader(“Content-type”, “application/json”);

 

String inputJson = “{\n” +

 ”  \”channelName\”: \”Channel-1\”,\n” +

 ”  \”username\”: \”apiuser\”,\n” +

 ”  \”key\”: \”################\”\n” +

 “}”; 

 StringEntity stringEntity = new StringEntity(inputJson);

 httpPost.setEntity(stringEntity); 

 HttpResponse response = httpclient.execute(httpPost);

require ‘net/http’

require ‘uri’

require ‘json’

uri = URI.parse(“https://server_url/livebox/api/getEmbedCodeOfTheChannel“)

header = {‘Content-Type’: ‘text/json’}

user = {

         channelName : “Channel-1”,

         username : “apiuser”,

         key : “################”

        }

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, header)

request.body = user.to_json

response = http.request(request)

func MakeRequest() {

message := map[string]interface{}{

               “channelName”: “Channel-1”,

               “username”:  “apiuser”,

               “key”: “################”

        }

bytesRepresentation, err := json.Marshal(message)

if err != nil {

        log.Fatalln(err)

}

resp, err := http.Post(“https://server_url/livebox/api/getEmbedCodeOfTheChannel“, “application/json”, bytes.NewBuffer(bytesRepresentation))

if err != nil {

        log.Fatalln(err)

}

var result map[string]interface{}

json.NewDecoder(resp.Body).Decode(&result)

}

<?php

$url = ‘https://server_url/livebox/api/getEmbedCodeOfTheChannel’; 

$ch = curl_init($url);

$jsonData = array(

    ‘channelName’ => ‘Channel-1’,

    ‘username’ => ‘apiuser’,

    ‘key’ => ‘################’

); 

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’));

$result = curl_exec($ch);

To Edit a Channel

To edit a channel, we can send a request to the URL:  livebox/api/editchannel  , and please make sure to enter your request parameters without any spaces or any special characters.

HTTP Request: POST

Sample Request

{

“channelName” : “Channel-1”,

“password” : “################”,

“username” : “apiuser”,

“key” : “################”

}

Request Parameters

Parameters Type Description
channelName string The name of the channel
password string The password for the channel
username string The username for the conference
key string The password for the conference

Response data: Updated successfully

Response status: success

Requests

Here’s an example of requests in various programming languages :

$ curl -d ‘{“channelName” : “Channel-1”, “password” : “################”, “username”: ”apiuser”, “key”:”################”}’ -H “Content-Type: application/json” -X https://server_url/livebox/api/editchannel

var xhr = new XMLHttpRequest();

var params = JSON.stringify({“channelName”: ” Channel-1”, “password” : “################”, “username”: ”apiuser”, “key”:”################”});

xhr.setRequestHeader(“Content-Type”, “application/json”);

xhr.onreadystatechange = function() {};

xhr.open(‘POST’, ‘https://server_url/livebox/api/editchannel‘)

xhr.send(params);

$.post(“https://server_url/livebox/api/editchannel“,

{

 channelName : “Channel-1”,

 password : “################”,

 username : “apiuser”,

 key : “################”

}

function(data ,status){});

import requests

url = ‘https://server_url/livebox/api/editchannel

obj = {

 channelName : “Channel-1”,

 password : “################”,

 username : “apiuser”,

 key : “################”

}

x = requests.post(url, data = obj)

print(x.text)

var values = new Dictionary<string, string>

{

 channelName : “Channel-1”,

 password : “################”,

 username : “apiuser”,

 key : “################”

};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync(“https://server_url/livebox/api/editchannel“, content);

var responseString = await response.Content.ReadAsStringAsync();

public class Post_Request_Apache_HttpClient { 

public void createEmployee() throws ClientProtocolException, IOException {

String postEndpoint = “https://server_url/livebox/api/editchannel“;

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpPost httpPost = new HttpPost(postEndpoint);

httpPost.setHeader(“Accept”, “application/json”);

httpPost.setHeader(“Content-type”, “application/json”);

String inputJson = “{\n” +

 ”  \”channelName\”: \”Channel-1\”,\n” +

 ”  \”password\”: \”################\”,\n” +

 ”  \”username\”: \”apiuser\”,\n” +

 ”  \”key\”: \”################\”\n” +

 “}”; 

 StringEntity stringEntity = new StringEntity(inputJson);

 httpPost.setEntity(stringEntity); 

 HttpResponse response = httpclient.execute(httpPost);

require ‘net/http’

require ‘uri’

require ‘json’

uri = URI.parse(“https://server_url/livebox/api/editchannel“)

header = {‘Content-Type’: ‘text/json’}

user = {

         channelName : “Channel-1”,

         password : “################”,

         username : “apiuser”,

         key : “################”

        }

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri, header)

request.body = user.to_json

response = http.request(request)

func MakeRequest() {

message := map[string]interface{}{

               “channelName”: “Channel-1”,

               “password”: “################”,

               “username”:  “apiuser”,

               “key”: “################”

        }

bytesRepresentation, err := json.Marshal(message)

if err != nil {

        log.Fatalln(err)

}

resp, err := http.Post(“https://server_url/livebox/api/editchannel“, “application/json”, bytes.NewBuffer(bytesRepresentation))

if err != nil {

        log.Fatalln(err)

}

var result map[string]interface{}

json.NewDecoder(resp.Body).Decode(&result)

}

<?php

$url = ‘https://server_url/livebox/api/editchannel’; 

$ch = curl_init($url);

$jsonData = array(

    ‘channelName’ => ‘Channel-1’,

    ‘password’ => ‘################’,

    ‘username’ => ‘apiuser’,

    ‘key’ => ‘################’

); 

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’));

$result = curl_exec($ch);