Description
as discussed at https://sourceforge.net/p/reactivision/discussion/user/thread/9504717b/#32be
it would be super to have a basic multi-cam input option.
i will start with the porting of the things mostly already done by cmayer0087 to the simpler approach based on the current master branch. Pull request will follow.
This Feature request is meant as discussion platform for 'what should work in which way'.
Current Approach from my side would be:
- Getting v4l2loopback to work with portvideo to have a stable test-setup (more info)
- port/copy MultiCamera Driver (mainly done)
- document usage
configuration would be done in camera.xml something like this:
<portvideo>
<camera driver="multicam" id="0">
<capture format="mjpeg" width="600" height="360" fps="30" color="true" flip_h="false" flip_v="false"/>
<settings/>
<frame width="600" height="360" xoff="0" yoff="0" mode="-1"/>
<childcamera driver="default" id="0">
<capture format="mjpeg" width="320" height="240" fps="30" color="true" flip_h="false" flip_v="false"/>
<settings/>
<frame x="100" y="0" width="200" height="200" xoff="110" yoff="30" mode="-1"/>
</childcamera>
<childcamera driver="default" id="19">
<capture format="mjpeg" width="320" height="240" fps="30" color="true" flip_h="false" flip_v="false"/>
<settings exposure="auto"/>
<frame x="300" y="0" width="300" height="200" xoff="10" yoff="30" mode="-1"/>
</childcamera>
<childcamera driver="default" id="20">
<capture format="mjpeg" width="320" height="240" fps="30" color="true" flip_h="false" flip_v="false"/>
<settings exposure="auto"/>
<frame x="100" y="200" width="240" height="140" xoff="20" yoff="50" mode="-1"/>
</childcamera>
</camera>
</portvideo>
the idea is you have a canvas defined by the first <capture width="600" height="360" />
tag (green border).
than for every camera you want to show you create one <childcamera>
tag. in this element the <capture>
tag defines the hardware camera config/format. then there is a <frame x="100" y="200" width="240" height="140" xoff="20" yoff="50" mode="-1" />
tag to define the position and visible portion of the camera image.
If you have ideas how to change this for easier understanding pleas let me know.