Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 使用VC+的最佳调度实践+;用于在directshow中捕获_Visual C++_Video_Directshow_Video Capture_Timing - Fatal编程技术网

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并没有提供很好的精度,我们还可以使用什么来提供精度?您没有提到您需要特定的高精度。你需要什么样的精度?不确定你需要这个精度的原因,但是没有计时器可以达到这个精度。您可能更喜欢连续捕获视频,然后使用时间戳在正确的位置进行剪切-停止文件并开始新的操作(但在普通的单个图形中不可能这样做)。最好是在不停止的情况下保持平滑捕获输入输出图形,并将数据传递到单独的写入图形中。有些人使用桥接,有些人更喜欢在图形之间实现自定义数据传递。重新启动捕获图时,您远远落后于所需的计时精度。只要不中断捕获,您就不必担心计时问题。所有媒体数据都带有时间戳,因此您的录制不必具有实时精度以保持时间精度。为了给您一个线索,根据系统负载和运行的应用程序,编写良好的代码以几毫秒的精度运行。