【发布时间】:2012-10-16 17:31:19
【问题描述】:
我正在使用 Media Foundation SDK 将视频编码为 WMV。我看到可以使用属性设置 B 帧的数量,但我不知道如何/在哪里设置它。
该属性称为 MFPKEY_NUMBFRAMES,如下所述: http://msdn.microsoft.com/en-us/library/windows/desktop/ff819354%28v=vs.85%29.aspx
我们的代码大致做了以下事情:
- 调用MFStartup
- 调用一次 MFCreateAttributes 以便我们设置复用器、视频和音频属性
- 配置上一步创建的IMFAttributes,例如通过设置视频比特率:pVideoOverrides->SetUINT32(MF_MT_AVG_BITRATE, m_iVideoBitrateBPS);
- 通过调用 IMFReadWriteClassFactory::CreateInstanceFromURL 创建接收器编写器
- 对于每一帧,在接收器写入器上调用 WriteSample
- 调用MFShutdown
我是否应该在 IMFAttribute 上设置 b-frames 属性,并在该属性上设置视频比特率?
【问题讨论】:
标签: windows wmv ms-media-foundation