【问题标题】:gstreamer create virtual device on OSXgstreamer 在 OSX 上创建虚拟设备
【发布时间】:2017-05-31 14:42:25
【问题描述】:

我想在 OSX 上使用 gstreamer 创建一个虚拟相机设备

我可以在 *nix 系统上使用

 gst-launch-1.0 -v videotestsrc pattern=snow ! video/x-raw,width=1280,height=720 ! v4l2sink device=/dev/video1

在 osx 上我得到一个错误的管道 v4l2

我希望能够将输出通过管道传输到Skype等应用程序中,

这个方向的任何指针?我应该使用虹吸管吗?

【问题讨论】:

  • v4l2 是一个 Linux 内核模块,不能完全安装在 macOS 上。

标签: macos gstreamer syphon


【解决方案1】:

要走的路是使用CoreMediaIO 框架。您可以使用框架创建虚拟设备,并使用包装器在任何流中馈送。可以看到一些包装器的指针here

【讨论】:

  • @RoyShilkrot 我发布了这个问题,并且我确实发布了我的问题的答案。答案列出了 2 个代码示例项目,如果您花时间查看,它们可以解决问题。 CoreMediaIO 的示例项目创建了一个新的虚拟相机设备,并且可以为该设备提供输入。第二个项目展示了如何将输入馈送到创建的虚拟设备的示例。
【解决方案2】:

这个 gstreamer 命令:

./gst-launch-1.0 -v videotestsrc pattern=snow ! video/x-raw,width=1280,height=720 ! osxvideosink

如果您从以下软件包在 OSX 上安装 Gstreamer,则适用于 OSX Sierra 它将安装在 /Library/Frameworks/Gstreamer.framework/ 文件夹中。从 Commands 子文件夹执行命令。

https://gstreamer.freedesktop.org/data/pkg/osx/1.12.0/

此链接有一个标准包、一个开发包和一个包含许多较小分发包的 dmg。 要管道输出,您需要选择一个合适的接收器 - 应用程序接收器并自己编写,或者 Gstreamer 中的许多其他接收器类型之一。 希望这能让你开始!

【讨论】:

  • 我可以使用这个在窗口上看到视频。但是,我想将视频泵入其他应用程序,例如Skype。我想做类似 camtwist 的事情
  • 在 Gstreamer 上,根据示例,方法是 appsink。或标准接收器元素(请参阅文档),或复制其中一个元素并将缓冲区自己推送到您的应用程序中,如果您想添加效果。恐怕 Gstreamer 需要认真阅读才能进入。
  • 是的,我找到了路线。
  • @PavanK 我知道这个帖子很老了,但你能解释一下你走的是什么路线吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多