Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Video capture and streaming from Webcam

Posted on 2002-06-07
Medium Priority
Last Modified: 2013-11-13
I'm currently trying to write a piece of software that will capture video from a webcam, and stream this over a LAN to other computers on the network.

So far, I've managed to write code that will capture an AVI file, and code that will send this AVI to any other machine that requests it. However, I need to take this a step further and make this a real time process, letting other users on the LAN watch the video live, as it happens.

After a little research, it seems that I must capture the AVI to memory, rather than to a file. The OCX I was using doesn't support this, so I feel like I'm back to square one. Thus the first part of my question, can anyone recommend an OCX that will let me save the file to ram instead?

Now, when it comes to streaming, I know little more than it's usually (or possibly always?) done with the UDP protocol. Again, this shouldn't prove to be a problem, since I'm quite comfortable with the use of the winsock control for TCP and UDP communication.

However, I still need to figure out:

1) How to capture the AVI to RAM
2) How to prepare this stream / retreive the data to be sent via the winsock control

Full points will be given to anyone who can offer me relative code, otherwise I will drop the points available and allocate them to anyone who can point me to another site with references to this subject that prove useful in the final solution.

Thanks in advance,

Stephen Sherlock
Question by:stesherlock
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 7064157
Have a look at the Windows Media packes on the MS sites.

Windows Media Encoder is free to download, and works very well.  I have many servers spread across the country streaming 28kbps HTTP programs 24x7x365

If you can't get WME to recognise your Webcam drivers, you may be better off getting a low cost compatible encoder card (many listed on WME site) and going that way.  The quality and reliability will be well worth the difference.


Author Comment

ID: 7064620
I'm afraid neither of those suggestions appear to acheive my desired result.

I need to be able to code this feature into an existing project to provide additional functionality, so the MS WME is out of the question (unless I've overlooked something on the site? Some more accurate links would be appreciated if this is the case).

The second method seems to only capture shots at certain intervals, which is again not really what I'm looking for since the video will ideally be real time, around the 15-25 FPS mark.

Thanks for trying.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 7066022
I may be wrong, but I've just downloaded the DirectX SDK again, and this DirectShow side of things seems to look promising.

Has anyone had any expereience with DirectShow from VB? Any relevant code would be greatly appreciated.

Author Comment

ID: 7068555
Since I believe the way to go with this is now to use DirectShow, I'm going to delete this question and post another with a different "topic" that may promote more interest.


Accepted Solution

Un1 earned 750 total points
ID: 7145138
Did you try the AVPhone controls?


Author Comment

ID: 7146798
Well, since it was the AV Phone control that I ended up using (and forgot about this question in the process :() I'll give the points to UN1 for being the first to suggest it...

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
This article will show, step by step, how to integrate R code into a R Sweave document
This video teaches viewers about errors in exception handling.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question