From Newsgroup: muc.lists.freebsd.ports
--992985b5282e932e8ef65d0b02eea3e4b3cc82a0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
I think much of the efforts in this area have gone towards base system=20 integration, ie video(4) and uvideo(4). These are present and under=20
active development in -CURRENT.
=20
--=20
Charlie Li
...nope, still don't have an exit line.
=20
=20
=20
Hi there,
I was part of the effort that brought `uvideo(4)` and `video(4)` to Free=
BSD. The kernel code originally comes from OpenBSD, and we have been ext= ending it on the FreeBSD side.
We now have a native video stack that handles capture and already expose=
s many standard UVC controls.
I think the next step should be an userland layer for controlling the ca=
mera as a device.
Modern cameras can expose much more than a single video stream. Userland=
should be able to handle things such as:
=E2=80=A2 opening and closing a physical privacy shutter
=E2=80=A2 switching between camera modes
=E2=80=A2 controlling IR emitters, LEDs, focus, zoom, and other features
=E2=80=A2 selecting and coordinating multiple sensors exposed as one ca=
mera
=E2=80=A2 RGB + IR or RGB + depth cameras
=E2=80=A2 thermal cameras
=E2=80=A2 UVC extension units and vendor-specific controls
Thermal cameras are an interesting case. Some expose something that look=
s like an ordinary video stream, but the pixels may actually represent t= emperature measurements instead of colors. The device may also provide c= alibration data, temperature ranges, emissivity settings, shutter calibr= ation, or a separate visible-light sensor. We should not have all those = quirks in the kernel side.
That also gives us ability to handle cameras where several physical sen=
sors appear as one logical device without pushing all of that policy int=
o the kernel. I remember some Logitech conference cameras have eyes that=
look like fly eyes but still show as 1 camera.
But instead of creating a new binary, we can modify webcamd to have new =
part with BSD code only. So in 16+ it will compile only the new part.
Nicolas , don't hesitate to reach out if you need help. I also like the=
idea of having the project moved to a neutral org owned by the foundati=
on .. freebsd-contrib ?
We can reach out to Github to make the move. --992985b5282e932e8ef65d0b02eea3e4b3cc82a0
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html><html><head><title></title></head><body><div class=3D"ali= gn-start" style=3D"text-align:start;"><br></div><blockquote type=3D"cite=
" id=3D"qt" style=3D""><div>I think much of the efforts in this area hav=
e gone towards base system </div><div>integration, ie video(4) and = uvideo(4). These are present and under </div><div>active developmen=
t in -CURRENT.</div><div><br></div><div>-- </div><div>Charlie Li</d= iv><div>...nope, still don't have an exit line.</div><div><br></div><div= ><br></div><div><br></div></blockquote><div class=3D"align-start" style=3D= "text-align:start;">Hi there,</div><div class=3D"align-start" style=3D"t= ext-align:start;"><br></div><div class=3D"align-start" style=3D"text-ali= gn:start;">I was part of the effort that brought <code style=3D"bor= der-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-= left-width:1px;border-top-style:solid;border-right-style:solid;border-bo= ttom-style:solid;border-left-style:solid;border-top-color:rgb(204, 204, = 204);border-right-color:rgb(204, 204, 204);border-bottom-color:rgb(204, =
204, 204);border-left-color:rgb(204, 204, 204);border-image-source:none;= border-image-slice:100%;border-image-width:1;border-image-outset:0;borde= r-image-repeat:stretch;border-top-left-radius:3px;border-top-right-radiu= s:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;backg= round-image:none;background-position-x:0%;background-position-y:0%;backg= round-size:auto;background-repeat:repeat;background-attachment:scroll;ba= ckground-origin:padding-box;background-clip:border-box;background-color:= rgb(246, 246, 246);font-family:menlo, consolas, monospace;font-size:90%;= padding-top:1px;padding-right:3px;padding-bottom:1px;padding-left:3px;">= uvideo(4)</code> and <code style=3D"border-top-width:1px;borde= r-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-t= op-style:solid;border-right-style:solid;border-bottom-style:solid;border= -left-style:solid;border-top-color:rgb(204, 204, 204);border-right-color= :rgb(204, 204, 204);border-bottom-color:rgb(204, 204, 204);border-left-c= olor:rgb(204, 204, 204);border-image-source:none;border-image-slice:100%= ;border-image-width:1;border-image-outset:0;border-image-repeat:stretch;= border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-rig= ht-radius:3px;border-bottom-left-radius:3px;background-image:none;backgr= ound-position-x:0%;background-position-y:0%;background-size:auto;backgro= und-repeat:repeat;background-attachment:scroll;background-origin:padding= -box;background-clip:border-box;background-color:rgb(246, 246, 246);font= -family:menlo, consolas, monospace;font-size:90%;padding-top:1px;padding= -right:3px;padding-bottom:1px;padding-left:3px;">video(4)</code> to=
FreeBSD. The kernel code originally comes from OpenBSD, and we have bee=
n extending it on the FreeBSD side.</div><div class=3D"align-start" styl= e=3D"text-align:start;"><br></div><div class=3D"align-start" style=3D"te= xt-align:start;">We now have a native video stack that handles capture a=
nd already exposes many standard UVC controls.</div><div class=3D"align-= start" style=3D"text-align:start;"><br></div><div class=3D"align-start" = style=3D"text-align:start;">I think the next step should be an userland =
layer for controlling the camera as a device.</div><div class=3D"align-s=
tart" style=3D"text-align:start;"><br></div><div class=3D"align-start" s= tyle=3D"text-align:start;">Modern cameras can expose much more than a si=
ngle video stream. Userland should be able to handle things such as:</di= v><ul><li>opening and closing a physical privacy shutter</li><li>switchi=
ng between camera modes</li><li>controlling IR emitters, LEDs, focus, zo=
om, and other features</li><li>selecting and coordinating multiple senso=
rs exposed as one camera</li><li>RGB + IR or RGB + depth cameras</li><li= >thermal cameras</li><li>UVC extension units and vendor-specific control= s</li></ul><div class=3D"align-start" style=3D"text-align:start;">Therma=
l cameras are an interesting case. Some expose something that looks like=
an ordinary video stream, but the pixels may actually represent tempera=
ture measurements instead of colors. The device may also provide calibra=
tion data, temperature ranges, emissivity settings, shutter calibration,=
or a separate visible-light sensor. We should not have all those quirks=
in the kernel side.</div><div class=3D"align-start" style=3D"text-align= :start;"><br></div><div class=3D"align-start" style=3D"text-align:start;= ">That also gives us ability to handle cameras where several physi=
cal sensors appear as one logical device without pushing all of that pol=
icy into the kernel. I remember some Logitech conference cameras have ey=
es that look like fly eyes but still show as 1 camera.</div><div class=3D= "align-start" style=3D"text-align:start;"><br></div><div class=3D"align-= start" style=3D"text-align:start;">But instead of creating a new binary,=
we can modify webcamd to have new part with BSD code only. So in =
16+ it will compile only the new part.<br></div><div class=3D"align-star=
t" style=3D"text-align:start;"><br></div><div class=3D"align-start" styl= e=3D"text-align:start;">Nicolas , don't hesitate to reach out if y=
ou need help. I also like the idea of having the project moved to a neut=
ral org owned by the foundation .. freebsd-contrib ?</div><div class=3D"= align-start" style=3D"text-align:start;">We can reach out to Github to m=
ake the move.</div></body></html>
--992985b5282e932e8ef65d0b02eea3e4b3cc82a0--
--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to
news-admin@muc.de
--- Synchronet 3.22a-Linux NewsLink 1.2