Ca fonctionne enfin, c’est probablement pas beau comme code mais je verrai plus tard si ca peut etre mieux. Sans mettre l’intégralité du xml je n’ai pas réussi a le faire fonctionner. Si ca peut servir, c’est utilisé dans un sénario, block de type code.
function enableSmartEvent($cameraIP, $username, $password) {
$url = "http://{$cameraIP}/ISAPI/Smart/FieldDetection/1";
$headers = array(
"Content-Type: application/xml"
);
$xmlData = '"1.0" encoding="UTF-8"?><FieldDetection xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
<id>1</id>
<enabled>true</enabled>
<enableDualVca>true</enableDualVca>
<startTriggerTime>500</startTriggerTime>
<endTriggerTime>500</endTriggerTime>
<normalizedScreenSize>
<normalizedScreenWidth>1000</normalizedScreenWidth>
<normalizedScreenHeight>1000</normalizedScreenHeight>
</normalizedScreenSize>
<FieldDetectionRegionList size="4">
<FieldDetectionRegion xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
<id>1</id>
<enabled>false</enabled>
<sensitivityLevel>70</sensitivityLevel>
<timeThreshold>0</timeThreshold>
<detectionTarget>human</detectionTarget>
<alarmConfidence opt="low,mediumLow,mediumHigh,high">mediumHigh</alarmConfidence>
<RegionCoordinatesList xmlns=""><RegionCoordinates><positionX>6</positionX><positionY>6</positionY></RegionCoordinates><RegionCoordinates><positionX>993</positionX><positionY>6</positionY></RegionCoordinates><RegionCoordinates><positionX>990</positionX><positionY>979</positionY></RegionCoordinates><RegionCoordinates><positionX>3</positionX><positionY>987</positionY></RegionCoordinates></RegionCoordinatesList></FieldDetectionRegion>
<FieldDetectionRegion xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
<id>2</id>
<enabled>false</enabled>
<sensitivityLevel>50</sensitivityLevel>
<timeThreshold>0</timeThreshold>
<detectionTarget>human</detectionTarget>
<alarmConfidence opt="low,mediumLow,mediumHigh,high">low</alarmConfidence>
<RegionCoordinatesList xmlns=""/></FieldDetectionRegion>
<FieldDetectionRegion xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
<id>3</id>
<enabled>false</enabled>
<sensitivityLevel>50</sensitivityLevel>
<timeThreshold>0</timeThreshold>
<detectionTarget>human</detectionTarget>
<alarmConfidence opt="low,mediumLow,mediumHigh,high">low</alarmConfidence>
<RegionCoordinatesList xmlns=""/></FieldDetectionRegion>
<FieldDetectionRegion xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
<id>4</id>
<enabled>false</enabled>
<sensitivityLevel>50</sensitivityLevel>
<timeThreshold>0</timeThreshold>
<detectionTarget>human</detectionTarget>
<alarmConfidence opt="low,mediumLow,mediumHigh,high">low</alarmConfidence>
<RegionCoordinatesList xmlns=""/></FieldDetectionRegion>
</FieldDetectionRegionList>
<isSupportMultiScene>false</isSupportMultiScene>
<isSupportHumanMisinfoFilter>true</isSupportHumanMisinfoFilter>
<isSupportVehicleMisinfoFilter>true</isSupportVehicleMisinfoFilter>
</FieldDetection>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
}
// Exemple d'utilisation
$cameraIP1 = "192.168.1.70"; // Remplacez par l'adresse IP de votre caméra
$cameraIP2 = "192.168.1.64"; // Remplacez par l'adresse IP de votre caméra
$username = "login"; // Remplacez par le nom d'utilisateur de votre caméra
$password = "password"; // Remplacez par le mot de passe de votre caméra
// Activer l'événement intelligent
enableSmartEvent($cameraIP1, $username, $password);
// enableSmartEvent($cameraIP2, $username, $password);
<id>1</id>
<enabled>true</enabled>
Il faut modifier true par false pour desactiver
Pour la partie image c’est aussi possible :
function ImageMode($cameraIP, $username, $password) {
$url = "http://{$cameraIP}/ISAPI/Image/channels/1/mountingScenario";
$headers = array(
"Content-Type: application/xml"
);
$xmlData = '<MountingScenario xmlns="http://www.hikvision.com/ver20/XMLSchema "version="2.0">
<mode>normal</mode>
</MountingScenario>
';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERPWD, "{$username}:{$password}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
}
// Exemple d'utilisation
$cameraIP = "192.168.1.70"; // Remplacez par l'adresse IP de votre caméra
$username = "login"; // Remplacez par le nom d'utilisateur de votre caméra
$password = "password"; // Remplacez par le mot de passe de votre caméra
ImageMode($cameraIP, $username, $password);
liste des modes possibles :
« normal,backlight,frontlight,lowIllumination,custom1,custom2 »