Visual c++ 使用VC+的最佳调度实践+;用于在directshow中捕获
我有一个捕获应用程序,它执行Visual c++ 使用VC+的最佳调度实践+;用于在directshow中捕获,visual-c++,video,directshow,video-capture,timing,Visual C++,Video,Directshow,Video Capture,Timing,我有一个捕获应用程序,它执行MP4捕获。我需要安排这个捕获应用程序每30分钟捕获一次视频(或一些动态值) 我在文章中阅读了MSDN中的iReferenceLock::advisionTime,我不确定,但我假设它将在结束时间过后触发事件。但它似乎不起作用。如果我的理解不正确,请告诉我。或者是任何其他的击球手在30分钟内重复时间表来捕捉视频 谢谢iReferenceLock::AdviseTime是我们结束日程设置活动的关键。作为流操作的一部分,过滤器可能会在内部利用这一点。然而,对你来说,这种方
MP4
捕获。我需要安排这个捕获应用程序每30分钟捕获一次视频(或一些动态值)
我在文章中阅读了MSDN中的iReferenceLock::advisionTime
,我不确定,但我假设它将在结束时间过后触发事件。但它似乎不起作用。如果我的理解不正确,请告诉我。或者是任何其他的击球手在30分钟内重复时间表来捕捉视频
谢谢
iReferenceLock::AdviseTime
是我们结束日程设置活动的关键。作为流操作的一部分,过滤器可能会在内部利用这一点。然而,对你来说,这种方法是没有用的。有很多方法可以每30分钟触发一次操作。在正在运行的应用程序上,您通常会使用SetTimer
+WM\u TIMER
API。如果您希望每30分钟启动一次应用程序,任务计划程序将为您提供。感谢@Roman的回复。我知道SetTimer并没有提供很好的精度,我们还可以使用什么来提供精度?您没有提到您需要特定的高精度。你需要什么样的精度?不确定你需要这个精度的原因,但是没有计时器可以达到这个精度。您可能更喜欢连续捕获视频,然后使用时间戳在正确的位置进行剪切-停止文件并开始新的操作(但在普通的单个图形中不可能这样做)。最好是在不停止的情况下保持平滑捕获输入输出图形,并将数据传递到单独的写入图形中。有些人使用桥接,有些人更喜欢在图形之间实现自定义数据传递。重新启动捕获图时,您远远落后于所需的计时精度。只要不中断捕获,您就不必担心计时问题。所有媒体数据都带有时间戳,因此您的录制不必具有实时精度以保持时间精度。为了给您一个线索,根据系统负载和运行的应用程序,编写良好的代码以几毫秒的精度运行。