4

我想用我的数码单反相机作为视频输入,让我们在 Linux 和 Android 下说 Skype / Google talk。

是否可以使用 v4l2loopback 和 Canon EDSDK 创建视频环回?如何将实时取景缓冲区从相机传输到视频环回?

谢谢

4

4 回答 4

4

截至 2017 年 10 月,GStreamer已更新到 1.0,v4l2loopback也收到了一些更新。

因此,@Reinaert Albrecht 发布的旧命令不再有效,现在有效的新命令是:

gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! decodebin name=dec ! queue ! videoconvert ! tee ! v4l2sink device=/dev/video0
  • decodebin2已被替换为decodebin
  • ffmpegcolorspace已被替换为videoconvert
  • tee添加过滤器以解决 v4l2loopback 驱动程序中的错误(参阅:https ://github.com/umlaeute/v4l2loopback/issues/83 )
于 2017-10-03T12:59:06.557 回答
3

据我了解,佳能的 EDSDK 仍然仅在 Windows 和 OSX 平台(C 和 Objective-C)的请求下才可用。在 linux 上,您可能想尝试在 Wine 下安装 SDK,或者求助于更通用的 gPhoto。现在,“LiveView”或“EvF”图像是单独的 JPG。或者,您可能希望通过 HDMI 输出端口(在 2013 年春季将在 EOS 5D Mark III 上实现全分辨率)捕获此内容。

于 2012-11-23T17:26:43.137 回答
1

您将需要一个“生产者”应用程序,它将帧写入环回设备(并且之前已通过佳能 esdk 获取这些帧)

v4l2loopback 已经附带了一些简单的生产者示例,您可以查看已经支持原生 v4l2loopback 输出的其他应用程序,例如Gemlivinggmerlingstreamer

于 2012-09-27T13:24:11.817 回答
1

您可以使用以下命令轻松完成此操作:

modprobe v4l2loopback

然后发出这个:

gphoto2 --stdout --capture-movie | gst-launch-0.10 fdsrc ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0

适当更换视频设备。

于 2015-08-24T12:21:44.913 回答