PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : video over IP im LAN von Robot zum host?



Neokortex
04.06.2009, 22:39
Hi,

ich würde gerne auf meinem Robot ein EeePC schrauben und von dem aus die Video Daten der Kamera per WLAN zu einem anderen Rechner übertragen.

Verzweifelt suche ich seit Tagen nach einem Sourcecode (in (V)C++) oder einfach nur einer Software, die das ohne Verbindung zu einem Server alla Skype machen kann. Netmeeting fällt aufgrund von inkompatibilität leider aus.

Kennt jemand eine Alternative, die nur im LAN funktioniert und vielleicht sogar als Source verfügbar ist?

Vitis
05.06.2009, 00:07
Du verwechselst da glaub ich was ...
wenn ich Dich richtig verstanden hab willst Du ne USB-Webcam oder ähnliches an den Eee hängen und die Bilddaten bereitstellen.
i.d.R. läuft das so ab, das ein Server Daten bereitstellt und ein Client sie abruft.
Server ist in dem Fall der EeePc, der Client ist dann der andere Rechner, der
die Bilder bekommt.
Da wir nun wissen, das der Roboter der Server ist und auf dem Ding Linux
läuft wirds einfacher.
Die vermutlich einfachste Möglichkeit per Remote auf den Robbi zuzugreifen
wird denk ich VLC sein.
sprich, Robbi= VLC-Server, PC ist VLC-Client

Neokortex
05.06.2009, 00:57
Nein, nein. Da verwechsel ich nichts. Ich hab lediglich nicht direkt deutlich gemacht, dass auf beiden PCs Windoof läuft (XP und Vista). Und mit (V)C++ meinte ich Visual Studio C++ (windows).

Was den Server betrifft (den ich meinte) ist der "connection-server", den fast alle Video (und Voice) over IP-Applikationen nutzen - um die Verbingung aufzubauen (und die Gespräche abzuhören :-D). So kannst Du beispielsweise Skype nicht ohne diese "Server" nutzen bzw. online gehen geschweige denn einen anderen Computer anrufen.

Da ich meine Verbindung jedoch ohne Internet nur auf dem (W)LAN router haben will, kann ich all diese Programme nicht nutzen.

Ich hatte sogar schon diesen Source hier gefunden: http://www.codeguru.com/cpp/g-m/multimedia/video/article.php/c7621 der aber leider buggy ist und/oder auf Vista nicht läuft. Bevor ich jetzt lange an dem rumbastel hab ich halt gehofft einen "besseren" zu finden oder auch einfach nur eine simple Applikation ohne Source, die das kann.

Die ganze Begriffsdefinition ist aber leider auch sehr wirr. So könnte man auch meinen, dass ich eine peer 2 peer Video-(Übertragungs)Software suche. Aber darunter versteht google eher eine Software zum "Verteilten download von Hollywoodvideos". Bei entsprechenden Conferenz-Lösungen finde ich halt nur die besagten, die den "Server im Internet" als Verzeichnisdienst brauchen und ich nicht will :-/

Zu erwähnen ist vielleicht noch, dass ich mit einem PC meinen Roboter "fernsteuern möchte". Die Software auf diesem PC schreibe ich selber und sie wird per WLAN mit dem EeePC auf dem Roboter kommunizieren. Dort werden die Daten per RS232 an den rn-control zur Steuerung gegeben.
Rückwertig will ich halt in "echtzeit" die Videodaten von dem EeePC auf den Steuercomputer übertragen, damit ich "sehen kann wo der Roboter ist" bzw was er sieht.

Die ganze Steuerungsgeschichte unter windows zu programmieren inkl WLAN übertragung per IP ist leicht - nur die Video Übertragung etwas, was ich gern "fertig hätte". Zur not auch mit einem zweiten Programm, dass dann quasi parallel zu meinem "Fernsteuer-Programm" läuft.

Felix G
05.06.2009, 07:56
Die ganze Begriffsdefinition ist aber leider auch sehr wirr. So könnte man auch meinen, dass ich eine peer 2 peer Video-(Übertragungs)Software suche.Suchst du nicht, denn das würde eine Software beschreiben mit der du Videodaten in beiden Richtungen übertragen kannst. Da du nur Videodaten vom Roboter an den PC übertragen möchtest, benötigst du auf dem Roboter einen Streaming-Server und auf dem PC einen Streaming-Client.

Ich persönlich habe sowas nie gebraucht, daher kann ich dir jetzt kein konkretes Programm nennen, aber mit diesen beiden Begriffen sollte man bei Google eigentlich mehr als genug Seiten findn die sich mit diesem Thema befassen.



Natürlich kannst du sowas auch selbst schreiben, das ist nichtmal besonders schwer. Alles was du brauchst ist ein Treiber für die Kamera. Wenn du die Bilder auf dem Roboter erstmal zur Verfügung hast ist der Rest vergleichsweise simpel, denn du brauchst sie ja nurnoch per UDP an den PC schicken. Parallel dazu könntest du eine TCP-Verbindung für die Steuerung verwenden (TCP = zuverlässig aber "langsam", UDP = "schnell" aber unzuverlässig).

Also: Der PC baut eine TCP Verbindung auf, damit kennt der Roboter auch schon die IP des PCs und könnte die Videodaten sofort per UDP abschicken. Er könnte aber natürlich auch warten bis der PC die Videodaten explizit über die TCP-Verbindung anfordert.

Vitis
05.06.2009, 10:24
der "Windows Media Encoder" kann sowas

MeckPommER
05.06.2009, 10:34
Den WME gibts in zwei Versionen, WME 7 und WME 9. Ich möchte diese Software mal ganz vorsichtig als zickig bezeichnen, da sie sich gerne mit diverser Capture-Software zu beissen scheint. Hinbekommen habe ich damit eigentlich immer alles (je nach Glück/Hardware mit der einen oder anderen Version) aber stabil ist was anderes ;-)

Neokortex
05.06.2009, 11:45
Na dann gib mal "video Streaming" ein, bei google - mit client und server usw ;-) Viel Spass...

Hat jemand eine Lösung sonst parat? Ich wundere mich, dass es fast keine VScpp Sourcecodes dazu gibt (der oben von 2005), wo doch sonst alles x-fach im Netz rumschwirrt.

Neokortex
07.06.2009, 19:06
habs gefunden, danke

Falls mal jemande ebenfalls sucht:
http://www.codeproject.com/KB/IP/Video_Voice_Conferencing.aspx
http://www.socketcoder.com/ArticleFile.aspx?index=2&ArticleID=38

tobiokanobi
11.06.2009, 22:27
VLC kann's natürlich

http://www.videolan.org/vlc

-tobias

Neokortex
11.06.2009, 22:31
den nutz ich schon ne weile zum Videos schauen aber wie kann der denn ne Kamera ansprechen????

tobiokanobi
11.06.2009, 23:22
Weil der dafür gemacht wurde :-)

Jetzt kommts ein wenig auf's OS an, aber für Linux sollte es so sein, (oder ähnlich)

vlc --no-audio --width=640 --height=480 v4l2://

(Video for Linux: http://www.videolan.org/doc/play-howto/en/ch03.html )

-tobi

tobiokanobi
11.06.2009, 23:23
Ach ja, für Windows, steht die Anleitung direkt drüber

Neokortex
12.06.2009, 23:09
ah, super Tip!

Danke

Richard
13.06.2009, 09:13
Moin moin.

Nimm eine Netzwekkamera dort ist gleich der (Web) Server eingebaut.
So ne Kamera kann sich auch selbständig mit z.B. Dyndns verbinden,
danach kann weltweit (per Passwort) auf die Kamera zugegriffen
werden. Clind Software inclusiv Recorder ist meistens bei der Kamera
dabei. Solche Kameras gibt es auch mit intregierten W-Lan. :-)
Auch ohne Software nur mit IE geht es auch!

Ist natürlich etwas teurer als ne USB Billigkamera, dafür wie aber
kein extra PC benötigt, 12 V DC ca 500 mAh reichen locker.

Einfach, pracktisch, gut. :-) Üblicherweise ist auch ein Micro in
der Kamera, es kann also auch Ton übertragen werden.... die
armen armen Angestellten. :-(

Gruß Richard

Vitis
13.06.2009, 22:00
bei der bucht gibts die von BSTI pd100v2 .. hab 2 von denen laufen,
gehen ganz gut, wenn man das objektiv austauscht können die auch IR ...
nur ist n kleiner zeitversatz in der übertragung

Richard
14.06.2009, 11:55
bei der bucht gibts die von BSTI pd100v2 .. hab 2 von denen laufen,
gehen ganz gut, wenn man das objektiv austauscht können die auch IR ...
nur ist n kleiner zeitversatz in der übertragung

Der Zeitversatz dürfte Materialbedingt (Kostenfrage) sein. Ich habe
hier eine 3 M Pixel Netzwerkkamera die (kann) bis zu 50 Bilder/s,
da ruckelt nix mehr. Einer unserer Liferanten bitet ein Video PC
System mit 32 Videoeingängen an und kann 1000 Frames/s auswerten,
das sind dann immerhin noch 31 Bilder/s pro Kamera bei vollausbau
mit 32 Kameras. Nur klar.....das KOSTET. :-(

Gruß Richard

Neokortex
15.06.2009, 19:59
Die BSTI pd100v2 schaut ja nett aus, aber unabhängig davon, dass ich den (Eee)PC eh schon auf dem Roboter habe frag ich mich, wie ich diese Cam dann mit dem WLAN verbinden kann? Evt übers EeePC wobei der halt kein Router ist bzw. keinen LANPort hat.

Ups, kaum geschrieben schon gesehen - gibt ja auch PD100V2W Wi-Fi ;-)

Was wiegt denn das gute Stück? Bekomm ich die mit "normalen" Servos bewegt???

Und wo gibts das gute Stück in der Schweiz oder in Deutschland?