The capture, preview, and still stream categories are almost identical in terms of data formats and stream characteristics.
| Category/PinName | Description |
|---|---|
| PINNAME_VIDEO_CAPTURE | Capture category output pins provide a stream of compressed or uncompressed digital video. Typically, this stream is used for writing movies to disk, video conferencing, and for image analysis. |
| PINNAME_VIDEO_PREVIEW | Preview category output pins provide a stream of usually uncompressed digital video. Typically, the stream is used to view the video stream on the local monitor, in either RGB or YUV formats that can be directly displayed by DirectDraw. In resource-limited situations, capture minidrivers should prioritize the preview stream lower than the capture stream. |
| PINNAME_VIDEO_STILL | Still category output pins are used with dual-mode cameras that are capable of producing both a capture stream and a still image stream (that is often of higher quality than the capture stream). The still image stream includes the ability to externally or programmatically trigger acquisition of an image. |
Note Since many cameras produce only a single output stream, the DirectShow SDK includes a Smart Tee filter that splits a single stream into a Capture and a Preview stream. Therefore, cameras that produce only a single stream should not internally duplicate their data streams to produce a preview stream.
The following table lists the common characteristics of Capture, Preview, and Still streams.
| Attribute | Value |
|---|---|
| DataRange Structure | KS_DATARANGE_VIDEO (frames only) KS_DATARANGE_VIDEO2 (fields or frames, bob or weave settings) KS_DATARANGE_MPEG1_VIDEO KS_DATARANGE_MPEG2_VIDEO |
| DataFormat Structure | KS_DATAFORMAT_VIDEO (frames only) KS_DATAFORMAT_VIDEO2 (fields or frames, bob or weave settings) KS_MPEG1VIDEOINFO (for MPEG1) KS_MPEGVIDEOINFO2 (for MPEG2) |
| Major Format GUID | KSDATAFORMAT_TYPE_VIDEO |
| Sub-Format GUID | RGB16, RGB24, UYVY, JPEG, … |
| Specifier GUID | KSDATAFORMAT_SPECIFIER_VIDEOINFO (frames only) KSDATAFORMAT_SPECIFIER_VIDEOINFO2 (fields or frames) |
| Extended Header Size | KS_FRAME_INFO if not an MPEG format. Zero if an MPEG format. |
| Required Property Sets | KSPROPSETID_Connection PROPSETID_VIDCAP_DROPPEDFRAMES |
| Required Event Sets | None |
| DirectShow majortype | MEDIATYPE_Video |
| DirectShow formattype | FORMAT_VideoInfo (frames only) FORMAT_VideoInfo2 (fields or frames) |