API HTML de CamTrace V 3.7.X
Transcription
API HTML de CamTrace V 3.7.X
API HTML de CamTrace V 3.7.X 1 - Ouverture de caméra/groupe/plan/bureau avec la barre de menus CamTrace L'usage principal en est la création de raccourcis utilisateur (une icone CamTrace peut être téléchargée du serveur en cliquant sur le grand logo dans Aide->Outils). http://hôte/login/login.php?user=utilisateur&pass=mot_de_passe&camera=nom_de_caméra &cycle=nom_de_cycle &group=nom_de_groupe &map=nom_de_plan &desk=nom_de_bureau RAPPEL: le raccourci doit être créé à partir de la cible IEXPLORE.EXE 2 - Appel de certaines parties de CamTrace après une phase d'identification L'usage de ces appels est l'intégration de CamTrace à une autre application Web. Un exemple simplifié d'application se trouve dans le répertoire docs/custom du CD CamTrace 2.1 Identification, préalable à d'autres appels : http://hôte/login/login.php?user=utilisateur&pass=mot_de_passe paramètre optionnel : &auth=page page de traitement du résultat Cette identification s'exécute habituellement dans une frame de hauteur nulle. On peut ensuite, selon les droits de l'utilisateur retenu, accéder aux différentes fonctions de CamTrace. Voir l'exemple d'application pour plus de détails. 2.2 Visualisation simplifiée de caméras uniques : http://hôte/view/cameras/single.php?id_cam=nnn nnn est le numéro interne CamTrace de la caméra, paramètres optionnels : &open= ne pas créer la fenêtre &pos=x,y positionner la fenêtre en x,y 2.3 Visualisation simplifiée de jeux de caméras : http://hôte/view/cameras/multi.php?idlist=nnn1,nnn2,nnn3 nnn1, nnn2, nnn3 sont les numéros internes CamTrace des caméras paramètres optionnels : &perline=nombre nombre d'images par ligne &zoom=facteur facteur de zoom (par défaut 1.0) &open= ne pas créer la fenêtre &pos=x,y positionner la fenêtre en x,y 2.4 Forçage de l'enregistrement / rétablissement de l'enregistrement calendaire régulier : Le forçage d'enregistrement ne se fait pas par appel à une page PHP mais de l'intérieur d'une page en exécutant les instructions Javascript : document.mainflash.SetVariable("command", "force "+nnn1+","+nnn2+","+nnn3); document.mainflash.TCallFrame("/", 1); nnn1, nnn2, nnn3 sont les numéros internes CamTrace des caméras. mainflash est le nom HTML du module Flash www/lib/flash/main.swf dans sa page. L'indication d'un numéro de caméra dans cet appel force l'enregistrement sur cette caméra. L'indication d'un numéro de caméra précédé d'un signe '-' rétablit l'enregistrement calendaire pour cette caméra. Voir main.php dans l'exemple d'application pour plus de détails. 2.5 Appel du magnétoscope : http://hôte/consult/player.php?type=ttt&id_cam=nnn&began=bbb&ended=eee ttt nnn bbb eee vaut "regul" ou "alarm" selon le type d'enregistrement à visualiser. est le numéro interne CamTrace de la caméra. est le temps GMT UNIX (secondes depuis 1er janv 1970 00:00) de début. est le temps GMT UNIX de fin de l'enregistrement. 2.6 Déconnexion automatique : La fin de session éventuellement définie dans CamTrace est disponible si elle existe dans la variable PHP $_SESSION[SessionEnd]. La déconnexion automatique étant gérée par la barre de menu de CamTrace, elle n'est pas automatiquement appliquée dans votre application. Pour la mettre en oeuvre, il faut appeler au bout du nombre de secondes de la session l'URL (setTimeout en Javascript). http://hôte/login/logout.php?url=page page est l'URL de la page où reprendre une nouvelle identification. Voir main.php dans l'exemple d'application pour plus de détails. En outre, PHP supprime aléatoirement les sessions dont les données n'ont pas été modifiées depuis plus de 24 minutes. Pour se garder de ce phénomène, on peut appeler toutes les 10 minutes par exemple le script alive.php dans un setInterval en Javascript. http://hôte/alive.php?add=sss sss est le nombre de secondes à ajouter à la variable de session factice Minutes. 2.7 Détermination des numéros internes des caméras : 2.7.1 Par l'interface web Les numéros internes des caméras sont affichés à droite du nom de caméra dans l'interface dans la page Administration->Cameras->Informations_detailles 2.7.2 Par accès à la base PostgreSQL 'camtrace' (en interactif ou par programmation) Exemple de détermination interactive (console ou PuTTY) : login: password: camtrace ... ...$ psql Welcome to psql, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit camtrace=> SELECT id_cam,name FROM cameras ORDER_BY id_cam; ... camtrace=> <Ctrl-D> Pour un exemple de programmation, voir le code PHP dans docs/custom/main.php 3 - Accès direct aux flux vidéo de CamTrace Il est possible d'afficher des flux vidéo CamTrace dans vos propres pages HTML sans utiliser aucune de celles de CamTrace. Il faut pour cela inclure dans vos pages le composant d'affichage CamTraceViewer qui vous donnera accès aux diverses fonctions associées aux caméras. 3.1 Affichage d'un flux vidéo simple : Il faut inclure dans la page HTML le code suivant : <object id="view" width='xxx' height='yyy' classid='CLSID:5AA580AE-A3E9-4A9C-9C49-7EC814C8E2ED' codebase='/ccc/CamTraceViewer.cab#Version=1,0,0,0'> <param name='VideoURL'value='http://hhh:ppp/v?id=nnn&user=uuu&pass=mmm'> </object> dans lequel: xxx yyy ccc est la largeur en pixels de l'image de la caméra ou '100%' est la hauteur en pixels de l'image de la caméra ou '100%' est le chemin permettant d'accéder sur votre site web au fichier. CamTraceViewer.cab disponible dans /lib/download dans l'interface CamTrace hhh est l'adresse de votre serveur CamTrace. ppp est le port du service video de CamTrace (8000, modifiable par menucam) nnn est le numéro interne CamTrace (voir ci-dessus) de la caméra/ uuu est le nom d'un utilisateur CamTrace autorisé a visualiser la caméra nnn mmm est le mot de passe de cet utilisateur, en clair ou sous forme encodée obtenue par la commande : ...$ echo -n "mot-de-passe-en-clair" | md5 tapée à l'invite d'un "login: camtrace" sur la console ou sous PuTTY La chaîne de caractères : "http://hhh:ppp/v?id=nnn&user=uuu&pass=mmm" peut également être utilisée dans un lecteur multimédia capable de lire un flux HTTP MJPEG (VLC par exemple) pour afficher un flux vidéo CamTrace.