use*_*688 5 c++ windows directshow logitech
我有一个logitech c920网络摄像头,呈现编码h264 capture pin(子类型:) MEDIASUBTYPE_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
在我的测试中,无论选择何种分辨率,它总是使用3 Mbits.它有点太多了,特别是对于较低的分辨率.
有关如何使用directshow以编程方式选择所需比特率的任何想法?或者其他API?
根据 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
Run Code Online (Sandbox Code Playgroud)
如果您想出了解决方案,请分享。谢谢!