capture one video frame as save as bitmap

I have an Intel Video Input Card. I can save the video as an avi file with Video for windows but how can I capture one frame and save it as a bitmap using Visual Basic
LVL 1
aktisAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

FutureCommented:
Ahh, an easy one :-)... just pause the video and press Alt-Printscreen.  Then start a paint program and paste the graphic.  It should be easy then to remove the border (I do this all the time, just select the picture part and copy/paste to a new graphic).  Hope this is an adequate answer.  It does work pretty nicely for just about any kind of window capture.
0
FutureCommented:
Oops.. I missed the "using Visual Basic" part, sorry about that (doh...).  Well... This would be something of a pain to do using plain old visual basic and would probably require some API calls.  I guess I'll let someone else answer it since I've never done anything like that with VB.
0
aktisAuthor Commented:
Adjusted points to 100
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Dr. Kamal MehdiCommented:
aktis,
Using VB, you can play the video in a picture box using the MCI control (I assume that you know how). On your form, put one command button and one text box. In the 'Click' event of the command button write this code:

SavePicture Picture1.Image, Text1.text

Then, whenever you want to capture a frame, click the pause button on the MCI control, and in the textbox enter the file name you want to save the frame to ("c:\myframe.bmp"), and then Click your command button to save the frame.

If you want information (code) on how to play a video in a picture box using the MCI control, please drop me a comment.

Best regards.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Dr. Kamal MehdiCommented:
aktis,
In my answer above I assumed that you allready have captured the video first, and saved it as an AVI file.
0
aktisAuthor Commented:
Thanks but my problem is than I haven't allready captured the video. I has only one video input card connected to a video.
0
FutureCommented:
aktis,

The only way I would think you could possibly do what you want is to contact Intel and see if you can get a list of DLL's that came with the software for your video input card (the drivers, etc) and a list of the API calls associated with the software that drives the card.  Otherwise, there is no way to interface with the card(well, no way unless you had detailed info from Intel about interacting directly with their hardware, an extremely unlikely event).
0
aktisAuthor Commented:
Is there a common protocol between video capture cards?
0
Dr. Kamal MehdiCommented:
Hi aktis
Sorry for being away for a few days.
From your comments, I understand that you want to capture a frame directly from the video source in visual basic. As Future said, you must use one or more DLL's that come with the capture card software to be able to do what you want directly from visual basic. And regarding your last comment about if there is a common protocol between video capture cards, the answer is NO. Each manufacturer develops his own drivers and DLL's for his card.
Now regarding your original question, you can SHELL the capture software from your VB program, capture the video sequence, close the capture program, and play the clip just captured in your VB program to do the frame capture.
Best Regards.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.