Video 媒体基础将原始像素帧转换为MPEG视频

Video 媒体基础将原始像素帧转换为MPEG视频,video,encoding,ms-media-foundation,mpeg-4,Video,Encoding,Ms Media Foundation,Mpeg 4,我想在Windows7上将固定大小的原始像素帧编码成MPEG。我正试图用媒体基金会transofrmation来做这件事。但media Foundation不支持将原始帧直接转换为MPEG。相反,我必须使用媒体接收器将原始像素缓冲区转换为WMV3格式,然后使用转码拓扑将WMV转换为MPEG PediaFoundation是否支持将帧缓冲区直接转换为MEPG? 同时,我也遇到了转码框架无法将单帧WMV视频转换为MEPG的麻烦。不知道为什么,但它的结果是创建空的MPEG文件时,单帧WMV是饲料。它

我想在Windows7上将固定大小的原始像素帧编码成MPEG。我正试图用媒体基金会transofrmation来做这件事。但media Foundation不支持将原始帧直接转换为MPEG。相反,我必须使用媒体接收器将原始像素缓冲区转换为WMV3格式,然后使用转码拓扑将WMV转换为MPEG

<> PediaFoundation是否支持将帧缓冲区直接转换为MEPG?

同时,我也遇到了转码框架无法将单帧WMV视频转换为MEPG的麻烦。不知道为什么,但它的结果是创建空的MPEG文件时,单帧WMV是饲料。它是一个已知的媒体基础限制吗? 致意

燃气轮机


另外,我不打算为direct show实现过滤图。根据媒体基础文件,应提供直接显示提供的所有设施。

< P>媒体基金会为您提供处理压缩的MFT/DMO。p>

不同于DirectShow(您不想使用它,但它提供了一个可压缩的选项,使用第三方编码器将MPEG-4和MPEG-4 AVC压缩),使用媒体基础,您可以自己使用转换,而不必将其插入到完全特征图(拓扑)中。Microsoft仅提供H.264编码器,仅从Windows 7开始(对您有好处)

MSDN文章中描述了MFT的使用,随后您将逐步获得压缩的H.264(MPEG-4 AVC)NAL单元,但它们并不完全是一个“文件”。MPEG-4文件是按照Microsoft为您提供的MPEG-4第14部分规范格式化的数据。后者基本上假设您使用的是拓扑,而不是单个组件

因此,您的选择是:(a)实现要插入拓扑的自定义视频源节点,并构建编码拓扑以通过H.264编码器将数据路由到MPEG-4文件接收器,或者(b)分别实例化独立的视频编码器和文件接收器,并在拓扑之外使用它们,自己设置它们并在它们之间传递数据。或者,另一个选项(C)是使用媒体基础,它与后面提到的相同,重点是使用方便,而不是灵活性和对细节的控制。 根据媒体基金会文件,它应提供直接展会提供的所有设施

不,它不应该也不应该。微软仅通过MediaFoundation在Windows 7中提供MPEG-4视频编码器和多路复用器,并且根本不能使它们对DirectShow可用(除非通过MF组件上的包装器),但是MF在许多方面不如DS:支持较老的OSES、特征集、可扩展性和开销-仅举几个例子。