【问题标题】:How to set aspec ratio with EVR in DirectShow?如何在 DirectShow 中使用 EVR 设置纵横比?
【发布时间】:2015-05-02 22:55:11
【问题描述】:

我正在使用一个简单的图表来播放视频,而 EVR 是我的渲染器。无论视频和渲染屏幕的原生宽高比如何,我都想始终强制使用 16:9 或 16:10 宽高比。有什么办法吗?

我只找到了IMFVideoDisplayControl::SetAspectRatioMode,但它没有手动设置纵横比的选项。

【问题讨论】:

    标签: video directshow aspect-ratio directshow.net


    【解决方案1】:

    您不能指示 EVR 覆盖纵横比,它只能选择是否保持 AR。如果你想改变显示视频的纵横比,你必须改用变通方法:

    1. 您可以转换视频源并更改流的媒体类型,保持有效负载不变,并在各自的VIDEOINFOHEADER2 结构中应用新的纵横比
    2. 或者,您可以在 EVR 上禁用 AR 维护选项并适当调整其大小,同时考虑您的 AR。在这种情况下,您有责任对视频周围可能留下的空间进行信箱处理。

    【讨论】:

    • 但是你真的可以手动设置 VIDEOINFOHEADER2 吗?我试图调查它,但找不到合适的方法。你能为我指出正确的方向吗?谢谢!
    • 无法单独更改它,因为媒体类型是一致过滤器操作的一部分。但是,如果您制作自定义过滤器,则很容易做到。
    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多