|
You last visited: Today at 06:17
Advertisement
[Suche]Videotransfer
Discussion on [Suche]Videotransfer within the AutoIt forum part of the Coders Den category.
02/23/2015, 22:46
|
#1
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
[Suche]Videotransfer
Hallo liebe EPVP Nutzer. Kurz und knapp:
Ich will ein Programm mit Videoübertragungsfunktion machen, was mir aber nicht glingt (b.z.w. mit 0.5FPS), da ich dauerhaft screenshots machen & sie (ganz) zum server übertragen muss.
Was ich brauche: Eine Methode um 2 Bilder zu vergleichen (Alt + Neu) und die sich unterscheidenden Pixel in einer 3. Datei zu speichern.
Vielen Dank schonmal im Voraus.
|
|
|
02/23/2015, 22:55
|
#2
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Der Weg wie du deine Screenshots machst ist das Problem. Du speicherst sie auf der HDD statt als Image-Stream direkt loszuschicken.
Du könntest auch HyperCam 3 bsp.-weise nehmen und zwei Sekunden im voraus mit low-Bitrate aufnehmen und dann Chunk für Chunk transferieren.
Wenn du Pixel mit Pixel vergleichen willst ist AutoIt die falsche Wahl, da es zu langsam ist.
Du kannst ja mal versuchen eine DLL in C# zu coden und sie dann zu callen. Ist wesentlich schneller.
|
|
|
02/24/2015, 02:05
|
#3
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Du willst also einerseits wissen wie man Programme als Systemuser in den Autostart hängt zum anderen wie man Screen Mirroring macht? Man könnte böses vermuten.
Aber nun gut. Du musst etwa folgendermaßen vorgehen, du schnappst dir per GDI das Canvas des Desktop Handles, kopierst dann den Inhalt auf ein anderes Canvas der selben größe. Dann kopierst du einen Teil davon (z.B. 200x200 px) und überprüfst dieses mit der alten Stelle (Pixel by Pixel mit GDI). Wenn die änderung über einem Toleranzwert (z.b. 1%) ist schickst du dieses an den Clienten.
Wenn du lust und Laune hast, kannst du auch noch die Daten komprimieren, z.B. über gzip.
Nun Screen Mirroring ist nicht leicht, das ordentlich und Performat hinzubekommen, dafür gibt es die eigentlich schon fertig entwickelten und auch sehr guten lösungen wie vnc. Dass du das ordentlich hinbekommst, und dazu noch in Autoit bezweifle ich. (Entweder wird es nicht schnell sein, oder du lässt die Prozessorleistung in die höhe schießen, mal davon abgesehen wie unsicher das ganze wird).
|
|
|
02/24/2015, 16:20
|
#4
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
Quote:
Originally Posted by alpines
Der Weg wie du deine Screenshots machst ist das Problem. Du speicherst sie auf der HDD statt als Image-Stream direkt loszuschicken.
Du könntest auch HyperCam 3 bsp.-weise nehmen und zwei Sekunden im voraus mit low-Bitrate aufnehmen und dann Chunk für Chunk transferieren.
Wenn du Pixel mit Pixel vergleichen willst ist AutoIt die falsche Wahl, da es zu langsam ist.
Du kannst ja mal versuchen eine DLL in C# zu coden und sie dann zu callen. Ist wesentlich schneller.
|
Die Sache mit dem direkt loszuschicken kann ich schnell machen (danke für den Hinweis).
Das mit der Hypercam kann ich vielleicht versuchen. Nur ist die Frage, ob wenn ich eine Datei für die Avi control angebe, ob sie dann trotzdem konstant gelesen & geupdated wird, oder ob es nur den schon vorhandenen Clip nimmt.
Quote:
Originally Posted by warfley
Du willst also einerseits wissen wie man Programme als Systemuser in den Autostart hängt zum anderen wie man Screen Mirroring macht? Man könnte böses vermuten.
Wenn du lust und Laune hast, kannst du auch noch die Daten komprimieren, z.B. über gzip.
|
Ich hab schon NJRat, also was würde ich bitte für "böses" mit AutoIt schreiben wollen?
Die Idee mit gzip gefällt mir. Das baue ich direkt in den Server rein.
€dit: Ich versuche es jetzt von JPG auf GIF umzuschreiben, da GIF ein sehr kompaktes Bildformat ist.
|
|
|
02/24/2015, 17:17
|
#5
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Du kannst auch einfach ein WMPlayer.ocx Objekt nehmen und die Videodaten abspielen. Während die eine abgespielt wird wird die andere schonmal geladen und das Control dann ersetzt wenn es fertig ist wenn es zu lange wartet zwischen zwei Dateien.
|
|
|
02/24/2015, 19:45
|
#6
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
Ich hab das mit dem BMP format umgesetzt + auf 1000x500 reduziert, was die Bilddateien auf 58kb reduziert (vorher 270kb @ ~0.5 FPS, nun ((270*0.5) / 58) 2,3 FPS).
Doch leider habe ich jetzt ein Problem, und zwar kommt statt dem normalen binarylen Wert ein binärer String an. Natürlich bin ich nicht dumm und habe es mit Int und BinaryToString versucht, was aber keine richtigen Ergebnisse erzielt hat.
|
|
|
02/24/2015, 19:50
|
#7
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Am besten Base64-Decodest du das ganze wenn du das schickst, dann sollte der String gleichbleiben.
|
|
|
02/24/2015, 20:21
|
#8
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
Quote:
Originally Posted by alpines
Am besten Base64-Decodest du das ganze wenn du das schickst, dann sollte der String gleichbleiben.
|
Schon gelöst.
€dit:
Ist 1 Fehler behoben, taucht der Nächste auf.
Das Übertragen von BMP dateien läuft nicht so wie geplant. Es bleiben
immer ~90% ausstehend (z.b 48087/48169).
Bei normalen Dateien funktioniert es einwandfrei!
€dit:
TcpSend meint immer es würde den ganzen String auf einmal übertragen haben, was aber nicht stimmt.
ALLES funktioniert normal, nur BMP dateien wollen nicht übertragen werden.
|
|
|
Similar Threads
|
~[SUCHE] Suche eine ganz bestimmte SERVERMAP [SUCHE]~
11/10/2011 - Minecraft - 6 Replies
Ich suche eine Bestimmte Servermap, die folgendes erfüllt:
- Grundstücke
- Keine Häuser
- Coole Wahrzeichen
- Guter Spawn
Rot = Benötigt Grün = Zusatz
|
[suche]suche fiesta online &makeitem codes[Suche]
08/02/2011 - Fiesta Online - 3 Replies
Moin Moin, ich suche schon längere zeit nach iwi ne datei oder so wie die ganzen ; items,mount,pets,händler,rüstung und so weiter drinne stehen würde mich sehr freuen.
und wen jemand ne datei hand wo neue sachen sind würde ich mich auch freuen
m.f.g. Shannks :handsdown:
|
All times are GMT +1. The time now is 06:18.
|
|