我实时应用了网络摄像头。 我用Win 10媒体基金会的源阅读器实时捕捉视频。 一切正常, 除了时间戳。 我需要知道样本何时被采集, 所以我要记录每个样本的时间戳, 并检查样本之间的时间差。 为了测试, 我复制了视频内容, 只记录时间戳。 我使用30赫兹框架率, 并取得了以下结果,
样本指数、时间戳、样本之间的差异
样本1, 64285.177787 s, 32.07 ms
样本2, 64285.20989秒, 32.02毫秒
样本3,64285.24188秒,32.00毫秒
样本4,64285.27385秒,31.97毫秒
样本5、64285.30589秒、32.04毫秒
样本6, 64285 333794 秒, 32.05毫秒
样本7、64285 36990秒、31.96毫秒
样本8,64285,41776 s, 47.86 ms?
样本9, 64285.44984s, 32.08 ms
样本10、64285.48187s、32.03毫秒
样本11、64285.51386s、31.99毫秒
样本12, 64285.54589秒, 32.03毫秒
样本13、64285.57786秒、31.97毫秒
样本14, 64285. 60992 s, 32.06 ms
样本15、64285.64186s、31.94毫秒
样本16、64285.67385秒、31.99毫秒
样本17、64285.70588秒、32.03毫秒
样本18、64285.73792秒、32.04毫秒
样本19、64285.76988秒、31.96毫秒
样本20、64285.80191秒、32.03毫秒
样本21, 64285.83392秒, 32.02毫秒
样本22, 64285.8658587 秒, 31.95毫秒
样本23, 64285. 91385 s, 47.98 ms?
样本24、642858.94586s、32.02毫秒
样本25, 64285.97788秒, 32.02毫秒
样本26、64286.00986秒、31.98毫秒
27号样本,64286.04182秒,31.95毫秒
样本28、64286.07388秒、32.06毫秒
样本29、64286.10588秒、32.00毫秒
样本30、64286.13785s、31.96毫秒
31, 64286.16990秒, 32.06毫秒
样本32, 64286.20190 s, 32.00 ms
样本33, 6428623391秒, 32.01毫秒
样本34, 64286.26586s, 31.95毫秒
样本35,64286 29786秒,32.01毫秒
样本36, 64286. 32986秒, 32.00毫秒
样本37, 64286 377787 s, 48.00 ms?
抽样38,64286.40984秒,31.98毫秒
样本39, 64286.44184s, 31.99毫秒
样本 40, 64286.4738 秒, 32.05毫秒
样本41, 64286.50588 秒, 31.99毫秒
样本42, 64286. 53785 秒, 31.98毫秒
抽样43, 64286.56987秒, 32.02毫秒
样本44 64286.60190秒,32.03毫秒
样本 45, 64286.63385 秒, 31.94毫秒
样本46、64286.66597秒、32.12毫秒
抽样 47, 64286.69790秒, 31.93毫秒
抽样 48, 64286.72986秒, 31.96毫秒
抽样 49, 64286.76186 秒, 32.00毫秒
样本50, 64286.79386秒, 32.00毫秒
样本51, 6428684188 s, 48.02 ms?
样本52、64286.87388秒、32.00毫秒
样本53, 64286.90585秒, 31.97毫秒
样本54、642886.93785秒、32.00毫秒
样本55, 64286. 96988秒, 32.03毫秒
样本56、64287.00184秒、31.96毫秒
样本57、64287.73385s、32.01毫秒
抽样 58, 64287.6594 s, 32.09 ms
抽样 59, 64287.9789秒, 31.95毫秒
样本60、64287.12985秒、31.96毫秒
61, 64287.16189 s, 32.04 ms
62, 64287.1938秒, 32.00毫秒
样本63, 64287.22586s, 31.96毫秒
样本64、64287.25788秒、32.02毫秒
样本65, 64287,30587 s, 47.99 ms?
样本66, 64287.33787 秒, 32.00毫秒
样本67, 64287.36985 秒, 31.99毫秒
样本 68, 64287.40184 秒, 31.99毫秒
抽样 69, 64287 43387 秒, 32.03 毫秒
样本70, 64287.46589秒, 32.02毫秒
样本71、64287.49785秒、31.96毫秒
样本72、64287.52986s、32.01毫秒
抽样73, 64287.56188秒, 32.02毫秒
样本74、64287.59385秒、31.97毫秒
样本75、64287.62587秒、32.02毫秒
样本76、64287.65793秒、32.06毫秒
样本77、64287.68991秒、31.99毫秒
抽样 78, 64287.72186 秒, 31.95毫秒
样本79, 64287.76982s, 47.96ms?
样本80、64287.80187秒、32.05毫秒
样本81, 64287.833888秒, 32.01毫秒
样本82、64287.86584s、31.96毫秒
样本83, 64287.89783 秒, 31.99毫秒
样本84、64287.92985秒、32.01毫秒
样本85、64287.96186s、32.01毫秒
样本86、64287.99384秒、31.98毫秒
87, 64288.02587秒, 32.03毫秒
样本88, 64288.05787秒, 32.00毫秒
抽样 89, 64288.8889s, 32.02毫秒
样本90、64288.12190s、32.00毫秒
样本91, 64288.15388 秒, 31.98毫秒
样本92、64288.18587s、31.99毫秒
93号样本,6428823383s,47.96ms?
样本94、64288.26583秒、32.00毫秒
样本95, 64288.29787 秒, 32.04毫秒
样本96、64288.32992秒、32.05毫秒
样本97、64288.36182 秒、31.90毫秒
抽样98, 64288.39386秒, 32.04毫秒
样本99, 64288.42588秒, 32.02毫秒
样本100, 64288.45784 秒, 31.96毫秒
抽样 101, 64288.4898 秒, 32.04毫秒
抽样102,64288.82189秒,32.01毫秒
样本103、6428855388秒、31.99毫秒
样本104、64288.8586s、31.97毫秒
样本105、64288.61785秒、32.00毫秒
样本106、64288.64998秒、32.13毫秒
107号样本,64288869791s, 47.93ms?
抽样108、642888.72983秒、31.93毫秒
抽样109、64288.76188秒、32.05毫秒
样本110、642888.79388秒、31.99毫秒
样本111、64288.82585s、31.97毫秒
112、64288.85785秒、32.00毫秒
样本113、64288.88987秒、32.02毫秒
样本114, 642888.92188秒, 32.01毫秒
样本115、64288.95390秒、32.02毫秒
样本116、64288.98587秒、31.97毫秒
117, 64289.01790秒, 32.02毫秒
样本118、64289.04986秒、31.96毫秒
样本119、64289.08186s、32.00毫秒
样本120、64289.11386秒、32.01毫秒
样本121, 64289. 16885 s, 47.98 ms?
122, 64289.1938秒, 32.01毫秒
样本123、64289.22584秒、31.98毫秒
样本124, 64289.25785 秒, 32.01毫秒
样本125、64289.28987秒、32.02毫秒
样本126、64289.32184s、31.96毫秒
样本127, 64289.35385 秒, 32.01毫秒
抽样128、64289.38589秒、32.04毫秒
抽样129、64289.41786秒、31.98毫秒
抽样130、64289.44982秒、31.96毫秒
131, 64289.4818 秒, 32.06毫秒
抽样132、64289.513888秒、32.00毫秒
样本133、64289.54585s、31.97毫秒
134, 64289.57786秒, 32.01毫秒
135, 64289.62588 s, 48.02 ms?
样本之间的间隔每14个样本将增加16毫秒,平均间隔为33毫秒,与30赫兹一致。但我需要一个稳定间隔33毫秒,而不是平均33毫秒。
我尝试过不同的框架率和不同的网络摄像头。 假设情况是一样的。 它会增加每N样本16毫秒( 不同的框架率和不同的网络摄像头可能不同 ) 。 我还使用 QueryPerforactanceCounter 来验证。 它显示了相同的结果 。
我不认为网络摄像头会定期延迟。 我想源阅读器有一些内部缓冲, 并做一些邮递处理。 我试图直接使用 MFMedia Source 和 MFMediaStream, 但是它不会输出任何样本。 我必须返回源阅读器 。
我的捕捉代码与SDK的样本相同。 (MFCaptureD3D)
有人知道如何让源阅读器制作一个稳定的样本期吗?
提前感谢。
本 本