【问题标题】:Grab frame from .mov file using DirectShow.net使用 DirectShow.net 从 .mov 文件中抓取帧
【发布时间】:2012-09-21 00:00:14
【问题描述】:

如何使用 DirectShow.net 从 c#.net 中的 .mov 文件中抓取帧

【问题讨论】:

    标签: c# .net directshow.net


    【解决方案1】:

    DirectShow 和 DirectShow.NET 对 .MOV 文件没有任何特别之处。您通常使用您管理的 Sample Grabber 过滤器创建过滤器图,它的回调会为您提供通过的视频流帧。

    您可能想查看 DirectShow.NET 中的 DxScan 示例,\Samples\Editing\DxScan。它从给定的电影文件中抓取帧。

    扫描媒体文件以查找黑框的示例应用程序

    大部分工作都是在 ISampleGrabberCB.BufferCB 中完成的。见 cmets 那里。此外,用于扫描黑帧的算法效率不高 可能是这样。但是,这些示例让您了解这可能是如何发生的 完成。

    【讨论】:

    • DxScan 应用程序抛出异常,当我尝试扫描任何 mov 文件时,也许我需要更改 Grabber 配置?目前是 AMMediaType 媒体;媒体 = 新 AMMediaType(); media.majorType = MediaType.Video; media.subType = MediaSubType.RGB24; media.formatType = FormatType.VideoInfo; hr = sampGrabber.SetMediaType( 媒体 );
    • 这完全取决于安装的解析器/解码器。他们应该能够引导你从文件到 RGB 24,如果他们不能,那么你就会遇到这样的问题。
    • 所以你的意思是,我需要安装快速时间或其他东西?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2022-12-21
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多