在directshow中录制时如何更改视频的屏幕分辨率?因为我有一个 8 兆像素的网络摄像头,我用它来录制视频,但是在保存视频后,当我查看视频时,它的播放就像是使用 1.3 兆像素的摄像头录制的一样。
问问题
5055 次
1 回答
8
您需要使用IAMStreamConfig
界面。一些 MSDN 为您提供线索:
要配置捕获设备的输出格式,应用程序应使用 pmt 参数中的 IAMStreamConfig::GetFormat 返回的 AM_MEDIA_TYPE 结构。
IAMStreamConfig::GetFormat 方法 (Windows):
如果引脚已连接,则此方法返回引脚当前使用的格式。否则,该方法为下一个 pin 连接返回pin 的首选格式。如果您已调用 IAMStreamConfig::SetFormat 方法设置格式,则 GetFormat 返回相同的格式。如果不是,它返回 pin 的首选格式列表中的第一个格式,由 IPin::EnumMediaTypes 方法确定。
更多的:
- 如何在 DirectShow 中更改输出引脚大小和颜色空间/压缩
- 我如何以编程方式设置 Directshow 过滤器的选项?
- DirectShow - IAMStreamConfig::SetFormat 和 ICaptureGraphBuilder2::RenderStream 的调用顺序会在某些摄像机中产生问题
此外,由于后处理功能,您的网络摄像头可能具有较低的视频流分辨率,而用于拍摄静止图像的分辨率较高。
于 2013-01-13T16:25:29.760 回答