配置图像流

图像流包含 JPEG 格式的静态图像。 尽管图像流类似于视频流,因为它们将未压缩的图像作为输入,但它们需要略有不同的配置。 若要配置图像流,必须为视频配置结构的成员设置值,如下表所示。

设置 说明
WM_MEDIA_TYPE.majortype 设置为 WMMEDIATYPE_Image。
WM_MEDIA_TYPE.subtype 设置为 WMMEDIASUBTYPE_RGB24。
WM_MEDIA_TYPE.bFixedSizeSamples 设置为 FALSE
WM_MEDIA_TYPE.bTemporalCompression 设置为 FALSE
WM_MEDIA_TYPE.lSampleSize 设置为 0。
WM_MEDIA_TYPE.formattype 设置为 WMFORMAT_VideoInfo。
WM_MEDIA_TYPE.pUnk 设置为 NULL
WM_MEDIA_TYPE.cbFormat 设置为 sizeof(WMVIDEOINFOHEADER)
WM_MEDIA_TYPE.pbFormat 设置为正确配置的 WMVIDEOINFOHEADER 结构的地址。
WMVIDEOINFOHEADER.rcSourceWMVIDEOINFOHEADER.rcTarget 设置这两个矩形,使左上角是 (0, 0) 的坐标,右下角是 (x,y) 其中 x 是图像宽度,y 是图像高度。
WMVIDEOINFOHEADER.dwBitRate 设置为流的比特率。
WMVIDEOINFOHEADER.dwErrorRate 设置为 0。
WMVIDEOINFOHEADER.dwBitErrorRate 设置为 0。
WMVIDEOINFOHEADER。AvgTimePerFrame 设置为 0。
BITMAPINFOHEADER.biWidth 设置为图像的宽度。
BITMAPINFOHEADER.biHeight 设置为图像的高度。
BITMAPINFOHEADER.biPlanes 设置为 1。
BITMAPINFOHEADER.biBitCount 设置为 24。
BITMAPINFOHEADER.biCompression 设置为 BI_RGB。
BITMAPINFOHEADER.biSizeImage 设置为 ( (x * y * c) / 8) ,其中 x 是图像的宽度,y 是图像的高度,c 是图像 (在此示例中始终为 24) 的颜色深度。
BITMAPINFOHEADER.biXPelsPerMeter 设置为 0。
BITMAPINFOHEADER.biYPelsPerMeter 设置为 0。
BITMAPINFOHEADER.biClrUsed 设置为 0。
BITMAPINFOHEADER.biClrImportant 设置为 0。

 

所有流通用的配置

配置流

使用 Windows Media Video 9 屏幕编解码器获取良好结果

图像流