我正在使用Directshow.NET在c#中开发一个应用程序。我正在使用虚拟相机来帮助记录桌面屏幕。所以我的图表是:
虚拟凸轮--->色空间转换器--->样品采集器---> ASF作家。
在编码时,我使用了.prx
生成的自定义Windows Media Profile Editor
,并使用IConfigAsfWriter
配置为WMCreateProfileManager
。
在.prx文件中,模式为CBR
,编解码器Windows Media Video 9
和帧速率15fps
,视频比特率为759Kbps,但视频看起来仍然很模糊。如果我将视频比特率提高到高达5Mbps,那么这种模糊性就不会出现,但是比特率会增加到大文件大小(54秒的录制文件大小为10MB)。
我尝试了使用graphEdit
虚拟摄像头的另一个图表---> AVI mux --->文件编写器,但这也生成大型.avi文件。
如何通过保持最小文件大小来录制没有模糊效果的视频,例如。 1分钟的视频大小可达2-3 MB? 我需要使用任何视频压缩器吗?
答案 0 :(得分:1)
质量取决于您使用的编解码器,但也取决于每像素的位数。你可以这样计算:
bits / pixel = bitrate /(width * height * framerate)
(比特率/秒,帧率为帧/秒)
因此,如果您希望在不模糊视频的情况下降低比特率,则还必须降低分辨率或帧速率。这样就可以保持每个像素的位数相同。