我需要使用encoder H264但问题是编码器不接受除 MFVideoFormat 列表之外的内容。
MFVideoFormat_I420
MFVideoFormat_IYUV
MFVideoFormat_NV12
MFVideoFormat_YUY2
MFVideoFormat_YV12
问题是我的相机的样本是 RGB24,我该怎么办?
最佳答案
您(至少)有两个选择:
在将 RGB24 样本(位图)传递给编码器之前,将它们(自行)转换为 NV12(或其他)样本。这并不难。有例子:https://www.google.bg/search?q=RGB+to+NV12
您可以创建 Color Converter DSP ( https://msdn.microsoft.com/en-us/library/windows/desktop/ff819079%28v=vs.85%29.aspx ) 的实例,并将其输入配置为接收 RGB24 样本,并将其输出配置为所需的色彩空间。然后调用 ProcessInput() 和 ProcessOutput() 进行转换。
关于ms-media-foundation - 将 MFVideoFormat 从 RGB24 转换为编码器支持的任何其他格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29006327/