Hello folks,

I've been hired for a in-house project (basicly an audio/video recorder,
which can also do some realtime effects and output the processed audio/video
in the while).
Since I'm an extremely "low level" guy, and it was up to me to choose the
hardware that would run my software, I implemented the audio part using the
kernel streaming method (studying DirectKS Microsoft sample, although I
rewrote everything from scratch).
This gives low latency, but I'd have followed this road even if it didn't
offer any such advantages over DirectSound. The reasons are simple, as I
said I'm a low-level coder (and I'm not specialized on Windows, rather,
often I work with proprietary hardware and OS), and I liked the more direct
interfacing with the hardware, which makes my programming life actually
easier and removes overhead (from my work and the CPU as well) and nonetheless
makes programming much more fun!

Now I've to write the video capture part, and I was wondering if an analogous
exists? What is the lowest-level possible when doing video capture from any
PCI card on Windows? It doesn't matter if, like the audio kernel streaming,
it won't be supported on Windows 2005.. because this box will always run
Win2K anyway, and on hardware chosen by me.

Some, even many of you may disagree with me, but I like the idea of doing
it the "lowest reasonable level possible", so I'd like to talk directly
with the driver (I don't pretend to talk directly with the hardware in
Windows, you see), and I'm already conscious of the disadvantages.

Please, could any kind soul direct me to the right path to follow? I'm
quite new to this kind of programming in Windows, and my battles with Google,
MSDN and DejaNews didn't shed much light on the subject. :(

Thanks!
Andrea

Re: User application video capture via kernel streaming? by Maxim

Maxim
Mon Nov 08 08:03:35 CST 2004

> Now I've to write the video capture part, and I was wondering if an analogous

Are you writing the driver for a video capture hardware? Or you have the ready
video capture hardware with its own driver? In the second case, use DirectShow.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com



Re: User application video capture via kernel streaming? by Tim

Tim
Tue Nov 09 00:11:11 CST 2004

andrea@invalid.com (Andrea) wrote:
>
>Hello folks,
>
>I've been hired for a in-house project (basicly an audio/video recorder,
>which can also do some realtime effects and output the processed audio/video
>in the while).
>Since I'm an extremely "low level" guy, and it was up to me to choose the
>hardware that would run my software, I implemented the audio part using the
>kernel streaming method (studying DirectKS Microsoft sample, although I
>rewrote everything from scratch).
>...
>Now I've to write the video capture part, and I was wondering if an analogous
>exists? What is the lowest-level possible when doing video capture from any
>PCI card on Windows?

I'm surprised you didn't discover this already. Kernel streaming covers
video as well as audio. There are samples in the DDK.

Most modern capture cards provide kernel streaming drivers. DirectShow
provides a thin wrapper called "ksproxy" that allows such drivers to
participate in a DirectShow graph.

DirectShow can be a lot of fun. You shouldn't discard it just because it
is an additional layer.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc