问题:
\n\n我在带有 raspbian os lite 的 raspberry pi 4 上运行 gphoto2。我将它与连接到 USB 的佳能 EOS 100d 一起用作照相亭。摄像机实时视图通过 ffmpeg 和 Motion 传递到 http 地址。到目前为止效果很好。为此运行两个组件:一个运动网络服务器,用于从发送到 /dev/video0\n 的任何内容中获取视频源,以及启动实时视图源的实际 gohoto 命令。为此,我使用命令:
\n\nsudo gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0\n
Run Code Online (Sandbox Code Playgroud)\n\n这为我在https://localhost:8081/上提供了一个很好的实时预览,我将其用作照相亭 Web 界面的背景,以便人们可以在按下 \xe2\x80\x9etake picture\xe2\x80\x9c 按钮之前看到自己。
\n\n问题是实时视图现在阻止了与相机的 USB ptp 连接:因此,当我点击 Web 应用程序上的 \xe2\x80\x9etake picture\xe2\x80\x9c 按钮时,它会触发此 gphoto 命令:
\n\nsudo gphoto --capture-image-and-download\n
Run Code Online (Sandbox Code Playgroud)\n\n这会产生一些错误,例如:
\n\nCannot execute: error connecting, ptp already in …
Run Code Online (Sandbox Code Playgroud)