Solved

Video capture and streaming from Webcam

Posted on 2002-06-07
7
1,273 Views
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
0
Comment
Question by:stesherlock
7 Comments
 
LVL 4

Expert Comment

by:mcoop
Comment Utility
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.

Cheers
0
 
LVL 3

Expert Comment

by:SirNick
Comment Utility
0
 

Author Comment

by:stesherlock
Comment Utility
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.
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 

Author Comment

by:stesherlock
Comment Utility
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.
0
 

Author Comment

by:stesherlock
Comment Utility
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.

Thanks.
0
 
LVL 1

Accepted Solution

by:
Un1 earned 250 total points
Comment Utility
Did you try the AVPhone controls?

http://www.banasoft.net/AVPhone.htm
0
 

Author Comment

by:stesherlock
Comment Utility
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...
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

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 …
Having just graduated from college and entered the workforce, I don’t find myself always using the tools and programs I grew accustomed to over the past four years. However, there is one program I continually find myself reverting back to…R.   So …
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

772 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now