Récupérer capture de flux

crepijules Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
crepijules Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici mon problème pour faire simple : j'ai de nombreuses caméras qui mettent à disposition un flux accessible avec une url du type http://example.com/cam035/stream.cgi

Or j'aimerais en faire une capture à l'aide de php (si possible en .jpeg mais pas obligatoire)

Merci d'avance pour votre aide ;)
A voir également:

3 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 753
 
Bonjour,

Jamais testé .. mais une petite recherche sur le net permet de trouver des trucs du genre
https://github.com/stephen-webmad/mjpeg-restream/blob/master/stream.php


0
crepijules Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci beaucoup !
En fait, il me manquait les mots clés pour la recherche, car avec ".cgi to .jpeg in php", je ne trouvais pas grand chose, mais en fait il faut prendre le .cgi comme flux de type mjpeg (je ne suis pas sûr de ce que je dis, mais avec des recherches sur mjpeg il y a beaucoup plus de résultats, et des scripts qui correspondraient à ce que je souhaite faire)

J'ai essayé le script, par contre il est assez ancien, j'ai essayé de l'adapter à mon cas mais il n'a pas l'air de vraiment fonctionner...

Par contre, j'ai pu trouver des parties de code, et adapter quelque chose avec des parties venant d'internet, mais j'obtiens une page vide (alors que je devrais avoir une erreur si il y a un problème) :

<?
set_time_limit(0);
$fp = fsockopen ("example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET /cam035/stream.cgi HTTP/1.0\r\n\r\n");
    while ($str = trim(fgets($fp, 4096)))
       header($str);
    fpassthru($fp);
    fclose($fp);
}
?>


Problème dans la requête peut être ?

Merci d'avance !
0
jordane45 Messages postés 40050 Statut Modérateur 4 753
 
Ta balise d'ouverture de PHP n'est pas bonne...
<? ... A remplacer par. <?php

Et pour les messages d'erreur, tout dépend comment est paramétrer ton serveur.
Regarde ici
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
0
crepijules Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   6 > jordane45 Messages postés 40050 Statut Modérateur
 
Je viens de changer la balise d'ouverture du code php, en effet je n'avais pas fait attention quand j'avais trouvé le code, mais cela n'a pas l'air de changer grand chose...

J'ai aussi paramétré le serveur pour qu'il affiche toutes les erreurs, mais toujours rien : une page blanche.

Un test était de fournir une url fausse, et là j'obtiens bien une erreur me disant que le flux n'existe pas (ou connexion refusée en fonction du test) ce qui est normal comme il n'y a aucun flux à cette url.

Par contre, après avoir rétabli l'url normale (qui fonctionne sur un navigateur), je n'ai toujours rien, pourtant le code est censé me renvoyer une erreur à la ligne 5, ou dois-je ajouter encore d'autres renvois d'erreur pour être bien sur qu'il n'y ait pas d'autre problème sans renvoyer d'erreur ?

Merci encore et bonne soirée ;)
0
crepijules Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,
Je crois que j'ai trouvé une piste, sur certains forums il est question d'utilisation de la bibliothèque GD pour Php, par contre je ne vois pas trop quelle fonction serait la plus utile et celle qui aurait besoin du minimum de code autour pour simplement capturer une image depuis un flux, une idée peut-être ?
Bonne journée
0