所以,我正在尝试做的事情可能有点复杂,因为我正在寻找自己的方式。
让我解释一下基础知识:
1 - 我有一台 DSLR 相机,我想将它用作网络摄像头(但 v4l2 无法使用它制作 /dev/videoX 设备,因此没有互联网应用程序可以使用它,只能使用特定应用程序,例如 Darktable)
2 - 我可以通过 gphoto2 从相机获取实时帧(但我不确定如何通过管道传输它们,以及我是否需要缩放和编码/解码它们)
3 - 我可以使用 v4l2loopback 创建一个假的网络摄像头设备(如 /dev/video1),我可以使用 gst-launch 将数据传输到它(但我不确定如何将帧传输到它)
我对它的了解:
1 - 我可以像这样将帧从相机发送到标准输出:
gphoto2 --capture-movie --stdout
2 - 我可以像这样将数据从视频测试源发送到假网络摄像头设备:
gst-launch-0.10 videotestsrc ! v4l2sink device=/dev/video1
3 - gphoto2 使用的格式是 mjpg(JPEG 格式)
那么,你能帮我解决这个问题吗?
我如何将帧从 gphoto2 传输到 gst-launch,并将其与 v4l2sink 一起使用以将它们发送到 /dev/video1(这样我就可以将其用作网络摄像头)?
谢谢!