Canon EOS 600D 作为网络摄像头

Canon EOS 600D 作为网络摄像头

我正在尝试找到一种方法,将佳能 EOS 600D 的视频流传输到我的系统,基本上将相机用作网络摄像头。虽然佳能提供了名为佳能 EOS 实用程序对于 Windows 和 Mac,他们似乎没有为 Linux 提供任何东西。仅使用微型 USB 连接系统才可以访问存储在 SD 卡上的照片和视频。

有什么方法可以将佳能 EOS 600D 用作网络摄像头吗?

答案1

并不容易。人们使用过两种方法来实现这一点:

  1. 使用附带的实用软件(包括实时查看窗口)并运行软件捕获该窗口中的内容。不幸的是,这在 Linux 上可能根本不起作用。

  2. 使用相机的 HDMI 输出并使用捕获硬件捕获它。

我怀疑在这两种情况下,您获得的实时取景视频将是标准清晰度和/或低质量的,并且对帧速率、快门速度/角度等进行任何调整的能力有限。在某些佳能相机上,您可能会发现 HDMI 输出在显示屏上有控件,包括即使在最小显示模式下也无法禁用的对焦矩形。

答案2

gphoto2可以从 EOS 600D 捕捉影片,并且可以将这些影片转发到ffmpeg并连续转发到 v4l2,以将视频作为标准网络摄像头流提供。

https://www.youtube.com/watch?v=TsuY4o2zLVQ了解详细说明。

总之:

  • sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2
  • sudo apt install gphoto2 ffmpeg v4l2loopback-utils
  • gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

您可能需要更改视频编解码器(rawvideo)、像素格式(yuv420p)和目标视频设备(/dev/video1),但此后,相机的视频流应该可以在 上使用/dev/video1

相关内容