PDA

Pogčedajte punu verziju : Video chat module


robi-bobi
10. 02. 2006., 18:14
Cudio sam se gde staviti ovo pitanje: PHP (jer cu verovatno backend raditi u njemu), Flash (jer ce frontend verovatno biti u njemu), obicno programiranje :) ....

U svakom slucaju, evo nas ovde

Dakle, koje su opcije za izradu video chat host-a.
Nisam se ovim bavio uopste (ovog vikenda cu proguglati malo), pa rekoh da pitam za smernice

Dakle, treba da ima sledece:
- rooms
- text chat (dooh)
- private messages
- video and voice chat
sve stavke pre poslednje su mi manje-vise jasne

da li je neko radio nesta slicno (citao, istrazivao, zezao se ....)
svaki link je dobro dosao

ne mora da bude gotovo resenje, moze i samo objasnjenje koje tehnologije koristiti, ja volem pisati kod :D
opet, nije problem kupiti i neko gotovo resenje (al ne nesto tipa: 200$ za mogucnost 1 soba i video chat od max 5 korisnika u isto vreme) - dakle, relativno jeftino i neograniceno. Pretpostavljam da tako nesto nema, al nije problem da uradim sam (sa mojom ekipom). Do sutra sam offline, pa se nadam da cu kad upalim comp (t.j. google) imati i ovde neki link

P.S. da dodam da je ovo za dating sajt

Ilija Studen
10. 02. 2006., 19:20
Jedno pitanje za sve: da li je neko video voice ili video chat kroz web interfejs? Ja nisam. Ono što po meni predstavlja najveći problem je komunikacija sa hardverom pošto browser to "ne zna" (ActiveX?). Vidim da Flash Player ima poseban tab u settings dijalogu posvećen kameri, ali pošto nemam kameru ne vidim ni dostupne opcije...

Što se klasičnog tipkanja tiče to nije nikakav problem. Flash ili XMLHttpRequest i malo skriptovanja (kako na klijent tako i na server strani) i to bi trebalo da radi posao.

Ali za video i audio... Ne znam stvarno.

nixa
10. 02. 2006., 19:39
ima tih aplikacija ...samo neznam da li mora da se ubaci i Flash Media Server u tu
integraciju ili moze cisto da se sve uradi na client side

bluesman
10. 02. 2006., 20:38
Što se klasičnog tipkanja tiče to nije nikakav problem. Flash ili XMLHttpRequest i malo skriptovanja (kako na klijent tako i na server strani) i to bi trebalo da radi posao.

Na zalost ne radi UVEK posao kako treba. Dovoljno je da je jedan sa sporijom vezom (dialup) pa da je chat bez veze. Njemu kasne poruke, onaj drugi, iako ima brzu vezu mora da saceka... i chat se pretvori u smaranje.

To radi jedino ako su svi na brzoj vezi, na brzom serveru.

Ja imam to vec gotovo, testirao sam i to su iskustva.

Probao sam i AJAX/PHP/Mysql, AJAX/PHP/txt, Flash/PHP/Mysql, FLash/PHP/txt i svaki put je isto - mnogo zavisi od brzine veze oba korisnika.

Naravno, ovo je prica 1:1. Kada ima vise ljudi na chatu, onda problem raste, zamisli 200 ljudi na chatu koji pisu i citaju, mozes da ocekujes bar 70-100 querija u sekundi... suvise je sporo.

Dakle, PHP/Mysql (PHP/txt) moze da bude samo prelazno resenje.

Jedino pravo resenje je Java server + Flash client. To radi savrseno.

Ne znam za Flash Media Server, nisam probao, ali ako hoces WebCam, onda je to skoro jedino resenje, narocito sa Flash clientom.

Ilija Studen
10. 02. 2006., 23:54
Jedino pravo resenje je Java server + Flash client. To radi savrseno.

Šta ovu kombinaciju čini "savršenom"? Trajnost servera? Ako PHP može dovoljno brzo da usluži zahtev (a može) nema problema. Ne vidim zašto encodirana skripta koja koristi memoriju za skladištenje podataka (ne sve naravno) ne bi mogla da odgovori zadatku. Za konkretne brojeve bi trebalo proveriti, ali ne bih tek tako otpisao ideju...

Zanima me jedna stvar kod klasičnog chata: u kom intervalu se proverava da li ima novih poruka ako korisnik "idluje".

PS: PHP i trajnost ne idu zajedno kako treba. Međutim, Ruby i trajnost idu (normalno za jezik opšte namene). Nema zvaničnih informacija kad će Campfire (http://campfirenow.com/) (grupni chat kroz browser) početi sa radom i koliki deo njega je urađen u Rubyju, ali s obzirom na ekipu koja ga je radila mislim da je sve. Čisto da ne otipišemo skript jezike tako lako...

Evo ga i svež Campfire screenshot (http://www.37signals.com/svn/images/campfireshot.png).

robi-bobi
11. 02. 2006., 00:47
@ ilija
da, ima takvih service-a
npr na sajtu: webdate.com je flash interface, gde imash video i voice
nemam ni ja kameru, al vidim da radi

@ bluesman
jeste, problem sa cekanjem stoji, ali ipak pretpostavimo da ce dobar deo posetioca imati neki normalan net (bar za text chat ;))
mozes da ocekujes bar 70-100 querija u sekundi... suvise je sporo.
na sta mislis ovde? da ce server side raditi sporo ili ...
ne poznajem dobro usere ovde, pa ne zameri ako gresim, ali koliko se secam ti imas neki dating site koji ima podosta usera. Koliko shvatam iz tvog odgovora, chat je nesto sto ne preporucujes (bar za PHP). Kad smo vec kod PHP - zasto bi Java bila bolje resenje?
Sto se tice Flash Media Server-a, on kosta 4300 evrica bez WAT ;) Milina ...
Ne mora uopste frontend da bude flash, cak je (u nekom krajnjem, krajnjem) slucaju i ActiveX u opciji. Da, webCam je poenta cele price

P.S. da dodam: mozda neko zna neki messenger sa slicnim opcijama. I to je u opticaju - bitno je da ja mogu tom messengeru reci gde da uzima usere, i slicno

bluesman
11. 02. 2006., 01:05
Ne znam, ali kada vas slusam vi kao da nikada niste otisli na chat gde je ulogovano 200-300 ljudi?

Ja ne kazem da ne moze u PHP/mysql, moze i on radi super, ali sa povecanjem broja ulogovanih clanova performanse znacajno opadaju.

Ilija Studen
11. 02. 2006., 01:37
Pa dobro sad, ono za šta sam ja zapeo je zašto si rekao da je Java + Flash klijent savršeno kad postoji ogroman niz kombinacija koje isto, ako ne i bolje, mogu da odgovore zadatku?

bluesman
11. 02. 2006., 01:43
Ja govorim Ilija, o stvarima koje sam ili probao ili svojeručno napravio.

Ne mogu da tvrdim da je nešto dobro ili loše zato što sam čuo ili pročitao negde.

Ilija Studen
11. 02. 2006., 02:03
Tvoja iskustva govore da to nije baš pametno, dok s druge strane postoji živ primer gde su ljudi uspeli da napreve u potpunosti funkcionalan grupni chat koji koristi znatno sporiji skript jezik (Ruby je sporiji od PHP) i podatke čuva u bazi podataka. Vreme će pokazati gde njihovo rešenje posrće, ali ceo sistem je preživeo dva stres testa (o njima možeš pročitati na SVN (http://www.37signals.com/svn/)) sa par hiljada ulogovanih korisnika.

Za koji mesec, kad završimo elearning rešenje na kom treba uskoro da počnem da radim i koje će uključivati chat između korisnika i instruktora preneću utiske / brojke.

I još uvek nema odgovora na provokaciju: zašto je Java + Flash savršeno? :p

robi-bobi
11. 02. 2006., 02:04
da smirimo malo strasti ;)

@bluesman,
da, nisam od onih koji chat-uju (osim IM - al to je drugo) tako da ne znam kako izgleda ...
ja tebi verujem na rec, ali ne mogu da prokljuvim sta je tu tako server-heavy pa zato pitam

inace, koliko sad gledam po netu - postoje 2 opcije za server:
1) java server
2) Macromedia flash media server + malo koda
ono sto je mozda interesantnije je da ima dosta hosting-a, koji daju pakete sa gotowim flash reshenjem za recimo 20$/month (za 10 korisnika, khm) i onda 1 korisnik vise=1$
t.j. po meni flash verzija gde ja imam flash media server otpada

sad idem da nadjem neke forume gde se okupljaju JAVA devs ;)

bluesman
11. 02. 2006., 02:26
@Ilija, ako si tvrdoglav nisi slep :) Napisao sam ti zašto u prethodnoj poruci.

Ilija Studen
11. 02. 2006., 03:19
Ne znam na šta misliš. Ako misliš na ovo:

Ne mogu da tvrdim da je nešto dobro ili loše zato što sam čuo ili pročitao negde.

onda OK (s tim da je to odustajanje od tvrdnje, ne odgovor). Ako je nešto drugo u pitanju molim te pokaži pošto sam izgleda slep koliko sam tvrdoglav :D

Nego, da mi više čoveku ne kvarimo temu...

bluesman
11. 02. 2006., 04:05
Kad odraslom čoveku moraš da nacrtaš... nc nc nc :)
Pitanje:
Pa dobro sad, ono za šta sam ja zapeo je zašto si rekao da je Java + Flash klijent savršeno kad postoji ogroman niz kombinacija koje isto, ako ne i bolje, mogu da odgovore zadatku?
Odgovor:
Ja govorim Ilija, o stvarima koje sam ili probao ili svojeručno napravio.
Drugim rečima: od stvari koje sam lično pravio, ovo se pokazalo kao najbolja kombinacija. Za drugi "ogroman niz kombinacija" ne znam jer nisam probao, pa sam ti zato napisao:
Ne mogu da tvrdim da je nešto dobro ili loše zato što sam čuo ili pročitao negde.

ok?

bojan_bozovic
11. 02. 2006., 05:20
Cak ni Java nije najbrze resenje, najidealnije ako treba brzina je C/C++ i FastCGI (lepo moze bas sve ukljucujuci i server side 3D rendering u Flash). Ovde su me ljudi pitali zasto bashujem web tehnologije - to je razlog - dobre su za nesto, ali ogranicavaju. Flash ima manja ogranicenja.

ivanhoe
11. 02. 2006., 08:36
Cak ni Java nije najbrze resenje, najidealnije ako treba brzina je C/C++ i FastCGI (lepo moze bas sve ukljucujuci i server side 3D rendering u Flash).


dobro ako bi bas hteo da koristis 3D rendering onda ok, ali brzina C/C++ (narocito C++ koji je malkice sporiji od starijeg brata) u normalnim uslovima u odnosu na skript resenja je precenjena... recimo za Perl ovo znam pouzdano, jer sam video vise testiranja na tu temu, a verovatno je slicna prica i za druge skript jezike...

perl je sporije resenje od C/C++ u normalnom radu zbog vremena potrebnog da se skripta kompajlira, ali jednom kad se kompajlira i pokrene perl skripta radi zanemarljivo sporije od ekvivalentnog C programa, pre svega zato sto perl za svoj kod koristi iste sistemske C-biblioteke koje bi i ti koristio direktno u C-u, plus ceo perl kod prevodi u asemblerske i C rutine, ali ne C kod koji pisemo ja, ti ili Pera Peric, nego C rutine koje su pisali C guru-i i koje su godinama usavrsavane i optimizovane, i pola stvari rade u asembleru direktno(mislim da sam procitao neki benchmark gde je razlika bila oko 1-2% u korist C-a i to za relativno jednostavan program..a za slozenije programe ta razlika moze samo da pada..)..

tako da za deamon aplikacije (sto je za chat najbolja varijanta, ako postoje uslovi) ili ako se koristi mod_perl (cuva prekompajlirane verzije biblioteka, pa ubrzava pokretanje) Perl uopste nije mnogo sporije resenje za pisanje servera ovog tipa, a razvoj je brzi nego u C-u, i rad sa socketima je potpuno isti kao u C-u...

dinke
11. 02. 2006., 10:13
Ja sam inace na zahtev svog klijenta pre paar dana dao oglas bas na ovom forumu, za Flash Media Server Programere. Licno sam video taj neki video chat koji je radjen sa njim, i meni je radio sjajno.

Pogledaj takodje ovaj link: http://ivideochat.com/

bojan_bozovic
11. 02. 2006., 10:28
@ivanhoe

Tj. ocemo da neko drugi odradi (hint: ceo Flash Media server ekvivalent se isprogramira na C/C++ i FastCGI), a kad je tako ili se odresi kesa za Flash Media Server ili se unajme programeri. Nema treceg :) Video kompresija u Flash ne moze u Perlu da se radi :)

zextra
11. 02. 2006., 11:22
Da se nadovezem na (text) chat resenje: perl kao server, amfphp kao flash gateway, i flash kod klijenata bi trebalo da rade dosta dobro. Perl moze a ne mora koristiti stalnu konekciju sa bazom, a jednostavno uopste ne mora perl server da bude u pitanju - preko PHP-a moze da se poveze na bilo koji IRC server, sto ce reci da mozes da poteras neki mali IRC server i zavrsio si pricu sa chatom (nakon sto naucis kako amfphp resenje radi samo za sebe i u kombinaciji sa Flash-om, naravno).

@blues: to sto si govorio za veliki broj korisnika i razlike u brzini veze pojedinih korisnika, to je problem koji postoji i na IRC-u... A prica mysql/php/flash: znam da postoje database-driven IRC serveri (ovaj database-driven deo se odnosi pre svega na konfigurisanje istog i na servise - eventualno logovanje saobracaja vrsi se direktno u fajlove), ali nisu u pitanju php/mysql resenja; rade dosta dobro, jer se poruke nigde ne cuvaju, samo se prosledjuju klijentima.

Meni je pre izvesnog vremena trebalo live video streaming resenje, ne bih se ljutio ni na flash soluciju, ali bi mi izvor slike bila prava kamera povezana na SVIDEO ili kompozitni ulaz (dakle, VFW video source), i ne mogu da se pohvalim da sam nasao nesto konkretno na tu temu...

@bojan: nikad ne reci nikad :) http://search.cpan.org/search?query=video&mode=all

@robi-robi: hosting provajderi uglavnom cepaju po usima zbog vrste usluge - video streaming, koji pravi nezanemarljiv protok. Izracunaj sam: recimo da imas tih 20 aktivnih klijenata, i nek svaki od njih pravi 64kbit/s saobracaja (mada nisam siguran da je 64kbit/s dovoljno za video chat, ali ajde...). Da li znas koliko protoka ce potrositi nakon jednog dana? Prakticno, ako su klijenti povezani 1:1 (a ne video konferencija), onda isti podaci idu KA serveru i OD servera, dakle imas 20 upload streamova, i 20 download streamova (jer svi ti streamovi idu nazad do odgovarajucih klijenata). Racunica:

20 x 8kb/s x 60 sek x 60 min x 24 h =~ 13.2 GB saobracaja za jedan dan, i to u jednom smeru, dakle jos toliko u drugom smeru. Pomnozi to sa 30 (za prosek 30 dana) i jos sa dva (za oba smera), dobijes nekih 792GB saobracaja za mesec dana. Iako su ovo samo teoretske cifre, deluju pomalo deprimirajuce... U pocetku neces imati problema ni sa nekim osrednjim hostingom, jer verovatno neces imati puno video chatera, ali kad se servis omasovi, ne sumnjam da ces imati 24/7 zauzece dobrog dela resursa..

@ivanhoe: sam znas da je uz IO::Socket::INET mnogo brzi rad sa socketima nego kroz C-equiv pozive... ;)

e sad sam svima odgovorio ;)

robi-bobi
11. 02. 2006., 15:41
@zextra:
ova racunica bogami skrece stvari ka nekom resenju gde video protok nece ici na i od serevra, vec user-user

@dinke, evo njihovog odgovora na moje pitanje kolko kosta integracija njihovog chata na moj sajt:
iVideochat is a one time fee of $18,500 and our setup time usually takes 5-7
business days depending on how complex your design work will be.
+ sto moram i flash media server da kupim da bi njihov server radio

sitnica ;)

bojan_bozovic
11. 02. 2006., 16:00
To je, ili kes ili moras da unajmis programere da ti prakticno, isto to naprave (u Javi ili bolje C/C++, ja licno nemam dobra iskustva sa JVM, i kad je stabilnost po sredi i kad je brzina). Ako ides onda na serverside skripting mora modul da se napravi. Samo 25000$ je sitnica, nema sta! Ne bih se cudio da klijente na prste broje, jer trebaju te pare i da se vrate nekako.

dinke
11. 02. 2006., 16:09
18k$ je previse. Ustvari nije previse nego je cist bezobrazluk! Verujem da za te pare (+ koja hiljada $$$ vise) mozes da platis Flash Media Server programere da ti razviju jedan takav proizvod. A onda ces imati svoj proizvod od koga mozes cak i da zaradis.

No, izgleda mi da su kvalitetni Flash Media Server programeri retkost (na moj oglas se do sada nije javio niko).

nixa
11. 02. 2006., 16:19
pa retkost su jer se ta tehnologija u Evropi ne koristi bas puno .. ko sto ovde nemas Cold Fusion developere, a u USA su u nekim firmama must have ..

ivanhoe
11. 02. 2006., 17:38
iskreno mislim da je iznajmljivanje usluga videochat hostinga mnogo pametnija stvar od razvoja sopstvenog, makar u pocetku, dok ne vidis kako funkcionise i da li vraca pare....

jer protok koji to stvara je strasan, plus pravi server-load, pa onda razne stvari vezane za bezbednost, pa bugovi u tvom custom software-u... a video hosting ti nudi sve gotovo i namesteno za oko $200 mesecno (za 250 istovremenih veza sto je vise nego dovoljno za pocetak)...samo da platis dedicated server sa dovoljnim bandwidthom izaci ce ti bar toliko...

robi-bobi
11. 02. 2006., 18:05
^ saglasan

ned424
01. 09. 2006., 15:31
evp ti na mojoj stranici video chat! www.hotfitta.com i imam na www.qxdating.com video chat
a naj jednostavnije ti je da pogledas ovaj na http://www.hotfitta.com/lesbisk/
flash chat + video module,ali ti treba flash media server ili da uzmes negdje hosting za flash ja ti mogu dati 10 dana hosting na mom serveru da vidis kako to radi pozdrav iz swedske ned424

chux
07. 11. 2006., 19:39
da ne otvaram novu temu a vezano je za chat ali obican, ne video, probajte ovo
http://www.chatcreator.com/chatbox/ !