我正在使用DirectShow从avermedia live gamer Portable 2 plus录制1920x1080 60fps到avi文件。当我去播放文件时,长度总是比我录制的要长。例如记录20秒,文件显示28秒。
我尝试使用gettickcoun64为事件打上时间戳,以便给我一个相对的经过时间,并且我还使用了AVIMUX IMediaSeeking GetCurrentPosition函数。两者相互之间以及与实际经过时间之间的相关性很好。但是,当我在完成录制后打开文件时,文件似乎总是更长。
只有捕获设备,音频捕获设备,AVIMUX和文件编写器时,过滤器图是非常基本的。
我尝试删除音频并获得相同的结果,而不是20秒,而是28秒。
如果将帧速率降低到50fps,则时间匹配。如果我将图像尺寸缩小为1280 x 768 60fps,则文件不匹配,似乎与AVI文件和60fps有关?