Automatizzare il vostro streaming server con le API
Perchè installare uno uno streaming server personale, cosa serve per iniziare e come automatizzarlo. Parte quarta, finale.
Negli episodi precedenti, disponibili qui, abbiamo visto i casi d'uso principali che possono beneficiare di un server di streaming privato come Youtube, come si installa e come si può creare un primo flusso video.
Oggi vedremo come automatizzare il caricamento del file Vod tramite le API di AntMedia server, per integrare una vostra applicazione esistente con questo sistema.
Abilitare le API e restringerle
Le API permettono di interfacciare programmaticamente una vostra applicazione esistente con la nostra installazione AntMedia Server eseguita in questo tutorial.
La prima cosa da fare è assicurarsi che siano abilitate sul nostro server e che il loro accesso sia ristretto soltanto all’IP da cui partirà la richiesta API.
Per farlo si accede sempre all’interfaccia AntMedia Server, nella sezione Applications → Live Apps → Settings.
Nel campo CIDR notations, potrete inserire il vostro o i vostri ip di accesso alle API. Se non volete utilizzare il filtro basato su IP, potete abilitare il controllo basato sul JWT token, tuttavia questo dovrà essere gestito anche lato API. Per questo esempio utilizzaremo il controllo basato su IP.
Gli endpoint delle API di AntMedia Server sono descritti qui, per questo esempio il metodo che andremo ad utilizzare è:
POST: /v2/vods/create
PARAMS
name: streaming_api.mp4
BODY
file: streaming_api.mp4
Un esempio della chiamata è il seguente:
PHP // Guzzle
<?php
$client = new Client();
$headers = [
'Cookie' => 'JSESSIONID=3DD4E4409CFA1F9784A6953066341B93'
];
$options = [
'multipart' => [
[
'name' => 'file',
'contents' => Utils::tryFopen('streaming_api.mp4', 'r'),
'filename' => 'streaming_api.mp4',
'headers' => [
'Content-Type' => '<Content-type header>'
]
]
]];
$request = new Request('POST', 'http://localhost:5080/LiveApp/rest/v2/vods/create?name=streaming_api.mp4', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
Python // Requests
import requests
url = "http://localhost:5080/LiveApp/rest/v2/vods/create?name=streaming_api.mp4"
payload = {}
files=[
('file',('streaming_api.mp4',open('streaming_api.mp4','rb'),'application/octet-stream'))
]
headers = {
'Cookie': 'JSESSIONID=3DD4E4409CFA1F9784A6953066341B93'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
NodeJS // Request
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'http://localhost:5080/LiveApp/rest/v2/vods/create?name=streaming_api.mp4',
'headers': {
'Cookie': 'JSESSIONID=3DD4E4409CFA1F9784A6953066341B93'
},
formData: {
'file': {
'value': fs.createReadStream('streaming_api.mp4'),
'options': {
'filename': 'streaming_api.mp4',
'contentType': null
}
}
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Curl
curl --location 'http://localhost:5080/LiveApp/rest/v2/vods/create?name=streaming_api.mp4' \
--header 'Cookie: JSESSIONID=3DD4E4409CFA1F9784A6953066341B93' \
--form 'file=@"streaming_api.mp4"'
Eseguendo la chiamata sopradescritta il vostro file verrà caricato automaticamente tra i VoD disponibili:
E potrà essere utilizzato per i vostri successivi streaming.
Conclusioni
Siamo arrivati così alla fine del nostro percorso alla scoperta di AntMedia Server. Ci auguriamo che possiate averlo trovato utile per voi. Qualora necessitiate di una soluzione professionale configurata già in production-level potete considerare di contattarci senza impegno e vi seguiremo passo a passo nel processo, con una delle nostre soluzioni personalizzabili. Grazie per l’attenzione.