我想使用我的数码单反相机作为视频输入,以便在Linux和Android下使用Skype / Google聊天。
是否可以使用v4l2loopback和Canon EDSDK创建视频循环?如何将实时视图缓冲区从摄像机传输回视频循环?
由于
答案 0 :(得分:3)
根据我的理解,佳能的EDSDK仍然只能根据Windows和OSX平台(C和Objective-C)的要求提供。在linux上,您可能想尝试在Wine下安装SDK,或者使用更通用的gPhoto。现在,“LiveView”或“EvF”图像是单独的JPG。或者,您可能希望通过HDMI输出端口(在2013年春季将在EOS 5D Mark III上完全重置)捕获此信息。
答案 1 :(得分:1)
你需要一个“生产者”应用程序,它将帧写入环回设备(以前通过canon esdk获取这些帧)
v4l2loopback已经附带了一些简单的生成器示例,您可以查看已经具有本机v4l2loopback输出支持的其他应用程序,例如: Gem,lives,gmerlin和gstreamer
答案 2 :(得分:1)
您可以使用以下命令轻松完成此操作:
modprobe v4l2loopback
然后发出这个:
gphoto2 --stdout --capture-movie | gst-launch-0.10 fdsrc ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0
正确更改视频设备。
答案 3 :(得分: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
decodebin2
已被decodebin
ffmpegcolorspace
已被videoconvert
tee
过滤器以解决 v4l2loopback 驱动程序中的错误(请参阅:https://github.com/umlaeute/v4l2loopback/issues/83)