Mchango wa aina gani unahitaji?Wadau wa Java, nahitaji ku create real-time desktop/screen sharing application in Java.
Naomba mchango wenu.
https://code.google.com/p/red5-screenshare/
register and modify sourcecode...hakuna mtu atakufanyia hiyo app without you paying!:glasses-nerdy:
Mchango wa aina gani unahitaji?
Kama ni mtu kukutengenezea tangaza dau, vinginevyo inabidi ufanye mwenyewe kama alivyosema bs0d
Kama umeanza na umekwama mahali sema ulipokwamia!
Mchango wa aina gani unahitaji?
Kama ni mtu kukutengenezea tangaza dau, vinginevyo inabidi ufanye mwenyewe kama alivyosema bs0d
Kama umeanza na umekwama mahali sema ulipokwamia!
Ina maana unatumia networkingNahitaji kutengeneza iwe desktop application, lakini communication between pc inayo capture na ku share na nyingine iwe through Sockets.
Tatizo kubwa kwangu ni jinsi njia nzuri ya ku transfer(yeah nime opt socket) captured screen kwenda kwa pc nyingine.
Nachotaka ni kwamba kusiwe na delay kubwa sana kati ya sender na receiver a.k.a viewer, yaani viewer awe anaona kama real time thing vile.
Naweza ku code program nzima, lakini kabla sijaanza ku code, natafuta idea kutoka kwenu wataalamu, ili ni save time.
Why Infinite loop?I thought nifanye kama ifuatavyo:-
Sender a.k.a capturing computer:-
1. Loop infinite
2. Capture screen and save as image file
3. Create video from saved image
4. Stream video kwenda kwa receiver
.....
Receiver will need to decode your socket stream and reshow it as sent.Receiver:
1. Receive video sent by Sender
2. Show video
3. Receive Commands(mouse click, mouse move) sent by Sender
4. Respond based on mouse commands received
5.
....
Naamini nimejielezea vizuri.
Ina maana unatumia networking
Delays = Networks Speed + Virtual Machine delay (Java is interpreted lang)+ Bad design costs +AOB
Kumbuka sockets hazijuagi zinacho-transmit kama ni video picha au whatever. Design ya sender/receiver, file format and processing zina matter.
Pia inategemeana ka unataka ku stream Picha tu (desktops Images) au unatuma na commands pia. Na kama unatuma na commands zinapokelewaje na kuwa sync'ed na desktop frames.
Kifupi ni app ambayo unahitaji precise design na uwe na muda/manpower kuitengeneza.
Kama ni ushauri ningeshauri utumie C/GTK+ au (my favorite) C++/wxWidgets ingawa QT iko fine vilevile kwa kuwa App yako ni performance critical.
Well, you have opened a can of worms and.... all the best!
UbarikiweMkuu nashukuru kwa mchango wako.
Not bad!Nimeona nitumie Java kutokana na open source library nilizozisoma + uwezo wangu wa kutumia Java si mbaya sana.
Inabidi utume data na command. Hapo utatuma image ikiwa emebeded na command kama text. Unaweza tumia XML kwa mfano ikiwa na data (picha) na command. Then upand wa pili uwe na uwezo wa kupokea na kuimitate. Actually itategemeana na kiwango cha utendaji wa App yako (kama ni just kumsupport remote person au zaidi)Issue kubwa nilizoonayo ni:-
1. jinsi gani ya ku synchronize images zinazokuwa captured na zinazotumwa kwenda kwa receiver?
2. jinsi gani ya ku merge images zinazokuwa received na receiver, ili iwe kama vile Real Time thing.
Hii inajibiwa na comment ya kwanza kwa post hii!Pia sender's mouse movement nazo inabidi ziwe send kama commands kwenda kwa receiver, then receiver inabidi ime hizo action kwenye scene nzima. Je hili nifanyeje?
Inategemea na unataka app ifanye nini? So Yes or no!Zaidi ya hapo, ninahitajika ku monitor action zinakuwa performed na receiver? e.g. Scroll, n.k
Pamoja.
Why Infinite loop?
Are you going to use console? IF UI then no need for that. GUIs have event loops.
If you think you need a loop then spawn threads.
Also no need to save images, waste of HDD space. Just capture image and stream it to receiver, frame by frame (3o fps to make illusion of video) thru your sockets
Receiver will need to decode your socket stream and reshow it as sent.
You need to find a way to send commands too.
Why don't you check sources for VNC and its design? VNC is what you want to do. Libraries like Libvnc will do what you want to do (Its GPLed so you are screwed if its commercial project)
If you need consultancy (in this case paid one) Check with me in PM to get details (which will soon be on our Coming website). I would like to help 100% for free but I have not free time than this and rest of my staffs are busy also. Thats why you have to pay my company to release me do consultation.
Else you are on your own
Ubarikiwe
Not bad!
Inabidi utume data na command. Hapo utatuma image ikiwa emebeded na command kama text. Unaweza tumia XML kwa mfano ikiwa na data (picha) na command. Then upand wa pili uwe na uwezo wa kupokea na kuimitate. Actually itategemeana na kiwango cha utendaji wa App yako (kama ni just kumsupport remote person au zaidi)
Hii inajibiwa na comment ya kwanza kwa post hii!
Inategemea na unataka app ifanye nini? So Yes or no!
I see, but here is my advice: Master one languange, learn as many as you wish!Ukifuatilia utaona nauliza issue kibao hapa jamvini za IT, coz me na tafiti kila angle ya IT ili kuongeza ujuzi na kujifunza zaidi.
Nashukuru sana kwa mchango wako. Nimejifunza mengi.
Pamoja.