【问题标题】:DirectX.Capture FrameRatesDirectX.Capture 帧率
【发布时间】:2013-03-06 09:29:57
【问题描述】:

我正在使用 DirectX.Capture 库保存到 AVI 格式的网络摄像头。我需要将视频保存为 50fps 或更高,但是当我使用它时:

 capture.FrameRate = 59.994; 

FrameRate 完全没有变化。它在那条线之前有 30 条,通过这条线它保持 30 条。我尝试了其他值,甚至是 20 和 10,但没有任何变化。

我还应该怎么做才能改变那个值?还是与我的硬件有关,我希望它可以在其他机器上工作?

请帮帮我,我不知道该怎么办。

感谢

【问题讨论】:

    标签: directx capture frame-rate


    【解决方案1】:

    源素材(视频、应用程序/等)可能仅以 30fps 更新,这可能是因为视频编解码器或应用程序的行为方式,或者是因为您在目标应用程序中打开了垂直同步(检查垂直同步设置,如果有硬件加速,它可能会被显卡驱动程序强制执行)。 DirectX.Capture 的行为可能是从源中钳制到最高可用帧率。

    如果您真的想要将视频设为 50fps,请以原始速率 (30/29.97) 捕获它,然后使用其他软件重新采样视频(请注意,这将是一个破坏性操作,因为50 不是 30 的净倍数)。如果您可以将其强制为 50 fps(即使由于源素材的帧速率较低而导致其荒谬),这与 DX 捕获将执行的操作没有什么不同。仅供参考,大多数视频文件在 25 到 30 FPS 之间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多