IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Capturer le Streaming d'une camera IP


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2015
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : octobre 2015
    Messages : 55
    Points : 82
    Points
    82
    Par défaut Capturer le Streaming d'une camera IP
    Bonjour,
    J'essaye d'avoir la vidéo en streaming d'une camera IP afin de l'enregistrer.
    Le streaming est accessible via le navigateur à l'adresse http://monIp:port. J'accède à une page d'authentification puis j'ai la vidéo live.
    J'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
           private void Display()
            {
                try
                {
                    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
                    httpRequest.Credentials = new NetworkCredential("username", "password");
     
                    HttpWebResponse myHttpWebResponse = (HttpWebResponse)httpRequest.GetResponse();
                    Stream receiveStream = myHttpWebResponse.GetResponseStream();
     
                    Response.Cache.SetCacheability(HttpCacheability.Public);
                    Response.AppendHeader("Content-Type", "video/mp4");
     
                    using (BinaryReader binaryReader = new BinaryReader(receiveStream))
                    {
                        byte[] buffer = new byte[100000];
                        while (true)
                        {
                            int nbrByte = receiveStream.Read(buffer, 0, buffer.Length);
                            if (nbrByte == 0)
                                break;
     
                            Response.OutputStream.Write(buffer, 0, nbrByte);
     
                            Response.Clear();
                            //Response.Flush();
                        }
                    }
                }
                catch (Exception ex)
                {
                    string errMsg = ex.Message;
                }
     
            }

    Mon problème est que rien ne se passe. Quand j'exécute le code je n'ai pas de streaming. Est-ce-que j'ai manqué quelque chose ?
    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2013
    Messages : 40
    Points : 60
    Points
    60
    Par défaut
    Est-ce que on sort immédiatement de la boucle parce que nbrByte == 0 ?

    Sinon cette boucle sans "pause" exécutée dans le thread de l'IHM risque de bloquer l'interface utilisateur. Il faudrait l'exécuter dans un autre thread en mettant un Thread.Sleep(1) en fin de boucle.

    C'est utilisé avec WPF ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2015
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : octobre 2015
    Messages : 55
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par dzediar Voir le message
    Est-ce que on sort immédiatement de la boucle parce que nbrByte == 0 ?

    Sinon cette boucle sans "pause" exécutée dans le thread de l'IHM risque de bloquer l'interface utilisateur. Il faudrait l'exécuter dans un autre thread en mettant un Thread.Sleep(1) en fin de boucle.

    C'est utilisé avec WPF ?
    Merci de ta reponse, c'est du web et la fonction s'execute dans un different thread.

Discussions similaires

  1. Capturer video d'une camera IP
    Par dakota77 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 01/11/2009, 15h44
  2. Réponses: 2
    Dernier message: 05/07/2006, 16h21
  3. Vidéos en streaming sur une page web, comment ?
    Par norwy dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 19/06/2006, 21h07
  4. Capture d'image sur une vidéo en cours
    Par Bill14 dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2005, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo