pushpublish.services
Retrieves a list of all stored PushPublish services details
Example Code (PHP)
$request = array(
'command' => 'pushpublish.services',
'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
'timestamp' => time(),
'cdn' => 158,
'filters' => array(
'service_name' => 'facebook',
),
);
//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 |
filters |
[OPTIONAL] [Array] - Array of one or more filters to apply to the search.
The array must consist of key value pairs, with the key being the field to filtered on,
and a value. Any objects that match the exact filter values, or the object's properties
contain the filtered values within them, will be returned.
|
Example Result (JSON)
{
"message": "PushPublish services stored",
"status": "success",
"handle_time":"0.3795 seconds",
"services" : [
{
"push_service_id" : 1,
"service_name" : "facebook",
"type" : "rtmp",
"dst_host" : "rtmp-api.facebook.com",
"dst_port" : 80,
"dst_stream" : "unique_stream_key",
"dst_app" : "rtmp",
"dst_appinst" : null,
"host_id" : null,
"stream_id" : null,
"event_name" : null,
"push_source" : 1,
"adaptive_group" : "group1",
"app" : 'demo-origin',
"stream" : 'stream_1',
"autopush" : 1,
"lock_servers" : 1,
"primary_server" : 'PRI1',
"backup_server" : 'BAK2',
"relative_playlist" : 0,
"playlist_count" : 0,
"playlist_timeout" : 120000,
"playlist_across_sessions" : 0,
"bitrate_order" : "high2low",
"redundant_playlist" : 0,
"send_ssl" : 1,
"playback_ssl" : 0,
"addEndListOnDisconnect" : 0,
"username" : "rtmp_user",
"password" : "rtmp_pass",
},
],
}
Result Fields
message |
[string] - Debugging message |
status |
[string] - "success" or "failure" |
handle_time |
[float] - The amount of time spent processing your request |
services |
push_service_id |
[int] - ID of the stored PushPublish Service details |
service_name |
[string] - service type.
Available services:
|
type |
[string] - PushPublish Profile Type |
dst_host |
[string] - Destination Host Address. |
dst_port |
[int] - Destination Port Number. |
dst_stream |
[string] - PushPublish Destination Stream Name or Stream Key |
dst_app |
[string] - Destination Application Name |
dst_appinst |
[string] - Destination Application Instance Name |
stream_id |
[int] - Service Stream ID |
host_id |
[int] - Service Host ID |
event_name |
[String] - Akamai stream event name |
push_source |
[boolean] - Push source stream to destination. Default true |
adaptive_group |
[string] - Name for a group of transcoded streams |
app |
[string] - The ScaleEngine Application name |
stream |
[string] - Stream name or VOD file path |
autopush |
[boolean] - Autopushes stream to destination when it is published. |
lock_servers |
[int] - locks the Primary and Backup Servers, preventing all other sources
from pushing streams to this server. [Default: 0]
|
primary_server |
[string] - Locks the Primary PushPublish destination to the specific
Server Tag.
|
backup_server |
[string] - Locks the Backup PushPublish destination to a specific
Server Tag.
|
playlist_count |
[int] - How many chunks to have on the
manifest for each rendition. [Default: 0] |
playlist_timeout |
[string] - How many milliseconds to keep the
playlist after the encoder disconnects. [Default: 120,000] |
relative_playlist |
[int] - [Default: false] |
playlist_across_sessions |
[int] - Set to 1, keep the playlist when the encoder disconnects,
instead of starting over. [Default: 0]
|
bitrate_order |
[string] - "high2low" shows the top bitrate first in the rendition list, or
"low2high" shows the lowest bitrate first. [Default: high2low].
|
redundant_playlist |
[int] - Creates the playlist.m3u8 file with both akamai primary and backup (-b) urls;
Set to 1 to enable [Default: 0]
|
send_ssl |
[boolean] - Push to RTMP Sources using SSL. default: false |
playback_ssl |
[boolean] - Enables Akamai Manifests to use HTTPS urls. default: false |
addEndListOnDisconnect |
[boolean] - Add End List tag to chunklist when Stream Disconnects. (default false) |
username |
[String] - RTMP Username |
password |
[String] - RTMP Password |
|