所以我创建了图像生成器(非常简单的生成 RGB)我希望能够将一些图像转换为 H264 关键帧+相关帧(lats 说 100)所以在每生成 100 帧时,我需要将它们编码为 H264。怎么做这样的事情?
问问题
2975 次
1 回答
3
你有几个选择。最好的可用编码器可能是 x264,但它没有 C# 接口。您需要定义 C 风格的互操作调用才能从 C# 程序中使用它。
另一种选择是支持 H264 的 MSFT 的表达式编码器 SDK。我不确定它要花多少钱。然后还有一些其他的编码器实现,例如 Mainconcept 和 Dicas,它们可能具有 C# 接口,但这些都会让您付出代价。
最后一个选项是使用 DirectShow.NET 和此过滤器来使用 directshow 进行编码。您应该能够从 C# 中完成所有操作,并且它是通过 COM 互操作实现的,因此界面更加简洁。
最后,几乎所有编码器都在 YUV 颜色空间中工作,因此您可能需要一些东西来转换您的 RGB 图像——x264 和 Monogram 过滤器都适用于 YV12。
于 2010-06-16T02:17:52.217 回答