rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.
No other browser implements this feature yet, so there should be no interoperability concerns. No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signals N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.Yes Crbug: https://crbug.com/706434 WPT link: https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image Feature specific tests are updated in https://chromium-review.googlesource.com/c/chromium/src/+/1508519 http://crbug.com/934063 Sample recorded gif (36Mb file) : https://github.com/riju/WebCamera/blob/master/panTilt.gif Test/Demo : https://github.com/riju/WebCamera/tree/master/samples/panTilt https://www.chromestatus.com/features/5570717087170560
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0237a9b8-937e-4443-a71b-8e1f7d79967f%40chromium.org.
rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.
No other browser implements this feature yet, so there should be no interoperability concerns.
No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signals
N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.
Yes Crbug: https://crbug.com/706434 WPT link: https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image Feature specific tests are updated in https://chromium-review.googlesource.com/c/chromium/src/+/1508519 http://crbug.com/934063 Sample recorded gif (36Mb file) : https://github.com/riju/WebCamera/blob/master/panTilt.gif Test/Demo : https://github.com/riju/WebCamera/tree/master/samples/panTilt https://www.chromestatus.com/features/5570717087170560
On Thu, Mar 21, 2019 at 5:58 PM <rijubrat...@intel.com> wrote:rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.No other browser implements this feature yet, so there should be no interoperability concerns.Interoperability is about the long term prospects of the web platform converging on supporting the feature, and the ways developers can cope with the lack of universal support in the meantime. The fact that no browser supports this does not mean there are no interoperability concerns.What's the feature detection story for this? I'm guessing developers can use the MediaTrackSupportedConstraints dictionary to know if the UA supports the feature or not. Is that correct?
No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signalsHave you reached out to other vendors?
N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.Can you expand on why?
rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.
No other browser implements this feature yet, so there should be no interoperability concerns. No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signals N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.Yes Crbug: https://crbug.com/706434 WPT link: https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image Feature specific tests are updated in https://chromium-review.googlesource.com/c/chromium/src/+/1508519 http://crbug.com/934063 Sample recorded gif (36Mb file) : https://github.com/riju/WebCamera/blob/master/panTilt.gif Test/Demo : https://github.com/riju/WebCamera/tree/master/samples/panTilt https://www.chromestatus.com/features/5570717087170560
On Thursday, March 21, 2019 at 7:13:47 PM UTC+2, Yoav Weiss wrote:On Thu, Mar 21, 2019 at 5:58 PM <rijubrat...@intel.com> wrote:rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.No other browser implements this feature yet, so there should be no interoperability concerns.Interoperability is about the long term prospects of the web platform converging on supporting the feature, and the ways developers can cope with the lack of universal support in the meantime. The fact that no browser supports this does not mean there are no interoperability concerns.What's the feature detection story for this? I'm guessing developers can use the MediaTrackSupportedConstraints dictionary to know if the UA supports the feature or not. Is that correct?Apologies, yes you are right, MediaTrackSupportedConstraints tells us that browser understands the request. "Correct values" like Infinity will denote if device supports it.
No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signalsHave you reached out to other vendors?No. This request came Google (crbug.com/934063), Miguel and +Reilly can fill us more on this.Apparently video-conferencing apps were using non-standard webcam_private.idl private extension for Pan/Tilt feature on CrOS.Please check : crbug.com/944445
--N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.Can you expand on why?Pan/Tilt feature is usually attained using mechanical motor which are not possible for phones or tablets (packaging issue) where Android is popular.Although electronic Pan/Tilt is possible in some CMOS chips, range of pan and tilt is much smaller, for example, 10 degrees in any direction.Cameras using chips with electronic pan and tilt simply have a lens over the CMOS chip.Most importantly phones and tablets (Android) are used by hands, which people can move in any direction.So manufactures do not feel a compelling need to put much higher priced cameras and thereby no platform support.Linux, Chrome OS, Windows run on variety of other systems where more expensive external Webcams can be attached.--Yes Crbug: https://crbug.com/706434 WPT link: https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image Feature specific tests are updated in https://chromium-review.googlesource.com/c/chromium/src/+/1508519 http://crbug.com/934063 Sample recorded gif (36Mb file) : https://github.com/riju/WebCamera/blob/master/panTilt.gif Test/Demo : https://github.com/riju/WebCamera/tree/master/samples/panTilt https://www.chromestatus.com/features/5570717087170560
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0237a9b8-937e-4443-a71b-8e1f7d79967f%40chromium.org.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2af4cbe8-590b-4c6c-b600-2eba8c247097%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c4743f25-e158-4f8c-bf35-71dfddde06f3%40chromium.org.
Thanks Alex and Philip,On Tuesday, 26 March 2019 11:57:56 UTC+2, Philip Jägenstedt wrote:Rijubrata, https://github.com/w3ctag/design-reviews/issues is the place to file TAG review requests.However, I share your assessment that this "is a small addition to the property set for capabilities, constraints and settings" and need not go through review. More important is to gauge interest from other vendors directly. I've already poked Jan-Ivar in this thread, and for WebKit perhaps +youenn fablet is a good contact. Does any Apple hardware have cameras that can pan/tilt? In either case, do you (Youenn) have any concerns with these constraints?
FWIW, this is a case where I think the risk of not supporting the feature when others do is particularly low, because of the semantics of constraints and ignoring unknown constraints. Supporting the API when no hardware can actually be panned/tilted ought to behave exactly as not supporting it, apart from the feature detection. (Mandatory constraints would be an exception to this, but for that to work for a general purpose web app hardware supporting pan/tilt would have to be ubiquitous first, which seems unlikely to happen.)P.S. No tests in https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image, but I see they're coming in https://github.com/web-platform-tests/wpt/pull/15741. Thanks!On Thu, Mar 21, 2019 at 8:32 PM 'Alex Russell' via blink-dev <blin...@chromium.org> wrote:Hey all,Per the mention of TAG review, we frequently request that new features which are additions to existing features seek broad feedback. It's often the case that small additions can have big consequences or create interop and consistency hazards.The API OWNERS are more likely to look to the TAG for signals about these sorts of concerns when Chromium is the first to implement and ship a feature. Suggest you file for a review for this feature.Regards
On Thursday, March 21, 2019 at 12:22:06 PM UTC-7, rijubrat...@intel.com wrote:
On Thursday, March 21, 2019 at 7:13:47 PM UTC+2, Yoav Weiss wrote:On Thu, Mar 21, 2019 at 5:58 PM <rijubrat...@intel.com> wrote:rijubrat...@intel.com, mca...@chromium.org, gui...@chromium.org This feature gives developers the ability to control the Pan and Tilt motion of cameras using getUserMedia. Specification: https://github.com/w3c/mediacapture-image/ https://github.com/w3c/mediacapture-image/pull/182 ImageCapture API is already TAG reviewed and shipping. This feature is a small addition to the property set for capabilities, constraints and settings. This feature allows developers to get the range for Pan and Tilt in the camera and as well as set those values using media constraints in getUserMedia. https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-pan https://w3c.github.io/mediacapture-image/#dom-mediatrackcapabilities-tilt Many cameras have the ability to Pan and Tilt which is specially useful in the video conferencing(WebRTC), like steering the camera to face the speaker, etc. Chrome has been using a private extension(webcam_private.idl) to satisfy this use case. Implementing this feature will allow developers to use this feature in a standards compliant manner using media constraints in getUserMedia.No other browser implements this feature yet, so there should be no interoperability concerns.Interoperability is about the long term prospects of the web platform converging on supporting the feature, and the ways developers can cope with the lack of universal support in the meantime. The fact that no browser supports this does not mean there are no interoperability concerns.What's the feature detection story for this? I'm guessing developers can use the MediaTrackSupportedConstraints dictionary to know if the UA supports the feature or not. Is that correct?Apologies, yes you are right, MediaTrackSupportedConstraints tells us that browser understands the request. "Correct values" like Infinity will denote if device supports it.No applications are using this feature, so there are no compatibility risks. Firefox: No public signals Edge: No public signals Safari: No public signals Web developers: No signalsHave you reached out to other vendors?No. This request came Google (crbug.com/934063), Miguel and +Reilly can fill us more on this.Apparently video-conferencing apps were using non-standard webcam_private.idl private extension for Pan/Tilt feature on CrOS.Please check : crbug.com/944445
----N/A None required.No Linux, Chrome OS, Windows have platform support. Android does not have platform support.Can you expand on why?Pan/Tilt feature is usually attained using mechanical motor which are not possible for phones or tablets (packaging issue) where Android is popular.Although electronic Pan/Tilt is possible in some CMOS chips, range of pan and tilt is much smaller, for example, 10 degrees in any direction.Cameras using chips with electronic pan and tilt simply have a lens over the CMOS chip.Most importantly phones and tablets (Android) are used by hands, which people can move in any direction.So manufactures do not feel a compelling need to put much higher priced cameras and thereby no platform support.Linux, Chrome OS, Windows run on variety of other systems where more expensive external Webcams can be attached.--Yes Crbug: https://crbug.com/706434 WPT link: https://github.com/web-platform-tests/wpt/tree/master/mediacapture-image Feature specific tests are updated in https://chromium-review.googlesource.com/c/chromium/src/+/1508519 http://crbug.com/934063 Sample recorded gif (36Mb file) : https://github.com/riju/WebCamera/blob/master/panTilt.gif Test/Demo : https://github.com/riju/WebCamera/tree/master/samples/panTilt https://www.chromestatus.com/features/5570717087170560
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0237a9b8-937e-4443-a71b-8e1f7d79967f%40chromium.org.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c4743f25-e158-4f8c-bf35-71dfddde06f3%40chromium.org.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/698444f0-4460-404a-a6c5-8c37449563ca%40chromium.org.
+Jan-Ivar Bruaroey (Mozilla) reviewed https://github.com/w3c/mediacapture-image/pull/182. Jan-Ivar, do you have concerns about these constraints that you didn't raise in the PR?
Do you expect you'll implement this in Firefox?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/144482f1-0f53-4348-98b9-70fb6f6c02fc%40chromium.org.
Let me bring it up in our next sync meeting, to get the input for the others.
I am personally fine with this now.
Kenneth
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/60F18B024F3783428EBEA0B7D7DF31CA85928D9D%40IRSMSX108.ger.corp.intel.com.
Hi,It looks like the TAG review finished, with one additional comment about permissions. Once you update the thread with a conclusion on units and the permissions, I think this is good to go.
To unsubscribe from this group and stop receiving emails from it, send an email to blin...@chromium.org.
Does this imply that there should be a new entry in https://w3c.github.io/permissions/#permission-registry? What should it be called?
This would be a bit like the split between "camera" and "microphone", which are separate, but I think were originally a single permission. It's only if some implementer intends so surface separate permissions to users that the split at the permissions level will be meaningful.Do you have the right contacts for security and UX review to figure out whether new UI in Chromium is warranted for this?
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e8a43d60-fcdb-40ce-a281-0caf82bc1a8e%40chromium.org.
So how exactly is this going to work with GUM? I had to ask Jan-Ivar even...navigator.mediaDevices.getUserMedia({video: {ptz: 1}})could add an optional checkbox to the prompt.getUserMedia((optionally with {ptz: {exact: 1}}) which would fail if the ptz request is denied).What if the user initially used a camera without PTZ, said "yes" to video, then attaches a camera with PTZ capability?
From a privacy point of view the situation is also different for cameras llke the Brio4k (where the user might not be aware of the PTZ capability) which do digital zoom and pan/tilt inside the original field of view (i.e. you can never see more than without PTZ) and devices like the venerable Logitech BCC 950 which people buy because they can be moved around.
Thank you all for the patience, now we are ready to notify that we have processed all the necessary information from TAG, Privacy team at Chrome and all other stakeholders in the WebRTC community. To recap, our model of thinking has been:
The Pan-Tilt-Zoom permission can only be requested (and only shown in the prompt) if the currently connected/selected camera hardware supports PTZ.
Camera permission without PTZ (obtained using an older version of the user agent, or with another camera) is not implicitly upgraded to Camera permission with PTZ (even if the hardware supports PTZ). The permission has to be re-requested.
In w3ctag/design-reviews#358, TAG wants to make sure that from the website’s perspective: Pan-Tilt-Zoom needs to be explicitly requested as an extension to video capture permission.
We decided to extend the getUserMedia() API to support requesting the PTZ permission in addition to the camera permission. If the selected/connected camera does not support PTZ, the UA will fall back to the camera permission.
Example code :
// User is prompted to grant both camera and PTZ access in a single call.
// If the camera does not support PTZ or user denies PTZ permission, it falls
// back to a regular camera prompt.
const videoStream = await navigator.mediaDevices.getUserMedia({
// [NEW] Website asks to control camera PTZ as well.
video: { pan: true, tilt: true, zoom: true },
});
A change from last time is that now zoom is gated by the PTZ permission on Desktop but left unchanged on Android, as pan/tilt APIs are not supported on Android. Another change is that the website is allowed to control camera PTZ only when the page is visible to the user.
We have documented integration with the Permissions API, Security and possible Fingerprinting issues, among other things in the PTZ explainer. Best,
Riju.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3a7cbc20-613a-489d-9e38-451fc6d309d4o%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEh1se3v52XjTKQ0%2B0QzcjfpTMrgo2%2BgQTuTrxjR0TqRyw%40mail.gmail.com.
Yep, my LGTM1 still stands. Happy to see that you have improved it further!
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9tDRr3ZPc1vrH2TOCz3knDK3ZMdn10_zpPZvNtOvCfDQ%40mail.gmail.com.