Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Schnelle Bildschirmübertragung per Netzwerk (https://www.delphipraxis.net/171035-schnelle-bildschirmuebertragung-per-netzwerk.html)

olee 16. Okt 2012 20:22

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Danke fürs posten ;-)

Zacherl 16. Okt 2012 23:16

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Danke euch beiden, das sieht doch recht vielversprechend aus :) Ich werde mir die Funktion mal selbst für variable Bittiefen anpassen. Die Erweiterung für gerade und ungerade Zahöen ist einfach damit der Empfänger schonmal in der Hälfte der Zeit eine Änderung sieht? Wäre auf jeden Fall auch da an deiner Umsetzung interessiert.

Aphton 17. Okt 2012 00:03

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Joa. Aufjedenfall kann ich mit ihm Videos im kleinen Player auf youtube mit 7-8fps mitkucken!

Bzgl der Aufnahme: bei mir (i7 3.4 ghz) kann ich mit 30~ fps im Schnitt per StretchBlt / BitBlt Bilder mit der Auflösung 1920x1080 aufzeichnen. Deaktiviere ich Aero, so steigt es auf ~150.

Also falls man da noch ein paar Frames rausholen will, könnte man dieses Bottleneck entfernen... DwmDisableComposition()

olee 17. Okt 2012 01:14

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi nochmal,

Dein Posting hier hatte nochmal mein Interesse geweckt und da hab ich schnell mal das alte Programm mit Aphton's Hilfe etwas überarbeitet und auch die unterscheidung zwischen den Bittiefen 8 / 24 Bit hinzugefügt, sowie mancher kleiner Extras.
Wenn du Interesse an diesem "Codec" hast, ich habe ihn als Unit angehangen.

EDIT: Schon irgendwie lustig, dass du dieses Thema anpackst, wo wir erst vor kurzem selbst drauf gekommen sind :D
Wäre cool, wenn du das ganze vielleicht noch schneller bekommen könntest!
Testen lässt sich das am besten mit ein paar ausgewählten Bildern, welche man laden, durch den Codec jagen und anschließend nach Paketgrößen prüfen kann.

EDIT-2: Der neue Code ist auch variabel auf einen *übertrage-jede-n-te-Zeile* mit Parameter 'n' einstellbar.

EDIT-3 (man bin ich vergesslich -.-'): Das neue Programm hat sich je nach Scenario sogar schneller als Teamviewer erwiesen. Scheint als wäre das der richtige Weg :D

Viel Spaß damit

MFG

Zacherl 17. Okt 2012 06:02

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Vielen vielen Dank schonmal für die Codec Unit und das Beispielprogramm :) Das Verfahren ist echt schon irre schnell muss man sagen. Lustigerweise gibt es bei mir keinen wirklichen Unterschied bei den Frameraten bezüglich lokaler Verbindung und Verbindung über WAN IP. Ich muss das später von der Uni aus nochmal genau prüfen, vielleicht hat mein Router die WAN IP auch einfach ganz geschickt wieder auf meine LAN IP geroutet. Oder hast du in der Demo Anwendung sowas wie eine Framerate Begrenzung eingebaut?

Ich bastele mir mal eine eigene kleine Demoanwendung und schaue dann, was sich noch optimieren lässt.

olee 18. Nov 2012 12:28

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Liste der Anhänge anzeigen (Anzahl: 1)
Auf mehrfache Anfrage hier mal der gesamte Code der Screen-Sharing Demo.
Intern werden dabei meine Net-Messages zur einfachen und effizienten Übertragung von großen TCP Paketen verwendet.

MFG

arnof 10. Nov 2016 16:56

AW: Schnelle Bildschirmübertragung per Netzwerk
 
gibt es hier schon was neues ?

Ich habe mir gerade die Teamviewer Updatepreise angeschaut, da bin ich echt am überlegen, sowas selbst zu machen ....

Aviator 10. Nov 2016 17:18

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Zitat:

Zitat von arnof (Beitrag 1353294)
gibt es hier schon was neues ?

Ich habe mir gerade die Teamviewer Updatepreise angeschaut, da bin ich echt am überlegen, sowas selbst zu machen ....

Musst du da auf Rechner in entfernten Netzwerken zugreifen? Ansonsten schau dir mal TightVNC an. Ich meine da wäre sogar der SourceCode bzw. eine DLL dabei um sowas in das eigene Programm zu implementieren.

Benutzen wir hier in der Firma zur Fernwartung. Funktioniert perfekt. Besser als RealVNC oder UltraVNC.

Nur haben wir das natürlich nicht in einer eigenen Anwendung integriert. Ist aber ja mit TeamViewer auch nicht möglich, oder?

Zacherl 10. Nov 2016 17:43

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Gibt seit Windows 8 tatsächlich etwas sehr Feines: Die Desktop Duplication API.

Über dieses Interface bekommst du direkt von Windows alle Änderungen am Bildschirminhalt zwischen zwei Aufrufen der Funktion geliefert. Dabei sind die Daten sehr geschickt und platzsparend arrangiert. Zum Einen bekommst du eine Liste mit Rechtecken (nur die Position und Größe, keine Bildaten) von gleichgebliebenen Bereichen, die sich allerdings verschoben haben und zum Zweiten erhälst du eine Liste mit Rechtecken (diesmal Position, Größe und Bilddaten) von Bereichen, die sich geändert haben.

Harry Stahl 10. Nov 2016 18:17

AW: Schnelle Bildschirmübertragung per Netzwerk
 
Zitat:

Zitat von arnof (Beitrag 1353294)
gibt es hier schon was neues ?

Ich habe mir gerade die Teamviewer Updatepreise angeschaut, da bin ich echt am überlegen, sowas selbst zu machen ....

Vor der Überlegung stand ich auch vor kurzem, mein Remote-Desktop-Programm (bei Interesse, hier: http://www.pc-network.biz/) auf einen Fernwartungsmodus zu erweitern, denn die TeamViewer-Preise finde ich inakzeptabel.

Habe dann aber anydesk gefunden, das ist sehr preiswert und in einigen Punkten sogar noch besser als der Teamviewer :http://anydesk.de/remote-desktop

Das nutze ich jetzt seit einiger Zeit und bin bislang sehr zufrieden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz