【问题标题】:Displaying a video in DirectX在 DirectX 中显示视频
【发布时间】:2009-07-18 16:59:20
【问题描述】:

在使用 XAudio2 和 Direct3D9/10 的应用程序中显示视频(带声音!)的最佳/最简单方法是什么?

至少它需要能够流式传输可能更大的视频,并注意窗口纵横比可能与视频不同的事实(例如通过添加信箱),尽管理想情况下我喜欢嵌入的能力将视频转换为 3D 场景。

我当然可以想出一种方法将每个帧加载到纹理中,丢弃/重用渲染后的纹理,并通过 XAudio2 单独播放音频,但是,以及为至少一种格式编写加载器,我也必须处理诸如同步视频和音频组件之类的事情,因此希望有一个更简单的解决方案可用,或者甚至是具有适当许可的现成免费解决方案(二进制形式的商业分发,在 LGPL 的情况下动态链接很好) .

【问题讨论】:

  • DirectShow 不是一个选项?它使用 Direct3D 进行视频渲染。

标签: c++ video directx direct3d xaudio2


【解决方案1】:

在 Windows SDK 中,有一个 DirectShow example 用于将视频渲染为纹理。它也处理音频输出。

但是有一些限制,老实说,我不能说这很容易。

【讨论】:

    【解决方案2】:

    你看过Bink video吗?它是许多游戏用于视频播放的内容。效果很好,您不必自己从头开始编写所有视频内容。

    【讨论】:

    • 不幸的是,它也很贵。 Theora 是一个免费的替代品,从客观的角度来看也同样出色。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多