Entwickler-Ecke

Off Topic - Video Konferenz?


Dalanie - Mi 11.08.10 11:12
Titel: Video Konferenz?
Ich habe iConf.Net SDK in mein Programm ,,eingebaut'' und bin mit dem Endergebnis nicht ganz zufrieden.
Die Qualität ist, sobald die Übertragung über den Server läuft ( mit der Serverapplikation von iConf.Net SDK) miserabel.
Es verzögert sich, es ziehen sich schlieren durch das Bild und insgesamt ist es sehr verpixelt.

Sobald ich direkt im LAN über IptoIP das Programm starte, habe ich ein gutes Bild ohne Verzögerung.

Das Programm ist dafür gedacht, dass später zwei beliebige Computer aus Deutschland (wahrscheinlich auch in einer Stadt oder in einem Ort)mittels des Programms Videotelefonieren können. Skype etc kommt dafür nicht in Frage, da nur das eine Programm auf dem Computer gestartet sein soll.

Nun zu meiner Frage: Ich denke nicht, dass ihr durch diese Aussagen mir sonderlich viel helfen könnt, aber vielleicht gibt es ja einige Spezialisten hier:
Kann ich theoretisch wie mit dem Skype-Prinzip arbeiten, also Peer to Peer? Es sollen erstmal Verbindungen von ZWEI Rechnern hergestellt werden.
Das heißt, ich könnte doch die Anfrage für die Konferenz über den Server laufen lassen, der die Computer dann direkt verbindet, ohne dass er noch zwischengeschaltet ist. Das würde für eine bessere Qualität sorgen, richtig?

Oder kann es sein, dass irgendwelche Eingaben falsch getätigt wurden, sodass auch mit einem zwischengeschalteten Server es möglich sein muss, dass eine gute Bildqualität bei einer Videokonferenz reealisiert werden müsste.
Im Lan geht es wie gesagt, sobald der Server dazwischen ist, wird die Qualität sehr schlecht und das Bild sowie der Ton kommen auch nur verzögert an.

Kann mir da jemand weiterhelfen?
Kennt jemand vielleicht alternativ-SDK's ? DIe Entwicklerumgebung ist Visual Studio.
Momentan im Gebrauch: iConf.Net Video Conferencing SDK von avspeed

Danke euch vielmals!

Falls es in eine andere Kategorie gehört, so bitte ich den dafür Zuständigen, diesen Beitrag zu verschieben. Ich konnte nicht direkt eine Kategorie erkennen, die mit dem Thema zusammenhängt.


ALF - Mi 11.08.10 13:13

user profile iconDalanie hat folgendes geschrieben Zum zitierten Posting springen:
Die Qualität ist, sobald die Übertragung über den Server läuft ( mit der Serverapplikation von iConf.Net SDK) miserabel.
Es verzögert sich, es ziehen sich schlieren durch das Bild und insgesamt ist es sehr verpixelt.
Überleg dir mal was der Server da leisten muss. Abgesehen vom Up/Downstream der auch noch stimmen muss! Zur Software kann ich nichts sagen. Aber schau Dir mal die Leistungskurve an im Server bei sowas!

user profile iconDalanie hat folgendes geschrieben Zum zitierten Posting springen:
Sobald ich direkt im LAN über IptoIP das Programm starte, habe ich ein gutes Bild ohne Verzögerung.
Muss man ja nichts dazu sagen oder!?

user profile iconDalanie hat folgendes geschrieben Zum zitierten Posting springen:
Das heißt, ich könnte doch die Anfrage für die Konferenz über den Server laufen lassen, der die Computer dann direkt verbindet, ohne dass er noch zwischengeschaltet ist. Das würde für eine bessere Qualität sorgen, richtig?
Dazu muss der Server, für sowas, optimal eingerichtet sein(glaube sogar 2 Netzkarten und zwei Leitungen).Denn es läuft doch alles über den Server! Hinzukommt noch Dein eigener schmaler Upstream, der ja eigentlich nicht dafür ausgelegt ist!

user profile iconDalanie hat folgendes geschrieben Zum zitierten Posting springen:
Oder kann es sein, dass irgendwelche Eingaben falsch getätigt wurden, sodass auch mit einem zwischengeschalteten Server es möglich sein muss, dass eine gute Bildqualität bei einer Videokonferenz reealisiert werden müsste.
Wie schon oben erwähnt, je nach Zuschaltung der Teilnehmer muss das ganze auch so ausgelegt werden!!
Für sowas gibt es glaube ich sogar ne Berechnung was man für Datenleitungen benötigt, für vernünftige Videoqualität :wink: , hab ich irgendwo mal gesehen!
Firmen zahlen für Videokonferenzen ein haufen Geld, weil die Technik dafür stimmen muss.
Welche Sofware dafür benutzt wird?
Auf alle Fälle, wenn es richtig Gut werden soll, Kostet es was!

Gruss Alf


Flamefire - Mi 11.08.10 13:28

Alternativ machst du es wie SIP:
Aushandlung der verbindung per SIP über Server, danach RTP verbindung Client<->Client
So funktioniert zumindest VOIP
Dürfte auch mit Video klappen.


Dalanie - Mi 11.08.10 13:35

Hallo Alf,
vielen Dank erstmal für deine Antwort. Vielleicht ist die Anforderung für den Server oder Computer zu hoch.

Flamefires Vorschlag klingt Interessant.

Wobei ich gerade mitgeteilt bekommen habe, dass der Server momentan sowieso nur als Vermittler gilt.
Es ist also eine Ip2Ip Übertragung vorhanden, Flamefires Vorschlag wird also schon verwendet.

Nur Frage ich mich dann, wieso die Bildquailität so schlecht ist. Auffallend ist auch, dass der CPU eine AUslastung von über 90% hat, sobald das Programm die Übertragung startet. Zudem besitzt der eine von den beiden Testcomputern nur 1GB Ram sowie einen Intel Atom CPU 230 1,60GHz.
Könnte es an der relativ schwachen CPU liegen? Oder am RAM?

grüße


ALF - Mi 11.08.10 13:59

Naja, so richtig ohne Server funct ja auch VOIP nicht, er bleibt immer dazwischen! Der unterschied ist nur der, das er den Datenstrom als solches, gleich weiterschaufelt! Aber trotzdem über seine Netzkarte alles abläuft. Da Video nun mal nen höheren Datenstrom benötigt als nur Musik oder Sprache, ist dies für die internen abläufe ne riesen Dauerbelastung. Wobei die "Software" ihr eigenes dazu beiträgt, wie effizient sie es macht. Alles andere habe ich ja schon erwähnt!
Gruss Alf


Dalanie - Mi 11.08.10 14:08

Klingt logisch ^^ @Alf...

ich bin hier nur gerade am Verzweifeln...
Kann die schlechte Darstellung und Übertragungsrate irgendwie an falschen PC Einstellungen liegen?

IM lan funktioniert es wunderbar...


grüße


ALF - Mi 11.08.10 14:13

Ich weiss ja nicht mit welcher Auflösung Du die Videos anschaust / überträgst. Vielleicht mal da an der schraube drehen. Je kleiner die Auflösung oder Bilder/sec bei der Ansicht je schneller kann das Bild aufgebaut werden! Das gleiche gilt auch andersrum!

Gruss Alf


Dalanie - Mi 11.08.10 14:18

ich habe leider nicht all zu viele Auswahlmöglichkeiten.

Folgende Punkte kann ich editieren:
videoCodec: H.263
IFrameFrequency: Sets the amount of of P-Frames before another I-Frame will be generated.
bitRate: Sets the bitrate at which the frames will be encoded

Kann also lediglich an den IFrames und an der bitRate rumschrauben. In einem Testprogramm habe ich diese beiden Werte stark verändert, aber es blieb quasi alles beim Alten. Eventuell ist dieses Testprogramm nicht in Ordnung.

Kannst du was mit I-Frames und der bitRate anfangen? Momentan sind die Werte bei IFrame:200 und bitRate:32000

grüße


ALF - Mi 11.08.10 14:29

mhh... Gute Frage :mrgreen:
Hier kommt es darauf an was die Software selber dazu sagt. IFrames sind die Bilder/sec stell die mal auf 25 ein. Und das andere ist die Qualität der Bilder. Ebenfalls nach unten schrauben!

bzw. schau Dir das mal an [http://de.wikipedia.org/wiki/MPEG-2], vielleicht bringt es dir was!
oder dies [http://de.wikipedia.org/wiki/MPEG-1] :wink:
Da steht sogar drin bei welcher Auflösung die MBit/s sind! Dann kannst Du Dir ja selber ausrechnen was Du, bei vernünftiger Qualität, an Datenübertragung benötigst und was der Server leisten muss!

Gruss Alf


jfheins - Mi 11.08.10 18:13

Es gibt auch eine Skype-API :P

http://developer.skype.com/


platzwart - Mi 11.08.10 18:36

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
mhh... Gute Frage :mrgreen:
Hier kommt es darauf an was die Software selber dazu sagt. IFrames sind die Bilder/sec stell die mal auf 25 ein.


Falsch. Vereinfacht gesagt gibt es gibt drei Arten von Frames: I, P und B Frames. I-Frames sind ein komplettes Bild, verbrauchen also viel Speicher, enthalten aber alle Pixel. Ein P-Frame hingegen verbraucht weniger, da es nur Referenzbilder zu anderen P-Frames und zum vorherigen I-Frame darstellt.

200 P-Frames zwischen I-Frames ist etwas ungewöhnlich. Üblich sind etwa 8-20, bei Webcams manchmal bis zu 80.

Btw: H.263 ist MPEG-4...


Flamefire - Mi 11.08.10 19:15

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
Naja, so richtig ohne Server funct ja auch VOIP nicht, er bleibt immer dazwischen! Der unterschied ist nur der, das er den Datenstrom als solches, gleich weiterschaufelt! Aber trotzdem über seine Netzkarte alles abläuft. Da Video nun mal nen höheren Datenstrom benötigt als nur Musik oder Sprache, ist dies für die internen abläufe ne riesen Dauerbelastung. Wobei die "Software" ihr eigenes dazu beiträgt, wie effizient sie es macht. Alles andere habe ich ja schon erwähnt!
Gruss Alf


Nicht ganz korrekt.
Wärend eines Gesprächs wird der Server nicht mehr gebraucht. Der vermittelt nur den verbindungswunsch. Ähnlich wie früher in der telefonzentrale jemand Stecker umgestöpselt hat. Stell dir vor du hättest das Gespräch über diese Person führen müssen "Können sie xyz ausrichten, dass..."
Wäre sehr lustig.

Das einzige was noch zwischen Usern hängt ist die VOIP Anschlusstelle. Also z.b. ne Fritzbox oder direkt das VOIP Telefon.
Manchmal gibt es noch SIP-Proxies, bin mir aber gerade nicht sicher, ob das Gespräch da drüber läuft. Eigendlich nicht, denn das läuft ja über RTP.

@Dalanie: Versuch mal ausfindig zu machen, über welches protokoll das läuft. Wenns TCP ist, dann nicht gut. UDP / RTP ist gut. In diesem Fall.

Zwecks Auslastung: Könnte ein Problem ein.
Verzögerung: Normal
Schlieren: Zu wenig IFrames AFAIK
Verpixelt: Zu wenig bitrate
Erhöhung von beiden führt zu mehr Bandbreiten verwendung. Erhöhen der IFrames dürfte die CPU Auslastung etwas senken...
Erhöhen der IFrames heißt in deinem Fall IFrameFrequency runter


ALF - Mi 11.08.10 23:05

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Nicht ganz korrekt.
Wärend eines Gesprächs wird der Server nicht mehr gebraucht. Der vermittelt nur den verbindungswunsch. Ähnlich wie früher in der telefonzentrale jemand Stecker umgestöpselt hat.
Jo genau, und über welches Netzwerk läuft es? :wink: Der Server selbst, kümmert sich danach nicht weiter darum, was mit der Verbindung passiert, aber die Verbindung läuft trotzdem über sein Netzwerk.(es gibt ja nicht plötzlich ne andere Datenleitung dafür)

user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
Falsch. Vereinfacht gesagt gibt es gibt drei Arten von Frames: I, P und B Frames. I-Frames sind ein komplettes Bild, verbrauchen also viel Speicher, enthalten aber alle Pixel. Ein P-Frame hingegen verbraucht weniger, da es nur Referenzbilder zu anderen P-Frames und zum vorherigen I-Frame darstellt.

Auch nicht ganz richtig! 1I-Frame ist ein einzelnes Standbild 25 Bilder davon hintereinandergelegt ergeben 25Frames/sec. Das andere dient zur Digitalen bearbeitung um den Datenstrom klein zu halten. Ich benötige beim bearbeiten bzw. codieren nicht jedes Standbild sondern nur die Veränderung. Dadurch sind die anderen P , B entstanden. Die dienen als referenz zum Original. Aber das hast Du ja schon gesagt. :wink:

Gruss Alf


Flamefire - Mi 11.08.10 23:13

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Nicht ganz korrekt.
Wärend eines Gesprächs wird der Server nicht mehr gebraucht. Der vermittelt nur den verbindungswunsch. Ähnlich wie früher in der telefonzentrale jemand Stecker umgestöpselt hat.
Jo genau, und über welches Netzwerk läuft es? :wink: Der Server selbst, kümmert sich danach nicht weiter darum, was mit der Verbindung passiert, aber die Verbindung läuft trotzdem über sein Netzwerk.(es gibt ja nicht plötzlich ne andere Datenleitung dafür)


Nope. Wenn ich mit jemand in Bonn reden will, kann es sein, dass ich nen Server in Berlin kontaktiere, der mir den Kontakt herstellt. Als Prinzipiell es beim Empfänger "klingeln" lässt.
Wenn der abnimmt, wird eine NEUE Verbindung hergestellt, die auf einem ANDEREN Protokoll aufbaut. Und die ist direkt. Es macht keinen Sinn sich über Berlin mit Bonn zu verbinden (es sei denn, die beste Route führt zufällig da lang)
Über welches Netzwerk es läuft? Nennt sich WAN (Internet) und da gibt es durchaus die eine oder andere alternative Datenleitung. Nichtmal die verbindung mit dem Server läuft über eine einzige...

Bild [http://de.wikipedia.org/w/index.php?title=Datei:SIP_signaling.png&filetimestamp=20050901142056]
Mal was Wiki zu SIP sagt.
Da sieht man ganz gut, dass erst ver SIP über Zwischenpunkte was ausgehandelt wird, aber am Ende die Daten per RTP ohne die Punkte übertragen werden. Die haben dann nichtmal ne Vermittlungsaufgabe. Leiten also auch nix weiter.
Wäre auch viel zu langsam (s. meim telefonbeispiel)


ALF - Do 12.08.10 00:27

Das weiss ich Doch, das ein Provider nicht nur eine Leitung hat, oder ebend es über ein ganz andern Proxy läuft als man sich eingeklingt hat. siehe Bild
Bei einer VideoKonferenzschaltung läuft es ja im Prinzip auch nicht ganz anders. Nur sind die Datenströme imens, was da abgeht(bei guter Qualität). Wenn er einen eigenen kleinen Server verwendet, egal ob gemietet oder im Betrieb, nützen ihm , die vielen Leitungen draussen auch nix, die ihm evtl zu verfügung stehen, es würde trotzdem über seinen Server Laufen.
Erschwerend kommt ja noch, der kleine Upstream übers Inet dazu. Was ja bei Qualitäts Videokonferenzen nicht der Fall ist. Denn so wie ich ihn verstanden habe soll es ja übers Inet gehen. Ne 3 oder 5 Verbindung is ja jetzt schon kein Problem mit der normalen Übertragung. Nur die Bilder mhhh... Vollbild ist damit kaum zu erreichen oder?

Gruss Alf


Dalanie - Do 12.08.10 09:17

Hallo Alf und Flamefire!
echt nett von euch, mir soviele Tipps und Informationen zu geben!

Zwecks IFrames und bitrate kann ich erst nachher die Software neu compilieren.
Das mit dem TCP und UDP/RTP verstehe ich nicht so ganz und weiß daher auch nicht, wo ich das nachschauen kann und wie ich dies ggf. ändern kann. Vielleicht könntet ihr mir dort nochmal einen Tipp geben.


Flamefire - Do 12.08.10 10:17

@ALF: Was willst du denn ständig mit einem Server?
Server ist per Definition ein Programm, das an einem Port auf einem bestimmten PC auf eingehende Verbindungen wartet.

Und bei einer Videokonferenz mit 2 Teilnehmern laufen genau 2 Server: Je einer auf dem Teilnehmer-PCs
Da ist jeder andere Server vollkommen egal! Die Verbindung steht direkt! Ähnlich P2P ohen irgendeinen Server.
Warum sollte man die OSI-Schichten 4-7 da nochmal bemühen? Lohnt nicht. Zu teuer (langsam)

Das einzige ist die EINE Leitung von bzw zum Client PC, also der Internet-Upstream. NUR da wird es eng.
Dein Bild ist zu klein um was zu erkennen. Aber so weit es sich erahnen lässt, sind das nur Hops. Nix davon ist ein Server. Sind alles Router/Switches.

@OP: 2 Möglichkeiten:
1) Nachfragen/Nachlesen
2) Verbindungen wärend des Betriebs auflisten (auf den Client PCs von dem Programm) Wenn da nur TCP steht->TCP. Wenn was mit UDP dabei ist, ist es möglicherweise UDP und dann vieleicht RTP.


Dalanie - Do 12.08.10 10:46

Was TCP ist, wusste ich. RTP und UDP habe ich gegoogled un weiß es nun auch. Nur leider habe ich keine Ahnung, wie ich die Verbindungen während des Betriebs aufliste.

Angenommen es steht nur TCP dort, könnte man einfach UDP/RTP einstellen?

grüße


Flamefire - Do 12.08.10 11:32

Ich glaube netstat ist der Konsolenbefehl unter windows. Erstelle also eine Videoverbindung und warte bis die läuft.
Wärend des betriebs gibts du dann in ner Konsole netstat ein (mit den richtigen parametern) und siehts, welche verbindungen die exe hat.

Umstellen geht vermutlich nicht. Brauchst dann also was andres


Aya - Do 12.08.10 12:19

Eine P2P Verbindung kann eigentlich nicht sein, zumindest nicht bei bestehenden Programmen wie Skype etc.

Würde Skype nur als Kontakt-Person agieren und später eine P2P verbindung aufbauen, dürfte es schwer werden in Netzwerken durch die Rouer zu kommen mit der P2P verbindung. Und ich wüsste nicht das man für Skype extra einen Port-Forwarden muß im Router.

Insofern sind die Skype Teilnehmer nur Clients und alle daten müßen gezwungener maßen über den Skype-Server gehen. Zumindest wüsste ich nicht wie es anders möglich wäre ohne eben die Probleme die eine P2P verbindung mit sich bringt.

Aya


Flamefire - Do 12.08.10 12:40

gut, da bin ich gerade nicht sicher. Aber port forwarden muss man nur, wenn der port nicht an den pc gemappt ist, durch einen ausgang.
Also könnt es sein, dass Client A sich über port x mit dem server verbindet. Client B verbindet sich mit port y
Der Server sagt dann A, dass er B unter IP:Port y erreicht und B dass er A unter IP:Port x erreicht.
Dann könnten A und B über die schon offenen Ports kommunizieren. Soweit meine Theorie.


Aya - Do 12.08.10 12:49

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
gut, da bin ich gerade nicht sicher. Aber port forwarden muss man nur, wenn der port nicht an den pc gemappt ist, durch einen ausgang.
Also könnt es sein, dass Client A sich über port x mit dem server verbindet. Client B verbindet sich mit port y
Der Server sagt dann A, dass er B unter IP:Port y erreicht und B dass er A unter IP:Port x erreicht.
Dann könnten A und B über die schon offenen Ports kommunizieren. Soweit meine Theorie.


Nein das kann eigentlich nicht sein. Denn rauskommen tut man (ausser die Ports sind im LAN gesperrt) immer auf jedem Port, nur reinkommen von aussen eben nicht.

Also selbst wenn ich eine verbindung auf Port 3000 zu Skype aufbaue, dann kann noch lange niemand auf Port 3000 eine Verbindung zu mir aufbauen. Die Verbindungsanfrage würde einfach am Router blockiert werden, denn der wüsste nicht wem er die Connection weiterleiten soll.

Dafür müßte man eben entweder PortForwarding dementsprechend einstellen, oder generell alle Ports an einen Rechner weiterleiten. Was aber wiederrum bedeuten würde das lediglich EIN rechner im LAN Skypen kann ;)

Aya


Dalanie - Do 12.08.10 13:44

Tja was soll ich sagen,

netstat hat ergeben, dass 4 aktive Verbindungen vorhanden sind, sobald ich das Programm gestartet habe und die laufen alle mit dem TCP Protokoll.

Und nun? Wie kann ich den Typ des Protokolls auf UDP oder RTP verändern?

grüße!


Flamefire - Do 12.08.10 13:52

user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:

Nein das kann eigentlich nicht sein. Denn rauskommen tut man (ausser die Ports sind im LAN gesperrt) immer auf jedem Port, nur reinkommen von aussen eben nicht.


Und wie glaubst du lädt der Browser daten?
Er erstellt ne Verbindung auf Port x und lauscht dort. Dann verbindet er sich darüber mit IP:80 und kriegt die Daten auf seinen port x
Der Router weiß, dass er das durchlassen soll, da dort was rausging. NAT halt ;-)


Aya - Do 12.08.10 13:57

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:

Nein das kann eigentlich nicht sein. Denn rauskommen tut man (ausser die Ports sind im LAN gesperrt) immer auf jedem Port, nur reinkommen von aussen eben nicht.


Und wie glaubst du lädt der Browser daten?
Er erstellt ne Verbindung auf Port x und lauscht dort. Dann verbindet er sich darüber mit IP:80 und kriegt die Daten auf seinen port x
Der Router weiß, dass er das durchlassen soll, da dort was rausging. NAT halt ;-)

Nein, der Browser stellt auf Port 80 eine anfrage an einen Webserver und bekommt von diesem eine Antwort.
Sobald die Verbindung steht ist die kommunikation natürlich in beide Richtungen möglich, aber der Verbindungsaufbau eben nicht.


Flamefire - Do 12.08.10 14:10

Genau das habe ich gesagt. Zu beachten noch: Der Browser hörnicht auf port 80 sondern der Webserver. Der Port des Browsers ist zufällig.

Und über diese stehende Verbindung dürfte der andre User dann auch rein kommen.


Aya - Do 12.08.10 14:19

user profile iconFlamefire hat folgendes geschrieben Zum zitierten Posting springen:
Genau das habe ich gesagt. Zu beachten noch: Der Browser hörnicht auf port 80 sondern der Webserver. Der Port des Browsers ist zufällig.

Und über diese stehende Verbindung dürfte der andre User dann auch rein kommen.

Nein, der Browser hat keinen zufälligen Port, und nein über diese bestehende Verbindung kann auch kein anderer User reinkommen. Die Verbindung besteht zwischen deinem Rechner und dem Webserver, da kann kein anderer reinpfuschen (ausser über packet injection etc, aber das ist wieder ein anderes Thema).


Dein Browser auf deinem Rechner stellt eine anfrage an den Server http://www.delphi-forum.de auf port 80. Dabei hat dein Browser KEINEN eigenen Server am laufen der auf irgendeinem zufälligen Port lauscht. Ist die Verbindung zum Webserver hergestellt schickt dein Browser einen HTTP-Request, dieser wird vom Server ausgewertet und die Antwort wird auf der selben verbindung zurück geschickt. Ist dies gescehen wird die verbindung beendet.

Aya


Dalanie - Do 12.08.10 14:19

netstat ergab, dass sich alle 4 Verbindungen über TCP einwählen.

Zudem habe ich mal bei dem Ressourcenmonior erkennen könnnen, dass die Verbindung anscheinend nicht Peer to Peer ist, heißt, der Server empfängt alle Daten und Sendet sie weiter. Wie kann ich am sinnvollsten dies ändern? Sollte ich im Quellcode nochmal nachschauen?


Aya - Do 12.08.10 14:28

user profile iconDalanie hat folgendes geschrieben Zum zitierten Posting springen:
netstat ergab, dass sich alle 4 Verbindungen über TCP einwählen.

Zudem habe ich mal bei dem Ressourcenmonior erkennen könnnen, dass die Verbindung anscheinend nicht Peer to Peer ist, heißt, der Server empfängt alle Daten und Sendet sie weiter. Wie kann ich am sinnvollsten dies ändern? Sollte ich im Quellcode nochmal nachschauen?


Du mußt entweder die Qualität vom Video soweit runterschrauben das es passt (Bitrate niedriger setzen) oder eben eine Peer2Peer Verbindung herstellen.

Bei Peer2Peer hast du eben das Problem das einer von deinen beiden Gesprächsteilnehmern den Server spielen muß, und bei diesem muß dann der Port den du dir dafür aussuchst vom Router korrekt weiter geleitet werden - sofern er hinter einem Router sitzt.

Die alternative wäre, einen Server zu suchen der eine bessere Anbindung an's Netz hat. Solange es nur 2-3 Teilnehmer bleiben sollte da jeder Dedicated-Server den man so mieten kann ausreichen, bei meinem Strato Server erreiche ich Download geschwindigkeiten von 6-7mb/s. Das reicht für Videokonferenzen locker aus.


ALF - Do 12.08.10 15:33

Ich weiss immer nicht, was ihr wollt. Das eine P2P Verbindung dafür nicht geht, dürfte doch nun langsam jedem klar sein. Also benötigt er eine Schnittstelle, auf die alle Teilnehmer gemeinsam von aussen zugreifen können, ohne das irgend einer sich um das Handling kümmern muss! Nun gut, man könnte Skypevideo oder sowas nehmen! Frage, kann man damit eine Konferenzschaltung machen?Ja, aber wer von den Teilnehmern spielt den mh...!
Was bleibt also übrig!!!??? Ein festen Knotenpunkt auf den alle zugreifen können und die Software dazu. Ich nenne dieses vermeintliche Wort nicht :wink: Es bringt also nichts, drumherum zu Reden, für sowas muss nun mal ne vernünftige Technik her, wenn es Top sein soll. Alles andere geht in den "Kunsumerbereich" rein! Oder wie funktionieren Gamesmh...sv..., Teamspeak, Ventrilo!
Kann ich auch von zu Hause anbieten, aber leider hat dies die allg. bekannten Grenzen!

Warum also über sein mh... es so schlecht ist darauf habe ich schon hingewiesen!
Entweder taugt die Software auf diesen Knotenpunkt nichts, sein mh... zu klein bemessen, und oder die Datenleitungen taugen nichts, aber das alles wurde schon benannt!
Er hat also 3 Baustellen, die er da angehen muss, ist leider so!
Software, externe Schnittstelle(HardWare), Datenleitungen!

Gruss Alf


Dalanie - Do 12.08.10 15:43

Ich danke euch für die rege Teilnahme hier in meinen Thread ;)

Wahrscheinlich ist das Problemkind gefunden...es ist.............Der Quellcode von dem Programm.
Es gibt ein Beispielprogramm von iConf.Net SDK wo auch eine Verbindung über dem Server hergestellt werden kann und dort ist die Qualität der Konferenz super.
Da in meinem Programm nichts anderes gemacht wird, als eine Verbindung über den Server herzustellen, muss also mein Quellcode einen Fehler beeinhalten, der irgendwo den Rechner verlangsamt, die Qualität beeinflusst bzw. grundsätzlich irgendwelche Probleme hervorruft.

Da ich Zugang zu dem Quellcode und den anderen Dateien des Beispielprogrammes mit Server habe, werde ich dort mich hineinarbeiten um Unterschiede zu meinem Quellcode feststellen zu können.

Falls ich weitere Probleme bekomme oder das doch nicht die Lösung der Lösungen ist, melde ich mich selbstverständlich wieder hier!


Vielen Dank nochmal. Hätte nicht gedacht dass in einem OffTopic Thread soviele Comments abgegeben werden.

Schönes Wochenende