MediaFoundation,位图数组到mp4



我将位图保存为BYTE数组,该数组以与Microsoft的CBitmap类非常相似且可互换的格式保存每个像素的RGB值。因此,让我们考虑我有一个CBitmaps数组,我想使用MediaFoundation Transcode Api将它们转换为mp4,如本例所示:toMp4。但是,在此示例中,它们从 url 流式传输。

 // Use the source resolver to create the media source
  hr = pResolver->CreateObjectFromURL(pszURL, MF_RESOLUTION_MEDIASOURCE, NULL, &ObjectType, &pSource);

就我而言,我的位图在内存中。所以我相信我可以改用这个函数。IMFSourceResolver::CreateObjectFromByteStream

我不确定这是否可行。总而言之,如何使用转码 api 将我的 CBitmap 数组转换为 mp4?

码 API 假定您具有媒体基础识别的特定"格式"的操作的源和目标。也就是说,源和目标都由媒体基础源和接收器表示,然后 API 涵盖将一个源转换为另一个的过程。

你不是这种情况。您的来源对媒体基础不友好。

对于你的方案,相应的 API 是接收器编写器。它提供了一个友好的界面,可以将非媒体基础数据推送到媒体基础管道中,并通过媒体基础生成编码的视频文件。

也就是说,从图像中获取位图位,将接收器编写器实例配置为接受此类输入格式,然后它负责编码。

请参阅教程:使用接收器编写器对视频进行编码,了解相应的示例代码和整个过程的指导。

最新更新