[PHP] Webcams via php authenticatie? *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heeft iemand ervaring met het opzetten van een webcam die kan 'praten' met php zodat ik op basis van php authenticate een webcam kan doorgeven aan de gebruiker. Dus onbevoegden die de webcam stream niet mogen zien zouden op geen enkele wijze toch de stream mogen ontvangen.

Ik heb via google gezocht maar kon niets bruikbaars vinden.

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Je webcam stuurt iedere zoveel tijd een plaatje naar een directory die niet vanaf de browser te zien is.

Je PHP script authenticate de user als dit gebeurd is leest PHP het plaatje uit en laat het zien, anders niet.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Waneer je een php scripts als een soort van proxy gebruikt moet het kunnen. Draai je webcam progje op een poort die niet van buiten bereikbaar is en bouw een php script dat controleerd, via localhost de stream opvraagt en dit tot slot doorgeeft.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

offtopic: Als het om xxx cams gaat zijn er vast wel mensen die je willen helpen :P

Misschien een idee op de cam door een applet te laten lopen zodat mensen de stream niet direct kunnen oproepen.

De Applet moet dan validatie van een hash code doen op de database om te mogen starten of niet :)

Met PHP alleen lijkt het me lastig :(

Ja man


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

In aanvulling op bovenstaande replies is het met PHP eenvoudig een plaatje door te geven na authorisatie; toevallig werken de meeste webcams ook op een manier dat ze op de zoveel tijd een plaatje op een FTP server kunnen zetten. Combineer deze twee en je hebt wat je wilt :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Volgens mij wil de topicstarter streamen :)

En dat lijkt me vrij lastig, zoals Janoz zegt lijkt me vrij lastig te doen :(

Ja man


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

BierPul schreef op 15 augustus 2003 @ 17:12:
Volgens mij wil de topicstarter streamen :)

En dat lijkt me vrij lastig, zoals Janoz zegt lijkt me vrij lastig te doen :(
Met PHP is het ook mogelijk om een server socket op te zetten om een stream door te geven. Ook is het mogelijk de stream locatie te verbergen; en door te geven dmv PHP; (header: Location) maar dit is niet erg veilig te realiseren.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De bedoeling is inderdaad om echt te streamen zodat je zeg 15 frames/sec ofzo kan halen.

Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
zijn dan toch twee verschillende dingen??

- streaming: java applet oid
- beveiliging: php user authentication

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
ALs je webcam 1x in de X seconden een plaatje ftp't dan is het vrij makkelijk om met php een authentificatie daar op te maken.

zoiets als
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
if() // hier je authentificatie
{
    header ("Content-type: image/png");
    $im = imagecreatefromgif ("$ftpdir."/".$image_file");
        if(!$im){
            die("error");
        }
    imagepng ($im);
    die();


}


$ftpdir is de locatie van je bestanden bv. ``ftp://user:pass@ftp.server''
$image_file is je bestandsnaam bv. plaatje.gif

moet je wel allow_url_fopen in je php.ini aan hebben staan

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hoe zou zo'n applet eruit zien die een database query kan doen? zijn daar 'standaard' dingen van te downloaden die je naar eigen wens kunt aanpassen?

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 16 August 2003 @ 03:55:
hoe zou zo'n applet eruit zien die een database query kan doen? zijn daar 'standaard' dingen van te downloaden die je naar eigen wens kunt aanpassen?
Een applet is niets meer dan een stuk java code wat met beperkte permissies op de computer van de gebruiker draait. Dat betekent bijvoorbeeld dat hij alleen naar de server waar hij vandaan komt kan connecten. Zelf moet je even gaan kijken hoe een stream wordt aangeboden en of daar al standaard functies voor beschikbaar zijn.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 17-09 22:48
Suepahfly schreef op 15 August 2003 @ 23:47:
ALs je webcam 1x in de X seconden een plaatje ftp't dan is het vrij makkelijk om met php een authentificatie daar op te maken.

zoiets als
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
if() // hier je authentificatie
{
    header ("Content-type: image/png");
    $im = imagecreatefromgif ("$ftpdir."/".$image_file");
        if(!$im){
            die("error");
        }
    imagepng ($im);
    die();


}


$ftpdir is de locatie van je bestanden bv. ``ftp://user:pass@ftp.server''
$image_file is je bestandsnaam bv. plaatje.gif

moet je wel allow_url_fopen in je php.ini aan hebben staan
Ik dacht deze methode al binnen een dag te verwachten toen ik deze las...
Hou er wel even rekening mee dat GD nu iedere refresh het plaatje tekent, dus als je bijv 10 mensen met 15 fps naar je webcam aan het kijken zijn (extreem voorbeeld) dan heb je wel 150 plaatjes per minuut die gemaakt moeten worden, worden het 100 mensen, dan haalt zelfs een snelle webserver het denk ik niet meer.
GD zuigt nogal veel CPU op (bij veel gebruik :D)....
En dan ook nog eens dmv een niet lokale ftp connectie, dat stuk script killt servers volgens mij :D

Mijn idee in pseudocode :
PHP:
1
2
3
4
5
6
include ('login.inc'); // Deze file kijkt of de gebruiker is ingelogd, if not geeft hij een login box

if ($gebruiker->id)
{
  echo "hier het script, of een refresh naar een andere pagina";
}


een voorbeeld van een login.inc (die natuurlijk anders heet hier) :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    session_start();


    // Controle of de bezoeker zich geidentificeerd is of niet
    if (session_is_registered('Ingelogd'))
    {
        $Ingelogd = true;

        // Haal de gegevens van de bezoeker op..$id is opgeslagen in de sessie gegevens
        $q1=mysql_query("SELECT * FROM klanten WHERE username='$gebruikersnaam'") OR DIE (mysql_error()."<BR><BR>");
        $gebruiker = mysql_fetch_object($q1);
        mysql_query_count();
        

        //echo "Ingelogd!\n";
    }
    else
    {
        $Ingelogd = false;
        //echo "NIET Ingelogd\n";
    }

sebsoft.nl

Pagina: 1