【问题标题】:DirectShow vmr bad motion playback from avi if not in native resolutionDirectShow vmr bad motion 从 avi 播放(如果不是本机分辨率)
【发布时间】:2018-11-20 16:13:31
【问题描述】:

我在 .Net Windows 应用程序中有一个相当简单的回放图。 (通过 DirectShowLib)

File Source ->  [Some Splitter] -> VMR7 || VMR9

分离器可以是 lav、ffdhow 等等,它只是一个智能连接。

渲染器可用时为 VMR9,否则为 VMR7。

VMR 的使用并不聪明,只是为了呈现视频无窗口,并在用户要求时捕获样本。

这已经工作了多年,视频可以是任何东西,包括 DV 或 MPEG2(因此 VMR 用于帧捕获,而不是 Sample Grabber)。

就在最近,我在多个实际上都使用 VMR9 的 Windows 10 系统上遇到了问题(尽管 VMR7 不能解决这个问题),在播放某些比原始 avi 剪裁得更小或更大的 avi 文件时很明显。原尺寸播放,画面很好。

使用 EVR 而不是 VMR 解决了所有视频问题,但它让我有些痛苦,因为它的图像捕获是输出矩形的大小而不是源。

所以我想知道是否有人可以阐明我在将 VMR 与 avi 文件(多种格式、DV / h264 ..)一起使用时所经历的事情。请注意,graph studio 和 vlc player 显示相同的问题。

我将描述为严重的运动重影的效果,请注意,如果在 EVR 或 VMR 上以源尺寸渲染原始视频文件看起来很好。

真的很感激任何想法。

---------------额外信息-------------------------

值得知道的是,所有有问题的 avi 文件都是通过 USB 捕获设备从复合/s-video 源捕获的。

【问题讨论】:

  • 对于隔行扫描的内容来说,这种伪影非常典型。也就是说,如果视频确实是隔行扫描的(考虑到您作为示例提到的格式,这很有可能),那么行为通常是预期的,您需要考虑为演示启用去隔行扫描。大概 EVR 会自动执行此操作。
  • 有趣,我是否应该期望工件在没有源分辨率时看起来更糟?我开始认为它与缩放有关,我什至不确定如何描述我添加的第二张图像。我将强制去隔行扫描,看看它会带给我什么。谢谢。
  • @RomanR。无论如何,似乎 VMR 对 Graph Studio 的前景并不满意。然而,我在我的图表中添加了以下内容sourceforge.net/projects/deinterlace,它确实解决了重影问题,同时引入了一些色彩空间问题,但为了获胜而去隔行扫描。如果您将其添加为答案,我会接受。

标签: video directshow


【解决方案1】:

呈现的工件是典型的用于呈现隔行扫描的内容而不进行去隔行扫描。

在某些情况下(例如在您的 EVR 测试中)可以自动提供去隔行,尤其是。通过 Direct3D 设备。否则,您会看到上述效果。由于 VMR 粗略地说是废弃的 API,即使旧系统可以处理去隔行,新系统也很可能无法通过 VMR-9 应用自动去隔行。

要解决您有兴趣应用去隔行的问题,无论是使用附加后处理过滤器的硬件或软件去隔行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多