Confirmed users
111
edits
No edit summary |
(Simplify the codec debate summary) |
||
Line 20: | Line 20: | ||
}} | }} | ||
{{FeaturePageBody | {{FeaturePageBody | ||
|Feature open issues and risks=* VP8 is the only open, modern video codec under consideration. There is heavy debate going on in the IETF working group about what video codec should be mandated by the spec. Some are arguing that H.264 should be selected because the | |Feature open issues and risks=* VP8 is the only open, modern video codec under consideration. There is heavy debate going on in the IETF working group about what video codec should be mandated by the spec. Some are arguing that H.264 should be selected because they prefer the patent licensing situation there (MPEG-LA) and more mature technology. Without a common video codec, the spec could fail to gain acceptance and adoption. | ||
* Overall system latency (delay) might be an issue; if it is architectural changes may be needed. Testing will need to be done. | * Overall system latency (delay) might be an issue; if it is architectural changes may be needed. Testing will need to be done. | ||
* Privacy UI/UX for this feature is a challenge since this involves camera and microphone data. Security will be difficult due to the wish for applications to be able to provide useful interfaces, in conflict with the need to guarantee users are safe with regards to access to their camera and microphones. This design is being discussed with the security team. | * Privacy UI/UX for this feature is a challenge since this involves camera and microphone data. Security will be difficult due to the wish for applications to be able to provide useful interfaces, in conflict with the need to guarantee users are safe with regards to access to their camera and microphones. This design is being discussed with the security team. | ||
* Good congestion control is essential for real-time video/audio communication. The algorithm for this is still being developed. We can’t make our first release until we have a good algorithm implemented in the Firefox code. | * Good congestion control is essential for real-time video/audio communication. The algorithm for this is still being developed. We can’t make our first release until we have a good algorithm implemented in the Firefox code. | ||
|Feature overview=This feature will allow people using the web platform to include video/audio conferencing and associated data as part of their websites and applications. The main attributes include: | |Feature overview=This feature will allow people using the web platform to include video/audio conferencing and associated data as part of their websites and applications. The main attributes include: | ||
* Using the web as the setup end point for a "call." This is different than other calling systems, which use SIP, XMPP or other signaling systems. | * Using the web as the setup end point for a "call." This is different than other calling systems, which use SIP, XMPP or other signaling systems. | ||
Line 30: | Line 30: | ||
* Video is displayed as a primary object in the browser and can be part of content. | * Video is displayed as a primary object in the browser and can be part of content. | ||
* Data can be exchanged along with the video and audio. | * Data can be exchanged along with the video and audio. | ||
|Feature users and use cases===Phase 1== | |Feature users and use cases===Phase 1== | ||
We will support applications that do the following: | We will support applications that do the following: | ||
Line 54: | Line 53: | ||
* [https://datatracker.ietf.org/doc/draft-ietf-rtcweb-use-cases-and-requirements/?include_text=1 IETF Use Case Document] | * [https://datatracker.ietf.org/doc/draft-ietf-rtcweb-use-cases-and-requirements/?include_text=1 IETF Use Case Document] | ||
|Feature dependencies=* Integration of the newly released WebRTC code. | |Feature dependencies=* Integration of the newly released WebRTC code. | ||
* Work product from IETF and W3 working groups | * Work product from IETF and W3 working groups | ||
* Design of getUserMedia from Media Task Force | * Design of getUserMedia from Media Task Force | ||
* Integration of Rob O'Callahan's Media API work. | * Integration of Rob O'Callahan's Media API work. | ||
|Feature requirements=Must Have: | |Feature requirements=Must Have: | ||
Line 78: | Line 76: | ||
* Video resolution switching | * Video resolution switching | ||
* If hardware support exists for encoding & decoding VP8, support for video on Mobile. | * If hardware support exists for encoding & decoding VP8, support for video on Mobile. | ||
|Feature non-goals=We are not trying to support anything other than the items mentioned in this document. This page is primarily focused on what's required to ship the first phase of the feature. | |Feature non-goals=We are not trying to support anything other than the items mentioned in this document. This page is primarily focused on what's required to ship the first phase of the feature. | ||
|Feature functional spec=* Audio codecs planned: G.711 & Opus. (Although royalty/license-free, we have no plans to support iLBC, iSAC and G.722) | |Feature functional spec=* Audio codecs planned: G.711 & Opus. (Although royalty/license-free, we have no plans to support iLBC, iSAC and G.722) | ||
Line 86: | Line 83: | ||
* [http://hg.mozilla.org/users/rocallahan_mozilla.com/specs/raw-file/tip/StreamProcessing/StreamProcessing.html Robert's MediaStream Processing API Proposal] | * [http://hg.mozilla.org/users/rocallahan_mozilla.com/specs/raw-file/tip/StreamProcessing/StreamProcessing.html Robert's MediaStream Processing API Proposal] | ||
|Feature implementation plan=We created our first public demo at IETF 83 (Paris). We were able to demo video/audio calls and working data channels. We need to add signaling (JSEP) support and PeerConnection support. We’re creating a project planning map of work to be done and we have a WebRTC tracking bug, [https://bugzilla.mozilla.org/show_bug.cgi?id=webrtc bug 665909] | |Feature implementation plan=We created our first public demo at IETF 83 (Paris). We were able to demo video/audio calls and working data channels. We need to add signaling (JSEP) support and PeerConnection support. We’re creating a project planning map of work to be done and we have a WebRTC tracking bug, [https://bugzilla.mozilla.org/show_bug.cgi?id=webrtc bug 665909] | ||
|Feature security review=It's important to realize that this is the first step in a plan to bring video to the platform. From both a security and privacy standpoint this means we'll need to be reviewing it with an eye towards an eye towards future use cases as well as what's scoped in this one page. | |Feature security review=It's important to realize that this is the first step in a plan to bring video to the platform. From both a security and privacy standpoint this means we'll need to be reviewing it with an eye towards an eye towards future use cases as well as what's scoped in this one page. |