HBITMAP über sockets senden



  • Hi,

    ich möchte mich näher mit dem Thema Datenübertragung beschäftigen.

    Ist es da theoretisch möglich ein HBITMAP via socket zu übermitteln
    und auf der Gegenseite wieder als HBITMAP weiterzuverwenden?



  • Nein, das HBITMAP kannst du zwar senden, aber es macht keinen Sinn - das ist nur ein Handle (eine Art Verallgemeinerung für "Zeiger") auf die tatsächlichen Bitmap-Daten. Du müsstest diese Bitmap-Daten senden und auf der Gegenseite unterbringen.



  • Hi CStoll,

    also muss ich wohl oder übel das ganze X MB große Bitmap erst übertragen 😞
    Hmm mal sehen ob es eine reelvante Übertragunsgeschwindigkeit bringt, wenn
    man das Bild erst komprimiert und dann wieder dekomprimiert.

    Ich veranstalte das ganze Theater, um eine halbwegs ruckelfreie Bildübertragung
    zu erreichen. Vermutlich wird sowas aber nur fürs LAN halbwegs tauglich sein 😞



  • Natürlich musst du das Bitmap übertragen. Wie soll das denn auch sonst auf dem anderen Rechner auftauchen? 😉

    Was genau hast du denn vor? Bewegte Bilder übertragen? Dann probiers mal mit stream compression. Da könntest du die mal die Sourcen vom vlcPlayer ansehen, der kann sowas auch.

    Oder gehts um was anderes? Sonst könntest du z.B. mit zlib die Daten im Speicher komprimieren (geht eigentlich rasend schnell), versenden und dann wieder auspacken.

    gruß
    Martin



  • mad_martin schrieb:

    Sonst könntest du z.B. mit zlib die Daten im Speicher komprimieren (geht eigentlich rasend schnell), versenden und dann wieder auspacken.

    Das ist wohl wonach ich suche 🙂 Hätte da in der Art als Laie
    an das HBITMAP gedacht.

    Ich googel mal nach zlib, denn das sagt mir bislang noch überhaupt nichts...



  • Kann man denn mit dem gezippe und entzippe überhaupt flüssig über sockets
    eine "Fernwartungslösung" simulieren?? Ich denke heer nicht, das müsste
    dann auch "ruckeln" ohne ende!!

    @mad_martin:
    Wie geht das mit dieser stream compression 😕



  • Die Fernwartungsteile wie VNC übertragen normal nur geänderte Bereiche und nutzen zum Teil verringerte Farbtiefe, verringerte (übertragene) Auflösung und diverse Bildkomprimierungen aus.
    jpeg lässt sich z.B. über GDI+ recht leicht nutzen. Sehr CPU-lastig ist allerdings das komprimieren der Bilddaten und vor allem das Erkennen von geänderten Bereichen. UltraVNC hat dazu sogar nen Treiber gebaut.

    Eine unkomprimierte Bitmap und auch eine zlib-komprimierte Bitmap dürften noch ziemlich Bandbreite fressen...



  • @ClasZiegenbart:
    Stream compression oder - vielleicht bekannter - Streaming media ist eine Form der Datenübertragung für Audio und Video. Im Endeffekt wird ein entsprechend komprimierter Datenstrom aus z.B. einer Tonspur und einer Videospur verschachtelt (muxing) und dann übertragen. Bei Video wird einfach ein bestehender Codec genutzt, also z.B. MPEG-4/DivX oder h264, der nicht immer komplette Bilder abspeichert, sondern die Änderung zwischen den Bildern.

    Beispiele sind z.B. die Shoutcast-Server.

    Weiteres: http://de.wikipedia.org/wiki/Streaming_Media

    gruß
    Martin



  • mit VfW kannst du das ebenfalls komprimieren und dann versenden


Anmelden zum Antworten