0

当我从 VFW (WM_CAP_GET_VIDEOFORMAT) 调用带有视频格式列表的 dlg 窗口时,我只有 2 个位置,其中一个 - MJPG (Motion JPG),当被选中时,将视频捕获为黑屏,这意味着 - 它不起作用,但可以选择。YUY2 工作正常,我知道如何管理它。

DLG_GET_VIDEOFORMAT

另一方面,如果我看到所有已安装编解码器的列表,它不仅仅是 MJPG 和 YUY2

  1. ICM Microsoft RLE MRLE msrle32.dll 6.1.7601.17514
  2. ICM 微软视频 1 MSVC msvidc32.dll 6.1.7601.17514
  3. ICM Microsoft YUV UYVY msyuv.dll 6.1.7601.17514
  4. ICM Кодек 英特尔 IYUV IYUV iyuv_32.dll 6.1.7601.17514 ICM 东芝
  5. ICM YUV 编解码器 Y411 tsbyuv.dll 6.1.7601.17514
  6. ICM Кодек Cinepak,由 Radius cvid iccvid.dll 1.10.0.13 制作

ICM(图像色彩管理)和 RLE - 8 位位图压缩。和别的。但对话框只显示 2(并且 MJPG 不可用)。

它是如何工作的?如何将其他编解码器添加到对话窗口,以及如何使其从 VFW 激活?我徒劳地尝试了 SET_VIDEOFORMAT.. 只有一个 - YUY2 被接受并且可以设置。

请告诉我更多关于相机 - 驱动程序 - vfw COM Graph builder 原则的信息。例如,如何添加 ICM Microsoft RLE 编解码器?

4

1 回答 1

0

该窗口显示了摄像机本身可以设置为传送视频的编码。这不包括可以处理/转换视频源的可用软件编解码器。MJPG 可能无法正常工作(黑度),因为驱动程序有问题,或者因为图片在进一步的处理步骤中丢失(无论出于何种原因,解码器都无法对其进行解码)。

您发现的其他编解码器与相机源分开工作,您可以在代码中使用它们来进行转换或编码。您可能需要处理像素格式/编码拟合:相机提供 YUY2,并不是每个编码器都会直接接受它,它可能需要其他东西,例如 RGB。

于 2015-08-13T06:19:18.297 回答