媒体基金会。使用自定义 IMFMediaSource 对位图视频进行编码

发布于 2024-12-27 00:02:38 字数 252 浏览 1 评论 0原文

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

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

  2. 根据 WavSource 示例,在输入流上调用 RequestSample(),这会返回数据、播放时间和持续时间。那么我会返回一个播放时间和持续时间为 1 秒的格式适当的缓冲区?

谢谢。

Can anyone clarify the following questions? A decent source code snippet or example would be wonderful, the only relevant example I've found so far is WavSource in the SDK.

  1. How is the raw bitmap data presented to the encoder? Is it (A)RGB 32BPP or similar?

  2. On the basis of the WavSource sample something calls RequestSample() on the input stream, this returns data, play time and duration. So I'd be returning a suitably formatted buffer with a playtime and a duration of 1s?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青柠芒果 2025-01-03 00:02:38

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

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

您可以执行以下操作:

  1. MFCreateMemoryBuffer 创建缓冲区
  2. MFCopyImage 将位图复制到缓冲区
  3. MFCreateSample 创建示例

对于编码视频示例,请查看: http://msdn.microsoft.com/en-us/library/windows/desktop/ee663604(v=vs.85).aspx

Take a look at this link on how to write a Custom Media Source:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms700134(v=vs.85).aspx

Basically raw bitmap is encoded in the sample. You can simply allocate a sample of size 4*row*height for 32 BPP and pass the raw buffer.

You can do this:

  1. MFCreateMemoryBuffer to create buffer
  2. MFCopyImage to copy you bitmap to buffer
  3. MFCreateSample to create a sample

For encoding video samples, take a look at: http://msdn.microsoft.com/en-us/library/windows/desktop/ee663604(v=vs.85).aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文