Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何控制比特率MEDIASUBTYPE_H264 directshow?_C++_Windows_Directshow_Logitech - Fatal编程技术网

C++ 如何控制比特率MEDIASUBTYPE_H264 directshow?

C++ 如何控制比特率MEDIASUBTYPE_H264 directshow?,c++,windows,directshow,logitech,C++,Windows,Directshow,Logitech,我有一个logitech c920网络摄像头,它显示一个编码的h264捕获pin(子类型:MEDIASUBTYPE\u h264) h264引脚支持以下分辨率: FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 640x480 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 160x90 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE

我有一个
logitech c920
网络摄像头,它显示一个编码的
h264捕获pin
(子类型:
MEDIASUBTYPE\u h264

h264引脚支持以下分辨率:

FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 640x480 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 160x90 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 160x120 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 176x144 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 320x180 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 320x240 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 352x288 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 432x240 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 640x360 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 800x448 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 800x600 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 864x480 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 960x720 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 1024x576 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 1280x720 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 1600x896 @ 30 fps FORMAT_VideoInfo - subtype: MEDIASUBTYPE_H264 1920x1080 @ 30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 640x480@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 160x90@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 160x120@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 176x144@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 320x180@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE \u H264 320x240@30 fps 格式\视频信息-子类型:媒体子类型\ H264 352x288@30 fps 格式\视频信息-子类型:媒体子类型\ H264 432x240@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 640x360@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 800x448@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 800x600@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 864x480@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 960x720@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 1024x576@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 1280x720@30 fps 格式\视频信息-子类型:媒体子类型\ H264 1600x896@30 fps 格式\u VideoInfo-子类型:MEDIASUBTYPE\u H264 1920x1080@30 fps 在我的测试中,无论选择的分辨率如何,它总是使用3 Mbit。这有点太多了,尤其是对于较低的分辨率


您知道如何使用directshow以编程方式选择所需的比特率吗?或者其他API

查询IAMStreamConfig接口的pin,通过GetStreamCaps()获取此格式列表,选择所需的格式,它将包含指向包含dwBitRate字段的VIDEOINFO结构的指针pFormat。将此字段更改为所需的比特率,并使用此新数据调用IAMStreamConfig::SetFormat。

根据Logitech支持回答,编码为80/20 HW/SW,并且比特率(和GOP)无法控制。然而,他们的捆绑软件显然做到了这一点。除此之外,经过一些限制后,比特率会降低,尽管它发生在非常低的分辨率/fps组合下:

Required bandwidth for size:  ( 1920 , 1080 )  @ 30  is 2.81771 Mbit 
Required bandwidth for size:  ( 1920 , 1080 )  @ 25  is 2.81672 Mbit 
Required bandwidth for size:  ( 1920 , 1080 )  @ 20  is 2.82701 Mbit 
Required bandwidth for size:  ( 1920 , 1080 )  @ 15  is 2.83327 Mbit 
Required bandwidth for size:  ( 1920 , 1080 )  @ 10  is 2.83594 Mbit 
Required bandwidth for size:  ( 1920 , 1080 )  @ 5  is 2.8431 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 30  is 2.82013 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 25  is 2.82436 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 20  is 2.83217 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 15  is 2.83696 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 10  is 2.83721 Mbit 
Required bandwidth for size:  ( 1280 , 720 )  @ 5  is 2.45272 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 30  is 2.82089 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 25  is 2.82313 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 20  is 2.83131 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 15  is 2.83343 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 10  is 2.79526 Mbit 
Required bandwidth for size:  ( 864 , 480 )  @ 5  is 1.15564 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 30  is 1.90123 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 25  is 1.89367 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 20  is 1.26006 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 15  is 0.957935 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 10  is 0.637158 Mbit 
Required bandwidth for size:  ( 320 , 180 )  @ 5  is 0.328456 Mbit
如果你提出了解决方案,请分享。谢谢