- From: Mathieu Hofman <Mathieu.Hofman@citrix.com>
- Date: Tue, 28 Jul 2015 00:38:14 +0000
- To: Chia-Hung Tai <ctai@mozilla.com>, Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>, Harald Tveit Alvestrand <harald@alvestrand.no>, Dominique Hazael-Massieux <dom@w3.org>, "Robert O'Callahan" <robert@ocallahan.org>, Ehsan Akhgari <eakhgari@mozilla.com>, David Baron <dbaron@mozilla.com>, Eric Rescorla <ekr@mozilla.com>, "Randell Jesup" <rjesup@mozilla.com>, "Kuo, Tzu-Hao" <tkuo@mozilla.com>, "Martin Thomson" <mt@mozilla.com>, "Kostiainen, Anssi" <anssi.kostiainen@intel.com>, Ningxin Hu <ningxin.hu@intel.com>, Rob Manson <roBman@buildar.com>, "public-media-capture@w3.org" <public-media-capture@w3.org>, "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <3CD080DCDA030D47B8ED720F6B99FC810D49AA7F@SJCPEX01CL02.citrite.net>
Hi all, Moving the discussion to the public-media-capture list as it's probably a better place to discuss this. >From what I understand Media Capture is a joint effort between the WebRTC and Devices WG, and hasn't had a WG of its own so far. What I find interesting is that more and more features simply relate to the media, independently of whether it's remote or local. Maybe we should seriously consider forming a "Media" WG that can focus on these features, thus leaving the WebRTC WG focus on the remote aspect, and the Device WG focus on the "device sourcing" of the media. Besides this worker proposal, other examples of media spec partly under the WebRTC WG's responsibilities and that would fit the purpose of a dedicated Media WG are the MediaStream Recording or MediaStream Image Capture specs. One could also argue that further work on the Media Source Extensions spec published by the HTML Working Group could be under the responsibility of a new Media group as well, since it seems to be the mirror of the Recording feature. Regardless of how the work on this done, I'd like to note a couple things regarding this worker proposal: - MediaStream(Track)s as objects should be transferable to other contexts, them being worker of any kind, or other window contexts. See discussion on the public media capture list circa May 20 entitled "[Exposed] attribute on our APIs"<https://lists.w3.org/Archives/Public/public-media-capture/2015May/thread.html#msg63> and previous discussions referenced in there. Once the MediaStream(Track) object is transferred to the contexts of your choice (or kept in the main thread if that's the strange choice of the app), you could create a "VideoProcessor" object directly from the MediaStreamTrack in that context. - I like the approach of a "push" model, especially for source with variable framerate such as screen capture. However there should also be a way to put "backpressure" in case the updates cannot be processed or are not required by the application. Some sources (such as screen sharing) might be able to slow down their production of frames in this case, releasing computer resources. Maybe we should consider the usage of Streams<https://streams.spec.whatwg.org/>? I'm actually wondering if the ImageCapture::grabFrame()<http://w3c.github.io/mediacapture-image/index.html> method might not already solve this. The returned promise should resolve only when a new frame is available, thus avoiding the need to guess the framerate, while allowing the app to request new frames when it actually needs them. Mathieu ________________________________________ From: Martin Thomson [martin.thomson@gmail.com] Sent: Monday, July 27, 2015 3:05 AM To: Rob Manson Cc: Eric Rescorla; Chia-Hung Tai; public-webrtc@w3.org; Stefan Håkansson LK; Harald Tveit Alvestrand; Dominique Hazael-Massieux; Robert O'Callahan; Ehsan Akhgari; David Baron; Eric Rescorla; Randell Jesup; Kuo, Tzu-Hao; Martin Thomson; Kostiainen, Anssi; Ningxin Hu Subject: Re: Add "MediaStream with worker" for video processing into the new working items of WebRTC WG On 27 July 2015 at 11:43, Rob Manson <roBman@buildar.com> wrote: > I would think setting up a whole new WG for this work may be prohibitive. This is something that the IETF struggled with for a time, then fixed. It was a pretty substantial process improvement. The artifacts that the media capture task force created are now free for others to work on; the task force doesn't have to be the sole place we work on this stuff. It doesn't scale otherwise. ________________________________________ From: Rob Manson [roBman@buildAR.com] Sent: Monday, July 27, 2015 2:43 AM To: Eric Rescorla; Chia-Hung Tai Cc: public-webrtc@w3.org; Stefan Håkansson LK; Harald Tveit Alvestrand; Dominique Hazael-Massieux; Robert O'Callahan; Ehsan Akhgari; David Baron; Eric Rescorla; Randell Jesup; Kuo, Tzu-Hao; Martin Thomson; Kostiainen, Anssi; Ningxin Hu Subject: Re: Add "MediaStream with worker" for video processing into the new working items of WebRTC WG Hi Eric, I understand the need for the WG to focus on all the work required for the core WebRTC use case of peer-to-peer communication (e.g. video conferencing, data sharing, etc). But part of our new charter does explicitly describe this type of work. Video Stream Functions An extension of the Media Stream Functions to process video streams, to enable features such as bandwidth limiting, image manipulation or "video mute". http://secure-web.cisco.com/1n43-rPmSYFrGmsyfA4d4Ulv8GgpKweI4yyw352H_dtUz0VncfXrFyJySRh6P7GsZpN5JiHGouavwCS88cpAYZO-7adguUPtwo5jdFC7LMYIcFGDYJwcH5hNdmptlyiKq1rbJnjP_qcgS48w_nQYy92h5hXb6dmFMBVXyVPVJWqh4DmMYTRlUdzkFtEtNxrYm/http%3A%2F%2Fwww.w3.org%2F2015%2F07%2Fwebrtc-charter.html e.g. ...process video streams, to enable...image manipulation... I'm happy to be contradicted by the W3C staff - but I would think setting up a whole new WG for this work may be prohibitive. Dom? And by this work's very nature it will definitely relate to Timed Media, HTML (MediaElement), CanvasContext2D and WebGL. But I think getUserMedia is at the heart of this and it has already stimulated a lot of productive discussion related to the Media Capture and Streams Depth Extension too. This is also likely to help flesh out the Camera Control API too. But however it proceeds I'd like to positively support the need for this work - wherever it fits. roBman ________________________________ From: Eric Rescorla [ekr@rtfm.com] Sent: Monday, July 27, 2015 2:25 AM To: Chia-Hung Tai Cc: public-webrtc@w3.org; Stefan Håkansson LK; Harald Tveit Alvestrand; Dominique Hazael-Massieux; Robert O'Callahan; Ehsan Akhgari; David Baron; Eric Rescorla; Randell Jesup; Kuo, Tzu-Hao; Martin Thomson; Kostiainen, Anssi; Ningxin Hu; Rob Manson Subject: Re: Add "MediaStream with worker" for video processing into the new working items of WebRTC WG Chia-Hung, I do not support adding this item to the work of the WebRTC WG. The WG has an enormous amount to do already and this is largely orthogonal to the major thrust of our efforts, which is to enable real-time applications (e.g., video conferencing.) It's a particularly bad idea to form a task force for this. While perhaps necessary at the time for the specific case of getUserMedia, it has been a real hassle to have fragmented discussion of WebRTC-related topics. If you want to pursue standardization of this technology, you should form a separate W3C WG. You might also consider taking it to the Timed Media WG. -Ekr ________________________________ From: Chia-Hung Tai [ctai@mozilla.com] Sent: Monday, July 27, 2015 2:12 AM To: public-webrtc@w3.org; Stefan Håkansson LK; Harald Tveit Alvestrand; Dominique Hazael-Massieux; Robert O'Callahan; Ehsan Akhgari; David Baron; Eric Rescorla; Randell Jesup; Kuo, Tzu-Hao; Martin Thomson; Kostiainen, Anssi; Ningxin Hu; Rob Manson Subject: Add "MediaStream with worker" for video processing into the new working items of WebRTC WG Hi, Chairs, Dom and all, This is Chia-hung Tai from Mozilla. I would like to add a new working items, "MediaStream with worker"[1] into WebRTC WG and form a new task force for this specification. This working item is based on a project called FoxEye[2]. You can check the use cases in [3]. This specification extends the Media Capture and Streams specification to allow JavaScript developers to process video frame data in workers on the web applications. I already implement a prototype based on the spec[1]. And get positive feedbacks from Mozilla DOM peers. I think it should be standardized. You can see the demo in [4]. Looking forward to hear your voices. Thanks [1]: http://chiahungtai.github.io/mediacapture-worker/ [2]: https://wiki.mozilla.org/Project_FoxEye [3]: https://wiki.mozilla.org/Project_FoxEye#Use_Cases [4]: https://www.youtube.com/watch?v=prybkXsTGXY BR, CTai
Received on Tuesday, 28 July 2015 00:39:18 UTC