【问题标题】:Media Foundation. Encoding video from bitmaps with custom IMFMediaSource媒体基金会。使用自定义 IMFMediaSource 从位图中编码视频
【发布时间】:2012-01-13 13:15:08
【问题描述】:

谁能澄清以下问题?一个像样的源代码 sn-p 或示例会很棒,到目前为止我发现的唯一相关示例是 SDK 中的 WavSource。

  1. 如何将原始位图数据呈现给编码器?是 (A)RGB 32BPP 还是类似的?

  2. 基于 WavSource 样本,在输入流上调用 RequestSample(),这将返回数据、播放时间和持续时间。所以我会返回一个格式适当的缓冲区,其播放时间和持续时间为 1 秒?

谢谢。

【问题讨论】:

    标签: video bitmap h.264 video-encoding ms-media-foundation


    【解决方案1】:

    查看此链接,了解如何编写自定义媒体源: http://msdn.microsoft.com/en-us/library/windows/desktop/ms700134(v=vs.85).aspx

    基本上原始位图被编码在样本中。您可以简单地为 32 BPP 分配大小为 4*row*height 的样本并传递原始缓冲区。

    你可以这样做:

    1. MFCreateMemoryBuffer 创建缓冲区
    2. MFCopyImage 将您的位图复制到缓冲区
    3. MFCreateSample 创建样本

    有关编码视频样本,请查看:http://msdn.microsoft.com/en-us/library/windows/desktop/ee663604(v=vs.85).aspx

    【讨论】:

    • 如果您可以使用代码,您能分享它吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多