Développeur de jeux Jay la vidéo de surveillance de l'enregistrement blog de la caméra Foscam IP sans iSpy

Enregistrement vidéo de surveillance de la caméra Foscam IP sans iSpy

iSpy est un logiciel open source froide qui enregistre la vidéo de surveillance. Bien qu'il dispose de plusieurs fonctionnalités, les caractéristiques que j'utilisais a été l'enregistrement vidéo / audio lorsqu'un mouvement est détecté. Il avait très bien fonctionné et je profite beaucoup.







Un petit problème est que ce logiciel doit être en cours d'exécution 24/7 et toutes les données vidéo doit être diffusé en continu de la caméra IP à l'ordinateur qui iSpy est en cours d'exécution, même quand il n'y a pas de motion sont détectés. Parce que la détection de mouvement se produit sur le côté de l'ordinateur non sur le côté de la caméra, l'ordinateur doit télécharger toutes les données vidéo de la caméra IP via le WiFi. Je figure les données vidéo ne sont pas trop grand. Il était environ 7.3MByte par minute, ce qui est 122KByte / sec.

Aujourd'hui, je trouve que ma caméra IP (caméra IP sans fil Foscam FI8910W) a une fonction de détection de mouvement déjà. Donc, il m'a fait penser que lorsque la caméra IP détecte les mouvements, il peut laisser mon ordinateur savoir que l'enregistrement doit commencer. De cette façon, la bande passante Wi-Fi est enregistré et la puissance du processeur qui étaient censées être consacré au traitement d'image est enregistrée. Je ne pense pas qu'aucun d'eux ne sont une grosse affaire, mais j'ai commencé à mettre en œuvre mon idée pour le plaisir.

L'idée était que mon appareil photo Foscam peut télécharger des fichiers d'images sur un serveur FTP lorsqu'un mouvement est détecté. Mais il n'a pas de moyens pour télécharger des données de streaming vidéo. Je suis donc l'enregistrement des données de streaming vidéo lorsque la connexion FTP est demandée, alors que le téléchargement de l'image réelle de l'appareil photo sera ignoré.
Le scénario de travail est comme ceci:
  1. Foscam caméra surveille la scène.
  2. Foscam caméra détecte les mouvements
  3. Lorsque les mouvements sont détectés caméra Foscam tente de se connecter au serveur FTP et télécharger des fichiers d'image.
  4. Du côté du serveur FTP, il ignore tout ce qui est envoyé de la caméra Foscam.
  5. Mais au moment où la connexion FTP est demandée, VLC est lancé et VLC démarre l'enregistrement des données de streaming vidéo directement depuis la caméra Foscam.

Les paramètres de la caméra Foscam « Paramètres du service FTP » ressemble à ceci.
  • « Serveur FTP » est le numéro IP de l'ordinateur qui va stocker les données de streaming vidéo.
  • « Port FTP » est un faux numéro de cette tâche spécifique. Je vais utiliser un certain nombre « 2121 » pour cet article, mais vous pouvez le changer pour les chiffres.
  • « FTP utilisateur » doit être « appareil photo ». Il est sensible à la casse comme la plupart des ID de connexion FTP.
  • « Mot de passe FTP » n'a pas d'importance pour l'instant. Mais vous pouvez le faire compter en changeant le fichier batch de serveur ftp faux plus tard.
  • « Mode FTP » devrait être « PASV » pour l'instant.

La façon dont je suis expliquais ici ne va pas utiliser un vrai serveur FTP. J'ai fait un serveur FTP faux qui prétend être un serveur FTP. Ainsi, l'utilisateur / mot de passe n'a pas d'importance du tout. « Paramètres du service alarmer » ressemble à ceci:
  • « Détection de mouvement Alarmé » doit être cochée.
  • « Envoyer l'image en cas d'alarme » doit être cochée.
  • « Intervalle Upload (secondes) » peut être plus grand que 60. Ce nombre est quelque chose que vous pouvez modifier plus tard. Je ne recommande pas un nombre inférieur à 60.

Ce sont tous les paramètres du côté de la caméra Foscam.
Maintenant, quand il détecte les mouvements, la caméra va essayer de télécharger sur l'ordinateur. Si vous avez un vrai serveur FTP, il travaillera. Mais vous obtiendrez uniquement les images non audio / vidéo.

Maintenant, je vais vous expliquer côté de l'ordinateur. Ceci est peu hacky et difficile à comprendre, mais il n'y a aucun moyen de nuire à l'ordinateur du tout. Vous devrez installer NetCat pour Windows et VLC pour Windows. Ma mise en œuvre est basé sur Windows, mais si vous êtes familier avec script shell, vous pouvez traduire par vous-même parce que NetCat et VLC devraient travailler sur Linux / Mac aussi.







REM *** numéro de port de transfert de données réelles ***
SET ServerDataPort = 2120

REM *** Case nom d'utilisateur sensible ***
SET ValidUserID = caméra


REM *** Ne changez pas ci-dessous ***
SET / a = ServerPortHigh% ServerDataPort% / 256
SET / a ServerPortLow =% ServerDataPort% -% ServerPortHigh% * 256

ECHO 220 Message de bienvenue

SET / p user =
PAUSE> NUL
SINON "x% utilisateur%" == "xuser% ValidUserID%" GOTO: ERROR_AUTH
ECHO 331 S'il vous plaît indiquer le mot de passe.

passe SET / p =
PAUSE> NUL
ECHO 230 connexion des clients ok, des restrictions d'accès.

SET / P = typei
PAUSE> NUL
ECHO 200 Type réglé sur I

SET / P = pasv
ECHO 227 Passage en mode passif (% ServerIP:. =,%,% ServerPortHigh%,% ServerPortLow%)
PAUSE> NUL

SET / P = stor
ECHO 150 DOSSIER: aucun fichier ne sera enregistré, mais l'enregistrement vidéo démarre. START / B CMD / C CALL "% VLC_CAPTURE_BAT%" 2> NUL> NUL ECHO 226 complet de transfert.
PAUSE> NUL

next = SET / P
PAUSE> NUL
GOTO: FIN

ERROR_AUTH
ECHO 530 informations de connexion non valide.
GOTO: FIN

FIN Une fois que vous avez enregistré ce fichier batch quelque part, vous devrez modifier deux variables: ServerIP, ServerPort.

  • ServerIP est le numéro IP de l'ordinateur.
  • ServerDataPort a besoin peu d'explications. Lorsque l'accès client FTP à un serveur FTP, il effectue deux connexions. On est pour la communication de commande et l'autre est destiné à transporter des données réelles. Ils sont traditionnellement numéro de port 21 et 20 respectivement. Dans cet article, je me sers de 2121 et 2120 respectivement. Si vous faites défiler, vous pouvez voir « port FTP » est réglé pour être 2121 sur la caméra Foscam et ce fake_ftp_server va écouter le numéro de port. Ensuite, ce faux serveur FTP doit dire ce que le numéro de port est pour le transfert de données. Ainsi, le ServerDataPort devrait être un numéro de port qui n'est pas utilisé. Dans cet article, je vais utiliser pour 2120 le transfert de données.

Rappelez-vous que ce serveur FTP est un serveur FTP faux. Il peut vérifier le nom d'utilisateur et mot de passe mais pour l'instant, il prend soin nom d'utilisateur, mais pas le mot de passe.


La dernière étape de cet article est d'avoir un écouteur de port réseau.
NetCat va continuer à écouter tout accès réseau à partir d'autres machines.
Voici le fichier de commandes et l'enregistrer comme « c: \ batch \ fake_ftp_listener.bat »

ECHO [.ate%% TIME%] Démarrage serveur FTP faux pour la caméra IP.

REDÉMARRER
START / B CMD / C "% NETcat%" -l -p% FTP_DataPort% ^> NUL
"% NETcat%" -l -p% FTP_Port% -e "% FTP_Server%"
"% NETcat%" -Z localhost% FTP_DataPort%
GOTO: restart Vous devrez définir le chemin du fichier de commandes et NetCat; FTP_Server et NETcat respectivement.
Assurez-vous que les numéros de port sont identiques pour d'autres fichiers de traitement par lots; FTP_Port et FTP_DataPort.

Une fois que vous commencez à ce fichier batch, NetCat va commencer à écouter deux ports réseau.
Maintenant, essayez d'exécuter le fichier batch.
Pour vérifier si cela fonctionne ou non, vous pouvez vous connecter manuellement au port tout auditeur faux ftp est en cours d'exécution.
telnet localhost 2121 Si vous voyez un message de bienvenue, tapez « caméra USER ».
Si elle demande le mot de passe, il fonctionne.

trick Grand. Je voudrais ne pas perdre la fonctionnalité de serveur FTP et de garder ainsi les images sur mon serveur FTP.
Pouvez-vous penser à une façon de laisser la gâchette à came du faux serveur FTP pour qu'il démarre l'enregistrement, mais en même temps laisser passer à travers toutes les communications sur un serveur réel FTP, afin qu'il puisse enregistrer les ajouts d'images?

Eh bien, il a commencé à travailler sur lui-même, je ne sais pas ce que je l'ai fait en particulier que fixé il :-P Mais il y a une course en ligne dans votre fake_ftp_server.bat. Où il est dit quelque chose comme « pas de fichier sera enregistré. » La touche START suivante qui devrait être sur la ligne suivante. Très bonne idée, merci pour le partage :)

Salut Jay, salutation de l'Espagne!


Je l'IP rigth (j'ai essayé avec le numéro de port et sans PN).
J'ai essayé avec des chemins diferents et des dossiers pour enregistrer le fichier.
Même j'ai essayé d'exécuter .bat avec privilège / niveau des administrateurs, mais rien ne fonctionne.

Je vérifie chemin VLC (vlc 2.1.2), et le fichier bat VLC ouvre, mais VLC se ferme dès ouvert. Si je supprime VLC quit, VLC ne s'ouvre rien, même si je vais ouvrir l'URL par moi-même. Je fermer VLC et ensuite par URL.

Je peux voir la caméra avec l'URL et enregistrer aussi dans VLC, mais pas avec le fichier de chauve-souris.

En matière de faits, j'ai essayé mes fichiers batch hier et je trouve qu'ils ne fonctionnent plus. lol

Je prévois de travailler sur un nouveau fichier de script ou d'un lot mais je ne peux faire aucune promesse à ce stade.

Très bonne idée. J'ai fait une approche similaire mais sur un serveur Linux. Si vous souhaitez obtenir le transfert de fichiers FTP et faire un recodage en même temps:
-c port de 21 sudo | grep "UTILISATEUR ipcam" de - bin / vlc_ipcam_record.sh

Bonjour, Je cherchais des informations sur la façon de définir l'intervalle d'alarme Upload (en secondes). Je vous remarqué probablement le dit ensemble pas inférieur à 60. Pourquoi est-ce? Qu'est-ce que sa fonction? Aidez-moi! Merci!







Articles Liés