Click here to Skip to main content
15,881,821 members
Please Sign up or sign in to vote.
3.00/5 (1 vote)
I made an Windows Forms Application which captures video stream from my webcam using EmguCV, but now i want to send the video/images to a server who can display the video to the user through a webpage.
Any idea on how to make this client-server thing?
All links/ideas will be helpful.
Thanks a lot in advance!(sorry for my english)
Posted

1 solution

I have just one idea.

Such questions are usual and they manifest certain misconception driven by the predominant use of client-server model. This "most-used" model assumes that there should be one big server and many clients. Being very usual for, say, financial application, this model is quite inefficient in many other cases, including the cases of diagnostics, surveillance and a lot more. In such cases, you should have just the opposite pictures: many small simple services and just one or very few clients.

Just think about it: as soon as you have a computer immediately connected with some hardware (say, one or more webcams), this very computer should play the role of the streaming service. As you want to work via the Web (I'm not sure this is a best option, because surveillance application can be considered as mission-critical, but Web technologies are not designed for mission-critical application), you have two options: it can be a pure streaming service streaming video to a connected (subscribed) client serving as an intermediate tier, or each of such devices should play a role of the small HTTP server. Here, you should understand that a minimal HTTP server would create a tiny overhead in comparison with streaming software. Then a client would be either a big network client connecting to several services at a time and showing them all together, or just a browser.

However, I would advise to exclude the Web from equation and work with pure streaming using just the streaming protocols. This way, you can gain dependability of the whole system much closer to mission-critical requirements.

—SA
 
Share this answer
 
Comments
AlexandruAdrian 2-Apr-14 5:17am    
Thank you for the answer, but in my project i have these tasks (needs to be accesed and configured via internet):
-The system to have 3 componets:
-client side -> an application which capures video/images
-server side -> collects from clients videos/images and stores them to a database
-webpage, which offers to each user his captures(videos/images) and livestreaming from his devices.

I studied this option[1], but I'm not sure if I can finnish my tasks with it.

Can you recommend some technologies, frameworks to be able to implement the client-server?

Thanks a lot in advance!

[1] http://www.codeproject.com/Articles/153938/TCP-Server-Client-Communication-Usage?fid=1608486&fr=101#xx0xx
Sergey Alexandrovich Kryukov 2-Apr-14 9:55am    
The questionable part is about "I have". The items you listed are not goals, they are the element of the solution (architecture, and so on). From this standpoint, you don't really "have" those tasks. I strongly recommend to reformulate them, starting from addressing real, ultimate requirements.
—SA
AlexandruAdrian 2-Apr-14 16:44pm    
Now i realise that i should write "i need to do " these tasks , not "have" (sorry again for my english).


My question is about how to continue with my application(Windows Form Application -> which captures video stream from my webcam and saves it as an .avi file) in order to send the video file to a server(who can show to the user the video files in browser, and also to have a livestreaming option for the user).
Sergey Alexandrovich Kryukov 2-Apr-14 17:53pm    
No, this is not about language and the formulation. You need to look at the bigger picture.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900