2013-01-13 72 views
2

如何在录制directshow时更改视频的屏幕分辨率?因为我有一个8兆像素的网络摄像头,我用它进行视频录制,但是在保存视频后,当我观看视频时,它会播放像使用130万像素摄像头录制的视频。使用DirectShow录制视频录制分辨率

+0

消费级网络摄像机(ala Microsoft和Logitech)的分辨率通常至少为640x480。消费级别较高的产品可达1080p。但“8百万像素”声明通常是设备进入的盒子的市场营销饲料。如果罗马的解决方案不适合你,我有这么老的代码我可以挖掘列举和设置视频分辨率和位DShow图表的费率。 – selbie

回答

6

您需要使用IAMStreamConfig界面。有些MSDN导致你:

Configure the Video Output Format (Windows)

要配置捕获设备的输出格式,应用程序应该 使用由IAMStreamConfig ::的getFormat 在PMT参数返回的AM_MEDIA_TYPE结构。

IAMStreamConfig::GetFormat method (Windows)

如果引脚连接,该方法返回,销 当前正在使用的格式。否则,该方法返回引脚的首选 格式以用于下一个引脚连接。如果您已经调用了IAMStreamConfig :: SetFormat方法来设置格式,则GetFormat返回 相同的格式。如果不是,则返回IPin :: EnumMediaTypes 方法所确定的首选格式的引脚列表 中的第一个格式。

更多:

而且,你的摄像头可能有视频流较低的分辨率和高拍摄静止感谢进行后处理能力。

+0

我会试试这个。非常感谢你。顺便说一句,我使用VB.Net。 –