Click here to Skip to main content
15,884,425 members
Articles / Desktop Programming / MFC
Article

Capture Live Video from various Video Devices.

Rate me:
Please Sign up or sign in to vote.
4.72/5 (62 votes)
20 May 2004CPOL2 min read 748.7K   45.1K   206   201
LiveVideo is an application to capture live video from various video capture devices.

Sample Image - LiveVideo.jpg

Introduction

This is an attempt to create an application which captures Live video from a Video capture device and USB attached WebCam all together in the same application. While developing my project, I needed to capture the video from various video devices including TV. Though, I found some source for capturing Video, it was not so efficient. So, that prompted me to develop my own independent application. Initially, “LiveVideo” detects the availability of the Video Capture card and whether WebCam is attached or not. Otherwise, it shows the message. Most of the API functions are used from DirectX SDK.

Steps to Use

  • Create a Dialog based application.
  • Insert a Picture control of size 320x240 pixel.
  • In the properties of the Picture control, set TYPE as ‘Rectangle’ and COLOR as ‘Black’.
  • Add the files “CaptureVideo.cpp” and “CaptureDevice.h” to your project.
  • Add “CaptureVide.h” into your implementation header file.
  • Create an Object of the class “CCaptureVideo” using Class wizard.
  • Link the libraries strmbasd.lib, wmvcore.lib, wmstub.lib in your project settings.

Now, using the object, invoke InitializeVideo(HWND hWnd) function to initialize the video.

HRESULT hr = capVideo.InitializeVideo(hWnd);

Where hWnd is the window handle of the picture control.

  • StartSVideo() - To start capturing from SVideo.
  • StartCompositeVideo() - To start capturing from Composite Video.
  • StartTVTuner() - To start capturing from TVTuner.
  • StartWebcam() - To start capturing from WebCam.

Important:

Don’t forget to uninitialize the Video by using UnInitializeVideo() before destroying your application.

Requirements:

  • Video Capture card. I’ve tested with “WinFast TV2000 XP WDM Video Capture” card. Hope it will work with all video capture cards.
  • USB Cam.
  • You need to install DirectX, which is available freely from Microsoft. You can download DirectX 9.0 from Microsoft.
  • For development, install DirectX 9.0 SDK. You can download DirectX 9.0 SDK from Microsoft.

Conclusion

I hope this article is of some use to you. I would add Configuration settings of the Video features and Video quality in my next version. Feel free to use these classes as you like. Any comments or improvements would be appreciated.

License

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


Written By
Web Developer
United States United States
Hi Friends.,

I am DILLIP working as a Software Engineer in South Korea .

My Hobbies:

Listening to Music, Net Browsing , watching TV..

Comments and Discussions

 
GeneralRe: video capture Pin
chasoknight22-Jul-08 23:08
chasoknight22-Jul-08 23:08 
GeneralRe: video capture Pin
Aric Wang23-Jan-10 3:59
Aric Wang23-Jan-10 3:59 
GeneralI want code and windown form of C# for application of listening music Pin
milkpig864-Apr-08 20:12
milkpig864-Apr-08 20:12 
GeneralRe: I want code and windown form of C# for application of listening music Pin
kiquenet.com20-May-08 22:04
professionalkiquenet.com20-May-08 22:04 
GeneralI wants to get a snap from C# Application, of a person sitting in front of a WebCam. Pin
Member 33318424-Dec-07 23:28
Member 33318424-Dec-07 23:28 
GeneralI wants to get a snap from C# Application, of a person sitting in front of a WebCam. Pin
Member 33318424-Dec-07 23:26
Member 33318424-Dec-07 23:26 
QuestionHelp!! Pin
swlan7-Aug-07 16:52
swlan7-Aug-07 16:52 
GeneralWebcam for engineering project Pin
ang_ks9-Jul-07 20:20
ang_ks9-Jul-07 20:20 
Hi all,

I have looked at the source files, yet i have failed utterly in understanding. I do have C basics and do programming. I need to understand these codes so that i can implement them into C S-Function in MATLAB: Simulink.

Anyone can give advice on an effective approach to study the source files?

Thanks in advance!

ang_ks
GeneralNeed help Pin
yaminisridaran11-Jul-07 23:09
yaminisridaran11-Jul-07 23:09 
QuestionPicture control Pin
tyagineha14-Jun-07 1:51
tyagineha14-Jun-07 1:51 
Generaltwo web cameras! Pin
windlfs12-Apr-07 19:20
windlfs12-Apr-07 19:20 
QuestionHow can it has sound ? Pin
ngochuy23-Feb-07 0:17
ngochuy23-Feb-07 0:17 
QuestionConvert into C# Pin
Abu Syed Khan20-Feb-07 4:48
Abu Syed Khan20-Feb-07 4:48 
QuestionConvert into C# Pin
Abu Syed Khan20-Feb-07 4:48
Abu Syed Khan20-Feb-07 4:48 
QuestionConvet in C# Pin
Abu Syed Khan20-Feb-07 4:45
Abu Syed Khan20-Feb-07 4:45 
GeneralSave Image Pin
sprmat848-Feb-07 11:16
sprmat848-Feb-07 11:16 
GeneralRe: Save Image Pin
tanvon malik25-Sep-07 2:41
tanvon malik25-Sep-07 2:41 
GeneralRe: Save Image Pin
ricox7824-Mar-08 9:41
ricox7824-Mar-08 9:41 
QuestionIs it Possible in Web Applications Pin
Anandhveera24-Jan-07 18:01
Anandhveera24-Jan-07 18:01 
QuestionSave in Hard Disk Directly [abbasmoh56@yahoo.com] Pin
maghaei20-Nov-06 23:21
maghaei20-Nov-06 23:21 
QuestionSave in Hard Disk Directly Pin
maghaei20-Nov-06 23:20
maghaei20-Nov-06 23:20 
GeneralSave Captured Video Pin
shital_harode@rediffmail.com6-Nov-06 23:37
shital_harode@rediffmail.com6-Nov-06 23:37 
QuestionVideo quality issue Pin
pr0digy130-Oct-06 10:12
pr0digy130-Oct-06 10:12 
AnswerRe: Video quality issue Pin
SreerajManayath29-Mar-12 23:12
SreerajManayath29-Mar-12 23:12 
GeneralICaptureGraphBuilder2 Pin
vkvk25-Oct-06 3:09
vkvk25-Oct-06 3:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.