Mit BlueIris geht das wunderbar über die JSON-Schnittstelle.
Hier mal ein Codeschnipsel für ein Triggersignal, das Record auf der ausgewählten Camera auslöst:
Achtung: Neuste BlueIris-Version empfohlen!
Code:
<?
$json_url = "http://IP_des_BlueIris_Servers/json";
$username = 'Username'; // BI-Webauthentication Username
$password = 'Password'; // BI-Webauthentication Passwort
$json_string = '{"cmd":"login"}';
$z = JsonPost($json_url, $username, $password, $json_string );
$response = $username.":".$z['session'].":".$password;
$response = md5($response);
$json_string = '{"cmd":"login","session":"'.$z['session'].'","response":"'.$response.'"}';
$z = JsonPost($json_url, $username, $password, $json_string );
if ($z['result'] == 'success') {
$session = $z['session'];
$CamName = "Cam1"; //Kamera ShortName
$json_string = '{"cmd":"trigger","session":"'.$session.'","camera":"'.$CamName.'"}';
$z = JsonPost($json_url, $username, $password, $json_string );
} else {
echo 'Response nicht ok';
}
$json_string = '{"cmd":"logout","session":"'.$session.'"}';
$result = JsonPost($json_url, $username, $password, $json_string );
function JsonPost($json_url, $username, $password, $json_string) {
$ch = curl_init( $json_url );
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => $username . ":" . $password, // authentication
CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
CURLOPT_POSTFIELDS => $json_string
);
curl_setopt_array( $ch, $options );
$result = curl_exec($ch); // Getting jSON result string
$result = json_decode($result, true);
return $result;
}
?>