[RESOLU] Camera AXIS PTZ et FireFox

Eléphant du PHP | 160 Messages

10 juin 2013, 08:23

Bonjour,

Je dois donc contrôler une camera AXIS PTZ, j'ai bien trouvé les scriptes pour IE, mais je n'arrive à avoir que l'image avec FireFox, impossible de contrôler les mouvements.

Ce doit pourtant bien être possible puisque sur la page de la camera, j'arrive à tout contrôler sans problème.

J'ai cherché un peu partout mais je ne trouve que des script raciste qui font :

Si IE {
utiliser tout ce qui va bien
}
Sinon{
T'es dans la bouze
}

Voilà le script que j'ai actuellement

[javascript]
// Set the BaseURL to the URL of your camera
var BaseURL = "http://192.168.1.48/"; //http://192.168.1.48/
// DisplayWidth & DisplayHeight specifies the displayed width & height of the image.
// You may change these numbers, the effect will be a stretched or a shrunk image
var DisplayWidth = "700"; //700
var DisplayHeight = "900"; //900
// This is the path to the image generating file inside the camera itself
var File = "axis-cgi/mjpg/video.cgi?resolution=1920x1080"; //axis-cgi/mjpg/video.cgi?resolution=640x480
// No changes required below this point
var output = "";
if ((navigator.appName == "Microsoft Internet Explorer" ) &&
(navigator.platform != "MacPPC" ) && (navigator.platform != "Mac68k" ))
{
// If Internet Explorer under Windows then use ActiveX
output = '<OBJECT ID="Player" width='
output += DisplayWidth;
output += ' height=';
output += DisplayHeight;
output += ' CLASSID="CLSID:DE625294-70E6-45ED-B895-CFFA13AEB044" ';
output += 'CODEBASE="';
output += BaseURL;
output += 'activex/AMC.cab#version=3,20,18,0">';
output += '<PARAM NAME="MediaURL" VALUE="';
output += BaseURL;
output += File + '">';
output += '<param name="MediaType" value="mjpeg-unicast">';
output += '<param name="ShowStatusBar" value="1">';
output += '<param name="ShowToolbar" value="1">';
output += '<param name="AutoStart" value="1">';
output += '<param name="StretchToFit" value="1">';
output += '<BR><B>Axis Media Control</B><BR>';
output += 'The AXIS Media Control, which enables you ';
output += 'to view live image streams in Microsoft Internet';
output += ' Explorer, could not be registered on your computer.';
output += '<BR></OBJECT>';
}
else {
// If not IE for Windows use the browser itself to display
theDate = new Date();
output = '<IMG SRC="';
output += BaseURL;
output += File;
output += '&dummy=' + theDate.getTime().toString(10);
output += '" HEIGHT="';
output += DisplayHeight;
output += '" WIDTH="';
output += DisplayWidth;
output += '" ALT="Camera Image">';
}
// document.write(output);
document.getElementById(mondiv).innerHTML = output;

document.Player.ToolbarConfiguration = "play,+snapshot,+fullscreen"
// document.Player.UIMode = "MDConfig";
// document.Player.MotionConfigURL = "/axis-cgi/operator/param.cgi?ImageSource=0"
// document.Player.MotionDataURL = "/axis-cgi/motion/motiondata.cgi";
}
[/javascript]

Et si quelqu'un veux, j'ai une camera (pas la mienne) que j'ai trouvé sur le net pour des tests

http://guckhin.serveftp.net

(Zut je viens de voir que le mec à bloqué la fonction PTZ... Mais bon en vois encore les contrôles, peut-être que ça pourra nous aider :/)

Édit : En voilà une sans restriction http://camera6.buffalotrace.com

Merci pour la lecture.

Eléphant du PHP | 160 Messages

10 juin 2013, 09:34

Bon je me répond à moi même, mais j'ai quand même besoin d'aide :p

Sur les pages que j'ai donné plus haut, je constate que quand on clique sur le bouton pour faire tourner à gauche par exemple, il envoie ceci :

/axis-cgi/com/ptz.cgi?camera=1&move=left

J'ai recensé move (up, down, left et right) ainsi que rzoom suivi d'une valeur positive ou négative.

Ma question est donc.

Comment envoyer ces url à la caméra sans changer de page sans arrêt et devoir recharger l'image.

Merci.

Eléphant du PHP | 160 Messages

10 juin 2013, 14:19

Décidément je me sent bien seul sur se topic lol.

Mais j'ai trouvé une réponse qui me plait bien, même si c'est pas génial, ça fonctionne.

Voilà ma méthode.

Il est possible d'envoyer les commandes PTZ à la camera par l'url directement.

Donc je met des boutons sur ma page

............Haut
Gauche..........Droite
............Bas

Zoom+...........Zoom-

(exemple de présentation non contractuel :p)

Et je donne ceci à manger à mes petits boutons :

[javascript]
$("#IdDuBoutonConcerné").click(function(){
//alert("yeah");
$.get("http://IPCam/axis-cgi/com/ptz.cgi?camer ... onDuBouton");
});
[/javascript]

Et voilà, et même si je suis tout seul.

Encore une victoire de Canard :p