Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Tuto] Pilotage caméra ONVIF

Pour toute question concernant le plugin caméra
freddye
Timide
Messages : 119
Inscription : 25 mai 2015, 09:10

[Tuto] Pilotage caméra ONVIF

Message par freddye » 12 avr. 2018, 11:19

Bonjour

Suite à l'achat d'une caméra chinoise PTZ sur Aliexpress, je me suis rapidement rendu compte que celle-ci allait être difficile à intègrer sous Jeedom.

En effet, étant inconnue, aucune URL pour le snapshot et encore moins pour le PTZ.

La seule donnée connue étant qu"elle est compatible (comme toutes les nouvelles caméra) ONVIF.

Etant tombé sur sur projet : https://github.com/futomi/node-onvif#On ... set-method , je me suis dis qu'il y avait une forte piste a suivre.

J'ai donc installé le module Node ONVIF avec la commande

Code : Tout sélectionner

npm install -s node-onvif


Puis réalisé le code suivant (getStatus.js) :

Code : Tout sélectionner

const onvif = require('node-onvif');

// Create an OnvifDevice object
let device = new onvif.OnvifDevice({
  xaddr: 'http://192.168.1.10:8899/onvif/device_service',
  user : 'xxx',
  pass : 'xxx'
});

// Initialize the OnvifDevice object
device.init().then(() => {

let profile = device.getCurrentProfile();
console.log(JSON.stringify(profile, null, '  '));


}).then(() => {
  console.log('Done!');
}).catch((error) => {
  console.error(error);
});


Et là, miracle :

Code : Tout sélectionner

root@jeedom:~# node getStatus.js
{
  "token": "000",
  "name": "Profile_000",
  "snapshot": "http://192.168.1.10/webcapture.jpg?command=snap&channel=1",
  "stream": {
    "udp": "rtsp://192.168.1.10:554/user=xx_password=xx_channel=1_stream=0.sdp?real_stream",
    "http": "rtsp://192.168.1.10:554/user=xx_password=xx_channel=1_stream=0.sdp?real_stream",
    "rtsp": "rtsp://192.168.1.10:554/user=xx_password=xx_channel=1_stream=0.sdp?real_stream"
  },
  "video": {
    "source": {
      "token": "000",
      "name": "VideoS_000",
      "bounds": {
        "width": 1280,
        "height": 960,
        "x": 0,
        "y": 0
      }
    },
    "encoder": {
      "token": "000",
      "name": "VideoE_000",
      "resolution": {
        "width": 1280,
        "height": 960
      },
      "quality": 4,
      "framerate": 25,
      "bitrate": 3072,
      "encoding": "H264"
    }
  },
  "audio": {
    "source": {
      "token": "000",
      "name": "Audio_000"
    },
    "encoder": {
      "token": "000",
      "name": "AudioE_000",
      "bitrate": 64,
      "samplerate": 8,
      "encoding": "G711"
    }
  },
  "ptz": {
    "range": {
      "x": {
        "min": -1,
        "max": 1
      },
      "y": {
        "min": -1,
        "max": 1
      },
      "z": {
        "min": -1,
        "max": 1
      }
    }
  }
}
Done!
Plein d'info, dont la précieuse URL http://192.168.1.10/webcapture.jpg?comm ... &channel=1 qui me permet donc de créer ma caméra dans le plugin caméra (plus besoin de passer par le plugin RTSP)

Bon, c'est bien beau, mais maintenant, il serait bien de pouvoir la piloter :

Création du script ptz.js :

Code : Tout sélectionner


const onvif = require('node-onvif');
 var myArgs = process.argv.slice(2);
 console.log('myArgs: ', myArgs);



// Create an OnvifDevice object
let device = new onvif.OnvifDevice({
  xaddr: 'http://192.168.1.10:8899/onvif/device_service',
  user : 'xx',
  pass : 'xx'
});

// Initialize the OnvifDevice object
device.init().then(() => {

let params = {
  'ProfileToken': '000',
  'PresetToken' : myArgs[0],
  'Speed'       : {'x': 1, 'y': 1, 'z': 1}
};

device.services.ptz.gotoPreset(params).then((result) => {
  console.log(JSON.stringify(result['data'], null, '  '));
}).catch((error) => {
  console.error(error);
});

});
Puis via le plugin script :
Créer un fichier OnvifPtz.sh :

Code : Tout sélectionner

#!/bin/bash -l

node /home/pi/ptz.js $1
et ajouter autant d'action que de preset voulu avec appel à OnvifPtz et le num du preset en paramètre :
Capture.PNG
Capture.PNG (60.9 Kio) Consulté 16329 fois
Le plugin camera ne permettant pas de créer des commandes avec appel de script, j'ai donc créé un virtuel permettant d'appeler les scripts.

Je me retrouve donc avec une caméra parfaitement intégrée dans Jeedom.

Certe, le temps de réponse est assez long (3 secondes entre l'appuis sur le virtuel et la réponse de la caméra), mais c'est déjà pas mal.

La doc sur le module node-onvif est assez détaillée, libre à vous de rajouter d'autres commandes telles que déplacement, zoom ...
Capture2.PNG
Capture2.PNG (438.16 Kio) Consulté 16329 fois
Dernière édition par freddye le 01 juin 2019, 17:35, édité 2 fois.
Jeedom : Proxmox/VM core i3 + RFXcom + Esp(téléinfo+portail+Sonoff) + Xiaomi Mihome
Piscine : Arduino+RPI1 (Pression-Température-gestion pompe-Alarmes-pH-Redox-Eclairage)

Avatar de l’utilisateur
Laurent_R
Timide
Messages : 59
Inscription : 03 janv. 2016, 00:51
Localisation : Orgeval (78)

Re: [Tuto] Pilotage caméra ONVIF

Message par Laurent_R » 14 avr. 2018, 12:56

freddye a écrit :
12 avr. 2018, 11:19
Bonjour

Suite à l'achat d'une caméra chinoise PTZ sur Aliexpress, je me suis rapidement rendu compte que celle-ci allait être difficile à intègrer sous Jeedom.

En effet, étant inconnue, aucune URL pour le snapshot et encore moins pour le PTZ.

La seule donnée connue étant qu"elle est compatible (comme toutes les nouvelles caméra) ONVIF.

Etant tombé sur sur projet : https://github.com/futomi/node-onvif#On ... set-method , je me suis dis qu'il y avait une forte piste a suivre.

J'ai donc installé le module Node ONVIF avec la commande

Code : Tout sélectionner

npm install -s node-onvif

Puis réalisé le code suivant (getStatus.js) :


Et là, miracle :

Plein d'info, dont la précieuse URL http://192.168.1.10/webcapture.jpg?comm ... &channel=1 qui me permet donc de créer ma caméra dans le plugin caméra (plus besoin de passer par le plugin RTSP)

Bon, c'est bien beau, mais maintenant, il serait bien de pouvoir la piloter :

Création du script ptz.js :


Puis via le plugin script :
Créer un fichier OnvifPtz.sh :


et ajouter autant d'action que de preset voulu avec appel à OnvifPtz et le num du preset en paramètre :
Capture.PNG

Le plugin camera ne permettant pas de créer des commandes avec appel de script, j'ai donc créé un virtuel permettant d'appeler les scripts.

Je me retrouve donc avec une caméra parfaitement intégrée dans Jeedom.

Certe, le temps de réponse est assez long (3 secondes entre l'appuis sur le virtuel et la réponse de la caméra), mais c'est déjà pas mal.

La doc sur le module node-onvif est assez détaillée, libre à vous de rajouter d'autres commandes telles que déplacement, zoom ...
Bonjour,

J'ai réussi (enfin je crois) à installer node-onvif
ensuite, j'ai crée un fichier getStatus.js avec le contenu indiqué mais en le plaçant dans ce chemin : /var/www/html/script/getStatus.js
ensuite, j'ai tapé la commande node getProfile.js avec ou sans sudo en début de ligne, mis je n'obtiens rien
Je me suis dit que tu avais fais un erreur en indiquant getProfile.js car tu indiquais oprécedemment qu'il fallait créer le fichier getStatus.js mais celà ne change rien.

Je sais que je ne suis pas un grand expert et c'est pour celà que je fais appel à ton aide car ta découverte minterresse grandement pour me passer de RTSP qui est un module pas très performant.

Merci par avance pour ta réponse.

freddye
Timide
Messages : 119
Inscription : 25 mai 2015, 09:10

Re: [Tuto] Pilotage caméra ONVIF

Message par freddye » 14 avr. 2018, 14:15

Les scripts, je les ai laissé dans /home/pi car dans le dossier du plugin script, il ne trouvait pas Node-onvif.

C'est bien node getStatus.js qu'il faut taper pour voir s'il voit bien ta cam. je corrige de suite.
Jeedom : Proxmox/VM core i3 + RFXcom + Esp(téléinfo+portail+Sonoff) + Xiaomi Mihome
Piscine : Arduino+RPI1 (Pression-Température-gestion pompe-Alarmes-pH-Redox-Eclairage)

Jules13
Timide
Messages : 214
Inscription : 05 avr. 2017, 20:42

Re: [Tuto] Pilotage caméra ONVIF

Message par Jules13 » 15 avr. 2018, 09:07

Super merci beaucoup, ça faisait deux trois semaine que je me renseignait sur l’inclusion en Onvif pour pouvoir utiliser le PTZ.
Je test ça dans la journée.
Merci


Send by Me using Tapatruc
"Si le cerveau était si facile à comprendre, nous serions si simple d'esprit que nous ne le comprendrions pas. "
Lyall Watson
"Quand l'argent parle, la vérité se tait."
Proverbe congolais

Jules13
Timide
Messages : 214
Inscription : 05 avr. 2017, 20:42

Re: [Tuto] Pilotage caméra ONVIF

Message par Jules13 » 15 avr. 2018, 09:13

Ah et est ce que à terme cette procédure va être remplacé par un plugin ?


Send by Me using Tapatruc
"Si le cerveau était si facile à comprendre, nous serions si simple d'esprit que nous ne le comprendrions pas. "
Lyall Watson
"Quand l'argent parle, la vérité se tait."
Proverbe congolais

Avatar de l’utilisateur
Laurent_R
Timide
Messages : 59
Inscription : 03 janv. 2016, 00:51
Localisation : Orgeval (78)

Re: [Tuto] Pilotage caméra ONVIF

Message par Laurent_R » 17 avr. 2018, 09:47

Bonjour,
Le scipt d'initialisation ne fonctionne pas sur mon systgème et je soupconne le port 8899 qui est indiqué de ne pas être le même sur ma caméra sricam.
D'ailleurs le code indiqué dans le git hub que tu mentionnes en début de post est 10080.
Comment as tu trouvé le bon port ?

freddye
Timide
Messages : 119
Inscription : 25 mai 2015, 09:10

Re: [Tuto] Pilotage caméra ONVIF

Message par freddye » 17 avr. 2018, 15:40

Le port onvif, tu peux normalement le trouver en te connectant en html sur ta caméra, et normalement même le changer.

Sinon tu peux utiliser Device Online manager : https://sourceforge.net/projects/onvifdm/ qui devrait trouver ta caméra.
Jeedom : Proxmox/VM core i3 + RFXcom + Esp(téléinfo+portail+Sonoff) + Xiaomi Mihome
Piscine : Arduino+RPI1 (Pression-Température-gestion pompe-Alarmes-pH-Redox-Eclairage)

Avatar de l’utilisateur
Laurent_R
Timide
Messages : 59
Inscription : 03 janv. 2016, 00:51
Localisation : Orgeval (78)

Re: [Tuto] Pilotage caméra ONVIF

Message par Laurent_R » 17 avr. 2018, 19:12

Merci pour ta réponse rapide.
J'ai effectivement pu trouver mon port avec onvif device manager ==> port 5000

Je suis réellement désolé de refaire appel à toi mais mon getstatus.js renvoie pas vers une adresse interne de la caméra pour le sanpshot.
J'ai bien tenté de remplacer "www.gwelltimes.com" par l'ip de ma caméra mais sans succès.

Regarde le retour de mon getstatus et dis moi si tu as une idée car ma sricam me désespéré.

Code : Tout sélectionner

{
  "token": "IPCProfilesToken0",
  "name": "MainStream",
  "snapshot": "http://www.gwelltimes.com/manage/Upload/Pic/20147914514701.jpg",
  "stream": {
    "udp": "rtsp://192.168.0.60:554/onvif1",
    "http": "rtsp://192.168.0.60:554/onvif1",
    "rtsp": "rtsp://192.168.0.60:554/onvif1"
  },
  "video": {
    "source": {
      "token": "VideoSourceConfigToken0",
      "name": "VideoSourceConfig0",
      "bounds": {
        "width": 640,
        "height": 360,
        "x": 0,
        "y": 0
      }
    },
    "encoder": {
      "token": "VideoEncoderConfigToken0",
      "name": "VideoEncoderConfig0",
      "resolution": {
        "width": 640,
        "height": 360
      },
      "quality": 10,
      "framerate": 30,
      "bitrate": 1200,
      "encoding": "H264"
    }
  },
  "audio": {
    "source": {
      "token": "AudioSourceConfigToken",
      "name": "AudioSourceConfig"
    },
    "encoder": {
      "token": "AudioEncoderConfigToken",
      "name": "AudioEncoderConfig",
      "bitrate": 64,
      "samplerate": 8,
      "encoding": "G711"
    }
  },
  "ptz": {
    "range": {
      "x": {
        "min": 0,
        "max": 0
      },
      "y": {
        "min": 0,
        "max": 0
      },
      "z": {
        "min": 0,
        "max": 0
      }
    }
  }
}
Done!

freddye
Timide
Messages : 119
Inscription : 25 mai 2015, 09:10

Re: [Tuto] Pilotage caméra ONVIF

Message par freddye » 17 avr. 2018, 21:32

Désolé, je pense que ta cam ne supporte pas le snapshot, ou du mois tu ne le récupérera pas par cette methode
Jeedom : Proxmox/VM core i3 + RFXcom + Esp(téléinfo+portail+Sonoff) + Xiaomi Mihome
Piscine : Arduino+RPI1 (Pression-Température-gestion pompe-Alarmes-pH-Redox-Eclairage)

Avatar de l’utilisateur
Laurent_R
Timide
Messages : 59
Inscription : 03 janv. 2016, 00:51
Localisation : Orgeval (78)

Re: [Tuto] Pilotage caméra ONVIF

Message par Laurent_R » 17 avr. 2018, 22:43

Merci tout de même pour ton temps passé à me répondre.

Jules13
Timide
Messages : 214
Inscription : 05 avr. 2017, 20:42

Re: [Tuto] Pilotage caméra ONVIF

Message par Jules13 » 28 avr. 2018, 17:19

Bonjour,
J'ai fais mes scripts qui marchent en local avec node...
J'ai donné toute les permissions a jeedom (j'avais l'erreur et elle est parti)
Mais maintenant j'ai cette erreur au lancement du script

Code : Tout sélectionner

×Erreur dans l'exécution du terminal, la valeur retournée est : 1. Détails : Array ( [0] => /var/www/html/plugins/script/core/ressources/PTZTEST0.js:8 let device = new onvif.OnvifDevice({ ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10) at startup (node.js:146:18) at node.js:404:3 )
"Si le cerveau était si facile à comprendre, nous serions si simple d'esprit que nous ne le comprendrions pas. "
Lyall Watson
"Quand l'argent parle, la vérité se tait."
Proverbe congolais

Jules13
Timide
Messages : 214
Inscription : 05 avr. 2017, 20:42

Re: [Tuto] Pilotage caméra ONVIF

Message par Jules13 » 28 avr. 2018, 17:36

Trouvé, c'était une erreur de node.js
il suffis d'ajouter

Code : Tout sélectionner

"use strict";
en tête de fichier pour que ca marche.
Maintenant ma camera bouge avec une latence faible: 1s environ
Jules
"Si le cerveau était si facile à comprendre, nous serions si simple d'esprit que nous ne le comprendrions pas. "
Lyall Watson
"Quand l'argent parle, la vérité se tait."
Proverbe congolais

freddye
Timide
Messages : 119
Inscription : 25 mai 2015, 09:10

Re: [Tuto] Pilotage caméra ONVIF

Message par freddye » 29 avr. 2018, 09:10

C'est vrai que les temps de réponse sont assez élevés. Je ne sait pas si c'est due à Node ou au pilotage ONVIF, mais c'est toujours ça.

C'est pour ça que je n'utilise pas les commande gauche-droite-haut-bas, mais uniquement des pré-positions.

Heureux que ma méthode ait servie à quelqu'un d'autre.

Ça reste tout de même de la bidouille qui demande à être optimisée et pourquoi pas intégré dans un plugin.
Jeedom : Proxmox/VM core i3 + RFXcom + Esp(téléinfo+portail+Sonoff) + Xiaomi Mihome
Piscine : Arduino+RPI1 (Pression-Température-gestion pompe-Alarmes-pH-Redox-Eclairage)

snow51
Timide
Messages : 77
Inscription : 09 juin 2015, 08:57

Re: [Tuto] Pilotage caméra ONVIF

Message par snow51 » 30 avr. 2018, 16:45

Tu n'as pas essayé avec les commandes Wanscam ou Foscam ? Les caméras chinoises utilisent des firmware génériques ou sont souvent meme identiques a l'intérieur et c'est juste la marque qui change.
RPI3 avec disque dur
MySensors : téléinfo, Température-humidité-ouverture
ESPEasy : Relais contact sec garage, Relais VMC
DIY Wifi : Capteur de consommation avec pinces ampèremétriques
Xiaomi : Roborock S50
BLEA : Mi Flora

Avatar de l’utilisateur
mairyj
Timide
Messages : 368
Inscription : 22 nov. 2014, 07:58
Localisation : Belgique

Re: [Tuto] Pilotage caméra ONVIF

Message par mairyj » 11 juin 2018, 11:17

Bonjour a tous, je viens de recevoir également une camera de chez aliexpress et j'ai également le même probleme d'intégration.
J'ai donc installer node-onviff
dont le résultat de l'installation est bien correcte.

Code : Tout sélectionner

/root
└─┬ node-onvif@0.1.4
  ├─┬ html@1.0.0
  │ └─┬ concat-stream@1.6.2
  │   ├── buffer-from@1.1.0
  │   ├── inherits@2.0.3
  │   ├─┬ readable-stream@2.3.6
  │   │ ├── core-util-is@1.0.2
  │   │ ├── isarray@1.0.0
  │   │ ├── process-nextick-args@2.0.0
  │   │ ├── safe-buffer@5.1.2
  │   │ ├── string_decoder@1.1.1
  │   │ └── util-deprecate@1.0.2
  │   └── typedarray@0.0.6
  └─┬ xml2js@0.4.19
    ├── sax@1.2.4
    └── xmlbuilder@9.0.7
    
J'ai creer le fichiers getStatus.js

Code : Tout sélectionner

const onvif = require('node-onvif');

// Create an OnvifDevice object
let device = new onvif.OnvifDevice({
  xaddr: 'http://192.168.0.97:8899/onvif/device_service',
  user : 'root',
  pass : 'XXXX'
});

// Initialize the OnvifDevice object
device.init().then(() => {

let profile = device.getCurrentProfile();
console.log(JSON.stringify(profile, null, '  '));

}).then(() => {
  console.log('Done!');
}).catch((error) => {
  console.error(error);
});
mais après éxecution j'obtiens ceci :

Code : Tout sélectionner

/root/getStatus.js:4
let device = new onvif.OnvifDevice({
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:148:18)
    at node.js:405:3
Je ne suis pas très doué en programmation je l'avoue et je ne vois pas bien où pourrais se situer le problème donc si un de vous a une idée se serais génial merci d'avance a vous ^^

Julien
Jeedom 3.2.11 sur Z83II + Z-Stick Gen5 + OpenZwave
Philips Hue - Xiaomi Home - Zigate - RFXCom - RFLink - Milight - Harmony Hub - ESPEasy - Broadlink - Heatzy - Google Home - Alexa - Netatmo - Synology DS214Play

Naboleo
Actif
Messages : 746
Inscription : 20 janv. 2017, 09:57

Re: [Tuto] Pilotage caméra ONVIF

Message par Naboleo » 11 juin 2018, 12:27

mairyj a écrit :
11 juin 2018, 11:17

Je ne suis pas très doué en programmation je l'avoue et je ne vois pas bien où pourrais se situer le problème donc si un de vous a une idée se serais génial merci d'avance a vous ^^

Julien
Applique la correction de jules13 quelques messages plus haut, au début de ton fichier
Dernière édition par Naboleo le 12 juin 2018, 10:23, édité 1 fois.
Pi4/4Go +SSD 32Go (Wifi et bluetooth actifs) + Clé USB Z-Wave Everspring + rfxcom (RTS) + Google Home
7 Danfoss LC-13
2 velux module DIO
7 volets RTS
3 Sonoff
IFTTT
Capteur porte, de présence, et prise intelligente...

Avatar de l’utilisateur
mairyj
Timide
Messages : 368
Inscription : 22 nov. 2014, 07:58
Localisation : Belgique

Re: [Tuto] Pilotage caméra ONVIF

Message par mairyj » 12 juin 2018, 07:25

Yes effectivement bien vu ^^merci beaucoup
Jeedom 3.2.11 sur Z83II + Z-Stick Gen5 + OpenZwave
Philips Hue - Xiaomi Home - Zigate - RFXCom - RFLink - Milight - Harmony Hub - ESPEasy - Broadlink - Heatzy - Google Home - Alexa - Netatmo - Synology DS214Play

Lerva
Timide
Messages : 2
Inscription : 19 juil. 2018, 11:08

Re: [Tuto] Pilotage caméra ONVIF

Message par Lerva » 19 juil. 2018, 11:14

Bonjour,

d'abord merci pour ce tuto tres clair. est-ce que vous pourriez me dire quelles cameras chinoises vous avez, j'ai une ESCAM G02 et a priori le PTZ n'est pas supporté. la camera a l'air de bien repondre en onvif (getstatus marche bien) mais les commandes pour aller sur un point preset ne font pas bouger la camera et le retour du script est vide :

Code : Tout sélectionner

 
 #node /home/pi/ptz.js 2
myArgs:  [ '2' ]
{
  "GotoPresetResponse": ""
}
Merci

Lerva
Timide
Messages : 2
Inscription : 19 juil. 2018, 11:08

Re: [Tuto] Pilotage caméra ONVIF

Message par Lerva » 20 juil. 2018, 09:09

hello,
je vais m'autorepondre ca pourra servir a d'autres. finalement cette camera marche bien sous jeedom. mais l'implementation onvif est un peu moyenne.

en lisant la doc et en utilisant les exemples de node-onvif j'ai pu voir que si on appelle pas de "token" comme pour le retour en position "home" ca marche. j'ai reussi a trouver le bon token en utilisant la fonction "getCurrentProfile".

ce qui donne le script ptz.js :

Code : Tout sélectionner

const onvif = require('node-onvif');

// Create an OnvifDevice object
let device = new onvif.OnvifDevice({
  xaddr: 'http://<adresse IP de ma camera>:8080',
  user : 'admin',
  pass : 'xxxxxxxx' // defaut admin
});

// Initialize the OnvifDevice object
device.init().then(() => {
let profile = device.getCurrentProfile();
let params = {
  'ProfileToken': 'Preset',
  'PresetToken' : 'Preset2',
  'Speed'       : {'x': 1, 'y': 1, 'z': 1}
};

device.services.ptz.gotoPreset(params).then((result) => {
  console.log(JSON.stringify(result['data'], null, '  '));
}).catch((error) => {
  console.error(error);
});
});
ce script est a ameliorer parce que le preset est ecrit en dur.

chris4269
Timide
Messages : 177
Inscription : 18 août 2017, 15:08

Re: [Tuto] Pilotage caméra ONVIF

Message par chris4269 » 03 sept. 2018, 09:55

Bonjour
Est il prévu que tout cela soit intégrer dans le pluging camera
En effet de nombreuse camera fonctionnent avec le protocole ONVIF
Cordialement et encore merci pour le travail

Répondre

Revenir vers « [Plugin officiel] Caméra »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités