17

我正在为当地一所大学实施一个讲座捕捉项目。多个视频流将到达一台 PC:演示者的桌面幻灯片、演示者本人的摄像机图像以及可选的数字白板捕获。这些传入的流将由桌面应用程序管理,该应用程序显示、转码/混合并最终将它们保存到磁盘。将有一些配置选项,因为材料可以通过多种方式分发:作为 DVD 上的 Flash 应用程序、作为在线 Flash 应用程序或作为 Windows Media Player 的视频点播流。

此应用程序应该可以在 Windows 上运行。可选地,它可以支持其他平台,但它似乎不是高优先级。

GStreamer 和 DirectShow 似乎都能够提供底层技术。我对 Linux 上的 GStreamer 有一点经验,我喜欢它的设计,所以我倾向于在这个项目中使用它。但是,我不知道它在 Windows 上的支持情况如何。我找不到任何关于如何在 Windows 上构建 GStreamer 的最新文档。所以我担心我会在这个过程的某个地方卡住。

DirectShow 似乎是一个更安全的选择,因为它使用更广泛,并且在 Internet 上有更多可用的文档。

这里有人有在 Windows 上使用 GStreamer 的经验吗?它运作良好吗?是否有一些我应该注意的问题?

编辑
我发现了GStreamer OSSBuilds网站,并能够用它快速实现一个简单的视频播放器(基于“playbin”元素)。所以我想我会在 GStreamer 的道路上走得更远一点。

4

4 回答 4

14

好的,我自己来回答这个问题。简单的答案是:GStreamer!到目前为止,我没有遇到任何困难。要使其在 Windows 上运行,您需要使用GStreamer Winbuilds

更新(6个月后)

实际上,我在这个赌注上有点烧自己。在项目的后期,客户指定必须支持 WMV9 编解码器 (VC-1)。由于 WMV9 编码器仅在 Microsft 平台上受支持,因此无法在基于 GStreamer 的解决方案中实现。所以也许 DirectShow 是正确的选择。

于 2010-01-13T21:42:53.653 回答
8

上次我在 Windows 中使用 GStreamer 非常乏味。

如果您采用这种方式,您应该愿意花费大量时间处理运行时地狱和其他编译问题。您需要评估的第一件事是您将使用哪个编译器/运行时。

如果便携性不是必须的,我会采取简单的方法。直接秀。

于 2009-12-16T22:20:11.660 回答
5

考虑看看 VLC。http://www.videolan.org/ 我支持 fnieto 关于在 Winbdows 上使用 GStreamer 进行编译地狱的说法(最近完成了)。但是如果你熟悉 unix 环境,Cygwin 或 MSYS 可能不会有太大的麻烦。但请注意,您可能无法像使用 Media Foundation 或 DirectShow 那样在 Windows 上使用 GStreamer 获得现成且可靠的硬件支持。Microsoft Media Center iTV 框架也值得一看。

于 2010-01-08T21:29:39.153 回答
1

avisynth 可以提供轻松的流混合,并且可以接受直接显示输入。

于 2011-10-05T21:40:27.380 回答