Hallo,

Ik heb een IP camera (Foscam FI9831W) waarvan ik de pagina met de live stream in de player van Xibo (een narrowcasting CMS) wil plaatsen. Dit betekent dat ik de inlogpagina zal moeten omzeilen door de inloggevens in een script te zetten.

Ik heb geen ervaring met PHP en zie op verschillende forums verschillende scripts staan.
Ik hoop dat iemand mij zou kunnen helpen hiermee :)

Alvast bedankt
Op zich kan je mooi eens kijken naar cURL. Je moet uiteraard wel weten welke headers en POST/GET requests er worden meegestuurd bij het inloggen. Dat kan je bijv. met de FireBug-extensie in Firefox achterhalen, of met soortgelijke extensies in andere browsers.

Het komt dus neer op specifiek maatwerk. Maar met cURL ben je er zeker van dat je een hoop requests en headers mee kan sturen.

Voor een beginner is het nog best pittig, dus zorg eerst dat je basis kent van PHP. Eventueel kan je ook op het forum een Vacature plaatsen om dit te laten doen.
- Ariën - op 12/11/2015 09:10:26

Op zich kan je mooi eens kijken naar cURL. Je moet uiteraard wel weten welke headers en POST/GET requests er worden meegestuurd bij het inloggen. Dat kan je bijv. met de FireBug-extensie in Firefox achterhalen, of met soortgelijke extensies in andere browsers.

Het komt dus neer op specifiek maatwerk. Maar met cURL ben je er zeker van dat je een hoop requests en headers mee kan sturen.

Voor een beginner is het nog best pittig, dus zorg eerst dat je basis kent van PHP. Eventueel kan je ook op het forum een Vacature plaatsen om dit te laten doen.


Oke, ik zal er eens naar kijken.

Is 1 script dan voldoende hiervoor? Ik raakte namelijk erg in de war van sommige berichten op andere forums.
het inloggen op dit soort camera's gaat via een http-password. Zeg maar zo'n harde popup die je van de browser krijgt voor een username/password.

curl kan dat via
<?php curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); ?>

bedenk wel dat je dan alle data-verkeer naar je server haalt en vandaaruit weer naar de bezoeker stuurt.
Dat kost je dus redelijk wat dataverkeer als je veel bezoekers hebt.

Meestal kunnen deze camera's ook maar een beperkt aantal streams tegelijk aan.

Wil je echt bewegend beeld hebben, of zouden foto's volstaan?

met snapshot.cgi kun je losse foto's opvragen namelijk.
En afhankelijk van de firmware versie kun je soms ook zonder in te loggen beeld zien.
Ivo P op 12/11/2015 09:49:45

het inloggen op dit soort camera's gaat via een http-password. Zeg maar zo'n harde popup die je van de browser krijgt voor een username/password.

curl kan dat via
<?php curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); ?>

bedenk wel dat je dan alle data-verkeer naar je server haalt en vandaaruit weer naar de bezoeker stuurt.
Dat kost je dus redelijk wat dataverkeer als je veel bezoekers hebt.

Meestal kunnen deze camera's ook maar een beperkt aantal streams tegelijk aan.

Wil je echt bewegend beeld hebben, of zouden foto's volstaan?

met snapshot.cgi kun je losse foto's opvragen namelijk.
En afhankelijk van de firmware versie kun je soms ook zonder in te loggen beeld zien.


Het gaat om bewegend beeld.

Momenteel heb ik een php-bestand (camera.php) op de Xibo-server staan:

<?php
$file = 'http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi';

if (file_exists($file)) {
header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>


In de bijbehorende module van Xibo heb ik gerefereerd naar
http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi

De display blijft zwart.

hoe kom je aan die url?

wat als je doet
voor bewegend beeld: (stream van jpgs achter elkaar)
<?php $file = 'http://user:password@camera_ip_address/videostream.cgi'; ?>

of
<?php $file = 'http://user:password@camera_ip_address/snapshot.cgi'; ?>

voor 1 losse jpg

Toevoeging op 12/11/2015 10:40:00:

ik heb hier niet exact hetzelfde model foscam, maar deze url is vrij universeel

(veel van die merken camera hebben kennelijk dezelfde basis. Mijn wanscam camera werkt in mijn Android app niet als ik hem met het juiste type aanduidt, maar als ik zeg dat het een Foscam 9820 is, dan werkt hij perfect.)
Ivo P op 12/11/2015 10:37:37

hoe kom je aan die url?

wat als je doet
voor bewegend beeld: (stream van jpgs achter elkaar)
<?php $file = 'http://user:password@camera_ip_address/videostream.cgi'; ?>

of
<?php $file = 'http://user:password@camera_ip_address/snapshot.cgi'; ?>

voor 1 losse jpg

Toevoeging op 12/11/2015 10:40:00:

ik heb hier niet exact hetzelfde model foscam, maar deze url is vrij universeel

(veel van die merken camera hebben kennelijk dezelfde basis. Mijn wanscam camera werkt in mijn Android app niet als ik hem met het juiste type aanduidt, maar als ik zeg dat het een Foscam 9820 is, dan werkt hij perfect.)


Die URL kwam ik op meerdere forums tegen. Videostream lijkt me inderdaad logischer :)

Toevoeging op 12/11/2015 11:04:13:

Nog steeds geen resultaat, helaas.

Toevoeging op 12/11/2015 12:16:03:

Bestaan er überhaupt IP camera's waar je het invoeren van login gegevens kunt uitzetten?

Reageren