使用directshow.net进行高质量和优化的文件大小视频录制

时间:2016-02-05 23:53:29

标签: directshow directshow.net

我正在使用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? 我需要使用任何视频压缩器吗?

1 个答案:

答案 0 :(得分:1)

质量取决于您使用的编解码器,但也取决于每像素的位数。你可以这样计算:

  

bits / pixel = bitrate /(width * height * framerate)

(比特率/秒,帧率为帧/秒)

因此,如果您希望在不模糊视频的情况下降低比特率,则还必须降低分辨率或帧速率。这样就可以保持每个像素的位数相同。