Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Realisation von Videochat (https://www.delphipraxis.net/77106-realisation-von-videochat.html)

ichhabefertig 14. Sep 2006 17:23


Realisation von Videochat
 
Hallo,

ich suche eine Möglichkeit, einen Videochat in Delphi zu realisieren. Dabei geht es um Kommunikation zwischen zwei Rechnern, die jeweils mit Webcam und Mikro ausgestattet sind und auf Knopfdruck die Kommunikation mit einer Gegenstelle aufnehmen sollen. Im Prinzip soll dabei ein Rechner in der Lage sein, einen von drei anderen "anzurufen".

Ich habe mich noch nicht mit Audio/Video-Übertragung in Delphi auseinander gesetzt und weiß deshalb nicht, wie ich es am besten angehen sollte. Gibt es für meinen Bedarf brauchbare Komponenten (auch kommerzielle!) oder vielleicht Tutorials, Hilfen oder Sources von ähnlichen Programmen?

Ich habe tscap32 (http://tscap32.sourceforge.net) gefunden, weiß aber nicht, ob das für meine Zwecke taugt. Wenn ich es auf die Schnelle richtig verstanden habe, müsste ich damit doch in der Lage sein, einen Videostream der Webcam an einen anderen Rechner (per TCP/IP) zu senden und dort anzuzeigen, oder? Von diesem Rechner aus soll das Ganze natürlich auch anders herum möglich sein.

Ich bin dankbar für jede Hilfe oder Tipps, wie ich an die Sache herangehen könnte. Meine Suche in der Delphipraxis hat zwar schon ein, zwei hilfreiche Dinge erbracht, aber noch nicht das, was ich suche.

miLeRiAm 14. Sep 2006 17:29

Re: Realisation von Videochat
 
Also...

Für Audio empfehle ich dir ACM (Audio Compression Manager).
Weiteres dazu gibts z.B. bei Torry, ist relativ einfach zu verwenden.

Für die Videoaufnahme gibts nur eins: TWAIN.
Auch dazu hilft Torry oder die Suche hier in der DP.

So, non kannste es quick'n'dirty machen, 2 Sockets nehmen... oder du machst es schön und entwickelst ein eigenes Protokoll.

Zusammengefasst:
Audio = ACM
Video = TWAIN

Quellen:
www.google.de
www.torry.net

hf,
mileriam

ichhabefertig 14. Sep 2006 19:51

Re: Realisation von Videochat
 
Danke für deine Antwort. Ich dachte immer, TWAIN sei nur für Scanner. Warum sollte ich deiner Meinung nach TWAIN benutzen, wenn es doch auch Video for Windows, bzw. Direct Show gibt, mit denen das doch auch anscheinend möglich ist?

Was ist von dieser ActiveX-Komponente zu halten? Kennt die jemand?
http://www.viscomsoft.com/products/videochat/

Danke

flossinger 16. Sep 2006 19:12

Re: Realisation von Videochat
 
Hallo,

ein richtiger audiovideo chat das wär schon was.

Als Vorstufe dazu hab ich mir mal einen reinen Videochat gebastelt. Ist nicht zum Lippenlesen gedacht, sondern funktioniert als Parallelverbindung zu Telefongesprächen. Geht gut und basiert auf Video for Windows, dessen Daten ich dann nach jpeg Komression mit tserversockets als sequenz von Einzelbildern bereitstelle und mit dem http protokoll übertrage. Das Ergebnis ist ein ruckelfreies bewegtes Bild.

Soweit so fein, jetzt bin ich ebenfalls auf der Suche nach den Möglichkeiten zur Audioübertragung. Zunächst werde ich mir das in VfW ansehen, das ja auch audio kann. Ich bin sicher, dass da keine gekauften Komponennten nötig sind.

Bin auch sehr neugierig auf die Erfahrungen anderer mit der Programmierung einer Audioübertragung.

Grüsse,
der flossinger

miLeRiAm 16. Sep 2006 22:56

Re: Realisation von Videochat
 
Ich sag doch, ACM + Sockets.
Dazu gibts hunderte von Beispielen.

Bei Google suchenDelphi ACM Demo

flossinger 17. Sep 2006 05:58

Re: Realisation von Videochat
 
acm ist schonn klar.

Dein google suchvorschlag geht allerdings total an dem, was ich brauche, vorbei. Was soll ich mit hunderten Anwendungsbeispielen für buy- und shareware?

Ich suche Anwendungsbeispiele für acm im voicechat ohne Fremdkomponenten. Darum poste ich auch in einem Programmierforum.

Wenn du auch nur ein Beispiel dafür kennst, dann könntest du es auch posten. Das wäre hilfreich.

der flossinger

miLeRiAm 17. Sep 2006 09:09

Re: Realisation von Videochat
 
@Torry:
http://www.torry.net/quicksearchd.ph...=ACM&Title=Yes

Wieder fremdkomponente, allerdings -nur- für die ACM-Schnittstelle.
Der Rest wird via Sockets gemacht, ohne irgendwelche Shareware......

flossinger 17. Sep 2006 10:12

Re: Realisation von Videochat
 
ja super,

die beiden habe ich zwar schon gefunden, aber der Hinweis ist gut, danke. Die Source ist zugänglich und mit msasm.pas auf der beide aufbauen und der MSDN library http://msdn.microsoft.com/library/de...edia_audio.asp ist schon ein guter Ansatz da, um sich ein zu arbeiten.

grüsse,
der flossinger

Mavarik 21. Sep 2006 14:19

Re: Realisation von Videochat
 
Hallo!

Bist Du weiter gekommen?

Ich würde mich ggf. ein einem solchen Projekt beteiligen...

Grüsse Frank :coder:

flossinger 21. Sep 2006 20:26

Re: Realisation von Videochat
 
Ja danke für die Nachfrage,

hab mich zuerst in windows waveform audio eingelesen, das schien mir ein einfacher Einstieg in die Thematik.

http://msdn.microsoft.com/library/de...form_audio.asp

Immerhin kann ich jetzt ein waveindevice oder ein waveoutdevice öffnen und verwenden. Damit habe ich vollen Zugang zur Soundkarte (in und out) und zu den Daten (auch on the fly). Im Moment setze ich die bereits getesteten Systemroutinen neu zusammen, so dass ein wavstream über tcp übertragen wird. Das Ganze ist sehr lustig und spannend, aber stellenweise mühsam, weil die msdn library die Information etwas karg darstellt. Die fehlende Info kann aber durch Testen herausgefunden werden. Das Gute dabei ist, dass man Übung bekommt.

Ich stecke da mehr in einem Lernprozess, als in einem klar definierten Projekt, bin aber gern bereit, mich über die Materie aus zu tausschen.

Grüsse,
der flossinger

Mavarik 22. Sep 2006 07:00

Re: Realisation von Videochat
 
Hi!

Ja das klingt doch gut, ich habe mit dem VideoStream als MJPEG angefangen...
Bin gerade dabei die Datenrecords für die Übertragung der unterschiedlichen Daten zu erstellen.

Vielleicht schreibst Du mir mal per Mail dein MessengerID...


Grüsse Frank :coder:

flossinger 22. Sep 2006 12:31

Re: Realisation von Videochat
 
Hi Frank,

Messengerid habe ich nicht, aber das Forum ist ja ganz gut geeignet für den Austausch. Vor allem können sich mehr Leute mit ihrenn Erfahrungen und Fragen beteiligen.

Was mich interessieren würde: verwendest du einen codec (welchen) für mjpeg? hast du eine definierte Übertragungsrate? hast du Ton dabei?

Ich hab mein mjpeg ohne codec realisiert, die Übertragungsrate hängt von der tcp verbindung ab. Ton fehlt. Als ich das programmierte, wusste ich nicht, dass das Verfahren mjpeg heisst, aber es funktioniert dennoch gut.

Inzwischen funktioniert auch mein waveaudio stream über die tsockets. Das ist aber programmiertechnisch noch weit entfernt von sauber und optimal. Sogar ein sauberer Programmausstieg fehlt noch. Wenigstens hab ich im ersten Schritt die wichtigsten Eigenheiten der wichtigsten Systemroutinen von waveform audio verstanden und kann jetzt auch ganz gut weiter testen.

grüsse,
der flossinger

Mavarik 22. Sep 2006 14:24

Re: Realisation von Videochat
 
Hi!

Dann installier doch mal Skype, ICQ, MSN oder Yahoo!

Dann muss man nicht immer warten bis der andere hier im Forum war...

MJPEG ist nix anderes als jedes einzelne Bild (BMP) als JPG speichern und übertragen...

Bin gerade bei den Tests für einen DIV LZW Stream zu übertragen... Habe damit die Bitrate nochmal halbiert.

Erreiche somit bei einem Video von 176x144x24 ca. 1800-2200 Byte pro Frame...
Das sind zwar auch "nur" ca. 6 Frames/Sekunde Upstream bei 128KBit, aber so ist das halt...

Wenn dann noch text und Audio dazu kommt...?!? Mal sehen...

Oder habe ich hier einen Rechenfehler?

128Kbit Upstream * 1024 -> 131072 Bit/Sekunden -> / 8 -> 16384 Byte/Sekunden / 2200 -> ca. 7.4 Frames!

Frank :coder:

morbo 23. Sep 2006 09:31

Re: Realisation von Videochat
 
Hi,
ich meine ich hätte mal ein funktionierendes Videochat Beispiel mit dem DSpack von http://www.progdigy.com/index.php
gesehen.


Gruß

Mavarik 23. Sep 2006 10:16

Re: Realisation von Videochat
 
Zitat:

Zitat von morbo
Hi,
ich meine ich hätte mal ein funktionierendes Videochat Beispiel mit dem DSpack von http://www.progdigy.com/index.php
gesehen.


Gruß

Prima... Wo?

Frank

Mavarik 20. Okt 2006 10:15

Re: Realisation von Videochat
 
So kleiner zwischenbericht...

Videochat läuft soweit...
Anmelden, Raumwechsel, Userliste, private Nachrichten, Bilder senden, VideoStream senden...
Visitenkarte, Homepagewizzard, Kontaktbörse, Profil,
Ach ja Chatten...(Smilys) mit 100% HTML unterstützung...Classes CSS Bilder Tags Formualaren Links usw...

Blocklisten und einige Kleinigkeiten fehlen noch...

Ach ja und Audio fehlt mir auch noch... Habe ich mich noch nicht mit beschäftigt...
Besonders die parallele Ausgabe von WAV-Samples aus verschiedenen TCP-Streams auf eine Audio Karte...
So nach dem Motto : PlayAsyncshunk(MS.Memory^,MS.Size,Laut100proz) :stupid:

btw.: Bass kommt nicht in Frage...(Lizenz)

Mein eigener Video-Codec braucht noch ein bischen viel Systemzeit... aber sonst funktioniert es ganz putzig...

Ach ja der Multiuser/Thread/Client Video/ChatServer ist auch soweit fertig...

Grüsse Frank

PS.: Hilfe wird weiterhin gerne angenommen... (Audio, Compression, PlayWav)

Oder falls einer eine MPEG4 Routine im Source hat :dancer:

flossinger 21. Okt 2006 21:32

Re: Realisation von Videochat
 
Gratuliere!

Mein Voicechat funktioniert jetzt auch einwandfrei. Sollte jetzt Bild und Ton zusammenbauen, aber aus Zeitmangel wird das noch dauern.

grüsse,
der flossinger

DataCool 25. Feb 2008 12:08

Re: Realisation von Videochat
 
Hi Frank,

ich habe Dein letztes posting nicht ganz verstanden,
hast Du jetzt eine Möglichkeit gefunden und realisiert MPeg4 zu streamen ?

Oder bist Du noch wie ich genauso auf der Suche ?

Ich habe zwar auch schon einem kompletten Online-Messenger fertig,
der Cam2Cam und Voice over IP kann.
Allerdings arbeitet die Cam-Übertragung mit vfw und Einzelbildern.

Würde gern mal das Fachwissen teilen/erweitern,

Greetz DataCool

Mavarik 25. Feb 2008 12:17

Re: Realisation von Videochat
 
Zitat:

Zitat von DataCool
hast Du jetzt eine Möglichkeit gefunden und realisiert MPeg4 zu streamen ?

Oder bist Du noch wie ich genauso auf der Suche ?
Allerdings arbeitet die Cam-Übertragung mit vfw und Einzelbildern.

Würde gern mal das Fachwissen teilen/erweitern,

Hallo!

MPEG4 wäre zwar schön, aber ich habe meinen eigenen Codec geschrieben, aus mangeldem Source von MPEG4.
vfw und Einzelbider ist sicherlich für einen flüssigen Bildaufbau bei kleinen Bandbreiten zu groß, oder?

Grüsse Frank

PS.: Projekt liegt bei mir bis zum Sommer auf Eis...

DataCool 25. Feb 2008 12:29

Re: Realisation von Videochat
 
Zitat:

vfw und Einzelbider ist sicherlich für einen flüssigen Bildaufbau bei kleinen Bandbreiten zu groß, oder?
Die jetzige Lösung ist mehr als zufriedend stellend, allerdings möchte ich gerne das Optimum raus holen,
wer möchte das nicht :wink:

Bei Deinem eigenem Codec arbeitest Du nicht mit Einzel-Bildern,
sondern mit Änderungsbildern ? Was passiert wenn aus Grund xyz ein Bild in der Kette verloren geht ?!
Verwendest Du zum streamen die Indys ? Ich ja.

Bin zwecks Austausch unter Msn datacool at gmx . net zu erreichen

Gruß Jan


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr.

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