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

Web & réseau Delphi Discussion :

WebSocket - Streaming video ?


Sujet :

Web & réseau Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par défaut WebSocket - Streaming video ?
    Bonjour,

    j'ai besoin dans le cadre d'un projet de connecter un client leger en HTML5, a un serveur Delphi via des WebSockets. Une fois cette connexion établie, j'aurai besoin notamment d'envoyer des données textes (JSon) mais également des images et vidéos.

    Pour le moment j'ai bien établi la connexion (Handshake) et je communique correctement avec mon client. Les échanges de requêtes et données en JSon fonctionnent et j'envoi des images et vidéos qui sont bien reçu et affiché sur mon client web.

    J'utilise Delphi 2010 et les composants Overbyte ICS pour les Sockets.

    Mon probleme et mes questions:
    Pour envoyer la vidéo pour le moment je converti le fichier en FileStream puis en TStringStream avec un encodage en base64 de la chaîne résultante, Je l'insert dans un json avec les tags qui me permettent de traiter tout ça par le client et lui l’insert dans le "src" de mon élément video ('data:video/mp4;base64,'+datastr64).
    Donc le client n'affiche la video que quand toute la frame est reçue et donc si la vidéo est volumineuse c'est long bien sur (surtout sous Chrome ou la vidéo met bien plus du double de temps que sous Firefox ...)

    Je voudrais savoir si c'est possible et comment envoyer le flux en streaming histoire de charger la vidéo au fur et à mesure ? En ayant au final la vidéo téléchargé dans le temp du client et de pouvoir la jouer, mettre la pause, avancer, reculer donc naviguer dessus... à la Youtube quoi (du coup je me demande si ca correspond toujours a du streaming )

    Merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 001
    Par défaut
    c'est sur si tu envoie la vidéo d'un bloc, ce n'est plus du streaming

    WebSocket, euh ... si je ne trompe pas, c'est les des éléments utilisés par le HTML 5, donc pourquoi ne pas utilisé la balise
    Code hmtl : Sélectionner tout - Visualiser dans une fenêtre à part
    <video>...</video>
    Si tu ne peux pas encore profiter du HTML5, j'ai pas trouvé la méthode HMTL4+ JS Pure (j'ai pas non plus vraiment cherché)

    Sinon Youtube cela n'utiliserait pas un FlashPlayer ou FlowPlayer ? donc un plug-in compilé !

    J'ai travaillé avec différentes caméras, la plupart installe un ActiveX (oui oui !)
    tu as la technique du JPEG Motion (une succession d'image), tu peux ainsi dans un JS chopé les images une par une (lent et gourmand car peu compressé par rapport au H264 MPEG4)
    D'autres trichent avec un Flash, Real media ou autre (donc ActiveX ou plugin-in FF ou encore Silverligth et ASP)
    D'autres fournisse un stream H264, et faut se débrouiller avec, j'ai pas encore eu le temps d'approndir

    Mais ta recherche sur la Video en Websocket AVEC ou SANS HTML5 m'intéresse, je devrais dans quelques mois en apprendre plus avec un futur projet en attente de dev
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par défaut
    Merci de ta réponse.

    En faite j'ai opté pour la solution de facilité... a savoir installer un serveur de Streaming et je ne fait que passer l'url rtmp via la websocket...
    De l'autre coté un player flash / et balise Video HTML5 avec jwplayer pour le moment.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NET 1.1] Streaming video
    Par diaboloche dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/02/2011, 11h23
  2. Un bon lecteur de streaming video à me conseiller ?
    Par brunoperel dans le forum Windows
    Réponses: 9
    Dernier message: 05/09/2007, 22h47
  3. [HTML] streaming video *.rm marche avec FF pas avec IE
    Par gretch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/10/2006, 15h05
  4. Streaming video sous Linux
    Par freeshman dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 03/01/2004, 17h17

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