如何使用 Windows Media Foundation 代替 DirectShow 编辑服务?

How to use Windows Media Foundation instead DirectShow Editing Services?

我正在开发非线性视频编辑器。我需要支持时间线、音频流的混合、视频之间的转换等。这些所有功能都在 DirectShow 编辑服务中,但在 Windows 的新版本中不再支持。相反,提供使用 Microsoft Media Foundation。是否可以在 MF 中实现相同的功能或使用其他 SDK?例如,gstreamer。也许有人会在MF的基础上推荐SDK做视频剪辑?

对于 Windows 10 UWP 应用程序,您可以使用 Windows.Media.Editing.MediaComposition class。

使用 Media Foundation 时,您必须自己全部实现。例如:视频修剪可以由 Source Reader 实现到 Sink Writer,您必须手动操作样本以将它们的时间戳与所需范围进行比较等。修剪已经在 MFCopy Media Foundation 示例中实现。 MFCopy 使用 Source Reader/Sink Writer 方法,因为这样应用程序可以更好地控制时间戳。