Channel.nowplaying
The Now Playing API can be used to find out the current position of the
playlist being played on a channel. The result will contain the previous,
current, and next video. Optionally, user defined description and titles
for those items can be requested to be returned as well.
Example Code (PHP)
$request = array(
'command' => 'channel.nowplaying',
'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
'timestamp' => time(),
'cdn' => 158,
'app' => 'jb-chorigin',
'stream' => 'my_channel_stream_name',
'appinst' => 'live' /* optional */
'user_desc' => 1 /* optional */
'user_title' => 1 /* optional */
);
//Create request signature
$json_request = json_encode($request);
$sig = base64_encode(hash_hmac('sha256', $json_request,
'8fc8c48da81e6a2a06a9556379bf798af508dc0792497c678b4c3532ba8b637f', true));
$request['signature'] = $sig;
$json_request = json_encode($request);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.scaleengine.net/stable/'); // Set the URL
curl_setopt($ch, CURLOPT_POST, true); // Perform a POST
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // If not set, curl prints output to the browser
curl_setopt($ch, CURLOPT_HEADER, false); // If set, curl returns headers as part of the data stream
curl_setopt($ch, CURLOPT_POSTFIELDS, array('json' => $json_request)); //'Json' string or 'PHP' serialized return
//If your PHP host does not have a proper SSL certificate bundle, you will need to turn off SSL Certificate Verification
//This is dangerous, and should only be done temporarily until a proper certificate bundle can be installed
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Turns off verification of the SSL certificate.
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Turns off verification of the SSL certificate.
$response = curl_exec($ch); //Execute the API Call
if (!$response) {
die('Failed to connect to ScaleEngine API');
}
//Decode the response as an associative array
$arrResponse = json_decode($response, true);
if ($arrResponse) {
//Operation completed successfully
//TODO Add work here
print_r($arrResponse);
} else {
//Operation failed
echo 'An error occured processing your request:';
print_r($response);
}
Request Fields
command |
[REQUIRED] [string] - API command to execute |
cdn |
[REQUIRED] [int] - The ScaleEngine CDN ID of your
account |
api_key |
[REQUIRED] [string] - The API key provided as part of your
account |
timestamp |
[REQUIRED] [int] - The unix timestamp of your request, used to
prevent authenticated API requests from being replayed |
app |
[OPTIONAL][string] - Application name, defaults to jb-chorigin |
stream |
[REQUIRED] [String] - The name of the channel running an
active playlist |
appinst |
[OPTIONAL] [String] - The name of the ScaleEngine Application
Instance. default value is 'live' |
user_desc |
[OPTIONAL] [Int] - Flag to enable retrieving user set
descriptions for the playlist items. |
user_title |
[OPTIONAL] [Int] - Flag to enable retrieving user set
titles for the playlist items. |
Example Result (JSON)
{
"message": "Now Playing",
"videos": [{
"previous": 'sestore1/username/path/play_first.mp4',
"current":'sestore1/username/path/play_second.mp4',
"next": 'sestore1/username/path/play_third.mp4'
}],
"descriptions": [{
"previous": 'My First Video',
"current":'My Second Video',
"next": 'My Third Video'
}],
"titles": [{
"previous": 'Video 1 title',
"current":'Video 2 title',
"next": 'Video 3 title'
}],
"started_on": "2014-11-10 15:00:00",
"video_id" : 123,
"sort_order": 1,
"channel_id": 100,
"status": "success",
"message": "Now Playing"
"status": "success",
"handle_time":"0.3795 seconds"
}
Result Fields
message |
[string] - Debugging message |
videos |
[Array] - The stream name or path of the VOD.
VOD examples look like like:
sestore3/username/path/filename.mp4
previous |
[String] - The playlist item that last played |
current |
[String] - The currently playing item |
next |
[String] - The next item to be played |
|
descriptions |
[Array] - The user defined descriptions for the playlist item.
This field will only appear if "user_desc" field was sent with the
request.
previous |
[String] - descriptions of the last played item |
current |
[String] - descriptions of currently playing item |
next |
[String] - descriptions of next item to be played |
|
titles |
[String] - The user defined titles for each of the playlist
items. This field will only appear if "user_title" field was sent with
the request.
previous |
[String] - title of the last played item |
current |
[String] - title of currently playing item |
next |
[String] - title of next item to be played |
|
started_on |
[String] - The date and time that the current playlist item was
started.
|
sort_order |
[Int] - The current videos sort order in the playlist.
|
channel_id |
[Int] - The unique ID of the playlist.
|
video_id |
[Int] - The unique ID of the playlist video.
|
status |
[string] - "success" or "failure" |
handle_time |
[float] - The amount of time spent processing your request |