【问题标题】:Canon DSLR Video loop back using v4l2loopback and EDSDK Liveview?佳能 DSLR 视频环回使用 v4l2loopback 和 EDSDK Liveview?
【发布时间】:2012-09-05 09:50:00
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 我知道你提到了 Linux(而且这是一个四年前的问题),但我几天前刚刚使用我的佳能 DSLR 作为网络摄像头进行了 Skype 工作面试。这个(50 美元)产品在 Windows 上运行,安装虚拟网络摄像头驱动程序,并将实时取景帧通过管道传输到网络摄像头,大概使用 EDSDK:sparkosoft.com/sparkocam
  • 它还支持屏幕共享覆盖、文本/图像覆盖等。

标签: linux-device-driver v4l2 edsdk canon-sdk


【解决方案1】:

截至 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

【讨论】:

  • 在 2020 年,这似乎失败了:ERROR: from element /GstPipeline:pipeline0/GstFdSrc:fdsrc0: Internal data stream error. Additional debug info: gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstFdSrc:fdsrc0:
  • 您好,这是可以解决的问题 - modprobe v4l2loopback max_buffers=2。另见github.com/umlaeute/v4l2loopback/issues/…
【解决方案2】:

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

【讨论】:

  • 为了重新使用 HDMI 进行实时取景,目前它是低分辨率的(坚持取景器的分辨率),它包括 HUD 信息(例如网格、曝光信息)。我找不到清晰的信号(EOS 5d Mark II)
  • 猜猜这对 Skype/GTalk 来说没什么大不了的,因为它们的分辨率无论如何都不是那么高。当然转码后的效果会好一点,基础分辨率更高。
  • 截至 2013 年 4 月,佳能 EOS 5dMKIII 上有“清洁 HDMI 输出”,请参阅 link
【解决方案3】:

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

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

【讨论】:

  • 我能够使用带有 v4l2loopback 的 linux 上的 libgphoto2 从我的 DSLR 中创建一个虚拟相机,所以请细化我的问题,如果我在 android 其他应用程序(Skype、Gtalk)上创建一个 v4l2loopback 设备,请参阅它是一个相机还是有更多的事情要做?目前我有没有 root 的 HTC One-X,所以......我无法真正测试它......
  • 理论上是的;在实践中,我从未检查过 v4l2loopback 是否适用于 android
【解决方案4】:

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

modprobe v4l2loopback

然后发出这个:

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

适当更改视频设备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多