miércoles, 30 de enero de 2013

Chrome

How to reach the Chrome WebRTC team

For any questions, comments or stories you would like to share, please join our discussion list or engage us on Google+.

For specific issues with the code, please use our issue tracker:

Press enquiries should be sent to press@google.com

How do I contribute code?

We welcome external contributors! Go here if you are interested. Or, you can just download the code and play around with the samples to get started. The quality dashboard will tell you what the project's current status is.

Chrome WebRTC Quality Dashboard

The Chrome WebRTC quality dashboard can be found here.

Chrome implementation details

Both getUserMedia and PeerConnection are implemented and shipping in the desktop version of Chrome for Windows, Linux and Mac. These APIs do not require any flags or command line switches to use as they are now part of Chrome Stable.

Here are some frequently asked questions about the current implementation:

Can I use the microphone input from GetUserMedia for local playback?

No, the

Can you summarize the evolution of the PeerConnection API changes? 

 There have been many changes. Here is a little history and background and the latest (Oct 1st 2012, Chrome M23).
  1. The first implementation of PeerConnection API was changed to webkitDeprecatedPeerConnection and the latest implementation webkitPeerConnection00  was introduced. This reason for this is detailed in a blog post but, in short, we switched from a ROAP based signalling mechanism to JSEP.
  2. webkitDeprecatedPeerConnection was removed and replaced by webkitPeerConnection00.
  3. The W3C made further significant changes, including a naming convention change. Chrome M23 introduces RTCPeerConnection. Since this is what will be shipping in Chrome, we have moved webkitPeerConnection00 behind a flag. Here is what we have implemented in Chrome:

We have implemented http://www.w3.org/TR/2012/WD-webrtc-20120821/

with these two APIs:

    void        createAnswer (RTCSessionDescriptionCallback successCallback, optional RTCPeerConnectionErrorCallback? failureCallback = null, optional MediaConstraints constraints = null);

    void        updateIce (optional RTCConfiguration? configuration = null, optional MediaConstraints? constraints = null);
instead of :
    void        createAnswer (RTCSessionDescription offer, RTCSessionDescriptionCallback successCallback, optional RTCPeerConnectionErrorCallback? failure Callback = null, optional MediaConstraints constraints = null, optional boolean createProvisionalAnswer = false);
    void        updateIce (optional RTCConfiguration? configuration = null, optional MediaConstraints? constraints = null, optional boolean restart = false);

Data Channels?

An initial implementation can be found in Chrome v25. While the API matches the standard, please be aware that the actual network bits flowing over the network do not match the spec, and that a special flag and constraint parameter must be given.

To enable DataChannels in Chrome  M25 there are several things you need to do:

- Start Chrome with the flag --enable-data-channels

- When a peerconnection is created you need to create it with the  constraints RtpDataChannels.
servers = {iceServers:[{url:"stun:stun.l.google.com:19302"}]};
peerConnection = new webkitRTCPeerConnection(servers, { optional:[ { RtpDataChannels: true } ]});

- Only unreliable data channels are supported. To Create a data channel:
dataChannel = peerConnection.createDataChannel("a label", { reliable : false });

- After a data channel has been created-  an offer and an answer must be exchanged with the remote peer. Same as when a MediaStream has been added or removed.

Knows issues (except for the above limitations):
DataChannels never transit to Open state if it is created when audio an video is already flowing

TURN?

TURN support has been introduced in Chrome 24.

OPUS?

OPUS audio codec support was introduced in Chrome 24.

Recording?

Recording does not have a stable specification yet and our current focus is on PeerConnection. A draft of this API was posted in 2012. It can be found here.

DTMF support?

An initial, no guarantee given estimate is Chrome v26.

Internet Explorer?

WebRTC support for Internet Explorer has been tested on Chrome Frame for Internet Explorer users in non-metro

Aranda Ribera del Duero Raid Goum Nuñez casas rurales aranda hostales baratos aranda hostales aranda Casa Rural Tubilla del Lago

WebRTC efforts underway at Mozilla!


Last week, a small team from Mozilla attended IETF 83 in Paris, and we showed an early demo of a simple video call between two BrowserID-authenticated parties in a special build of Firefox with WebRTC support. It is still very early days for WebRTC integration in Firefox, but we’re really excited to show you something that works!

At Mozilla Labs, we’ve been experimenting with integrating social features in the browser, and it seemed like a cool idea to combine this with WebRTC to establish a video call between two users who are signed in using BrowserID (now called Persona). The SocialAPI add-on, once installed, provides a sidebar where web content from the social service provider is rendered. In our demo social service, we show a “buddy list” of people who are currently signed in using Persona.
The video chat page that is served when the user initiates a video chat uses a custom API intended to simulate the getUserMedia and PeerConnection APIs currently being standardized at the W3C. A is used to render both the remote and local videos, though it is also possible to render them in a . We’re working very quickly to implement the standard APIs, and you can follow our progress on the tracker bug.
A lot of folks burned the midnight oil to get this demo ready before the IETF event, and special thanks are due to Eric Rescorla, Michael Hanson, Suhas Nandakumar, Enda Mannion, Ethan Hugg, the folks behind Spacegoo, and Randell Jesup, in addition to the whole media team here at Mozilla.
Current development is being done on a branch of mozilla-central called alder. It is going to be an exciting few months ahead as we work towards bringing WebRTC to Firefox. There is a lot of work to do, and if you are interested in contributing, please reach out! Maire Reavy, our product person and project lead for WebRTC would be happy to help you find ways to contribute. Many of us are also usually available in IRC at #media, and we have a mailing list.
Transcript of screencast:
Hi, I’m Anant from Mozilla Labs and I’m here at IETF where we are demonstrating a simple video call between two BrowserID-authenticated parties, using the new WebRTC APIs that we are working on.
This is a special build of Firefox with WebRTC support, and also has the experimental SocialAPI add-on from Mozilla Labs installed. On the right hand side you can see web content served by demosocialservice.org, to which I will sign with BrowserID. Once I’m signed in, I can see all my online friends on the sidebar. I see my friend Enda is currently online, and so I’m going to click the video chat button to initiate a call.
Here, I see a very early prototype of a video call window served up by our demo social service. Now, I can click the Start Call button to let Enda know that I want to speak with him. Once he accepts the call, a video stream is established between the two parties as you can see. So, that was a video call built entirely using JavaScript and HTML!
You can check out the source code for this demo, as well as learn how to contribute to the ongoing WebRTC efforts at Mozilla in this blog post. Thanks for watching!

16 comments

Post a comment
  1. Tod Robbins wrote on April 3rd, 2012 at 9:55 am:
    Exciting stuff! What is the roadmap for WebRTC-enabled Nightly/Aurora builds?
    1. Anant Narayanan wrote on April 3rd, 2012 at 10:09 am:
      We have a goal to get basic WebRTC support in Nightly by the end of this quarter. It might just be support for getUserMedia and not the full PeerConnection, but we will move as fast as we can!
      https://wiki.mozilla.org/Platform/2012-Q2-Goals#Video
      1. Forrest O. wrote on April 10th, 2012 at 3:07 am:
        Nice. Will the PeerConnection stuff work for any kind of data?
        1. Anant Narayanan wrote on April 14th, 2012 at 4:05 pm:
          Yes, the data API currently being discussed at the W3C will support both binary & text, as well as unreliable and reliable datagram support.
  2. Caspy7 wrote on April 5th, 2012 at 10:20 am:
    I wonder, might this integrate well with Apache Wave?
  3. CCAC (Collaborative for Communication Access via Captioning) wrote on April 9th, 2012 at 12:04 am:
    Integrate real time speech to text of high quality and you get the prize! :-)
    cheers, ls/ccac
  4. Stephan wrote on April 9th, 2012 at 7:40 am:
    Great work is the connection between the two browsers P2P?
    Thanks
    1. Anant Narayanan wrote on April 9th, 2012 at 10:11 am:
      Yes, the default is to establish a P2P connection but if one could not be created (because of Firewalls etc.) the webapp has an option to use a proxy.
  5. Andrew Ducker wrote on April 9th, 2012 at 10:09 am:
    This is fantastic. I do wonder whether it would be possible to break this out into it’s own application, but using the Mozilla runtime.
    I like my IM app to be able to open its own windows, pop things up by itself, etc. without necessarily interrupting my browsing. If it’s all running inside a Firefox window then that’s going to be tricky to manage.
    1. Anant Narayanan wrote on April 9th, 2012 at 10:16 am:
      It sounds like you’d want to make your IM app a full “webapp” using the apps infrastructure we’re working on. https://developer.mozilla.org/en/Apps has an overview on how to do that, once you have a manifest and a user installs your app it will run in its own window, and you will be able to send out notifications, open pop ups etc.
  6. gt2rs wrote on April 14th, 2012 at 3:41 pm:
    Hey, so if it is P2P, over public IP’s there should be no need of 3rd party server, right? I wonder because Ericsson first released their webrtc in ubuntu, and it required webserver as a middle man atleast to initiate the call, subsequently chrome came up with webrtc and that too requires a server setup to manage the peer connection and it’s initialization.
    Now i wonder what is the status with this mozilla’s test app, because considering a scenario where both parties are directly accessable, there really should not be a need for a 3rd party server, i would be interested to know the status with mozilla’s solution?
    1. Yaniv wrote on June 5th, 2012 at 1:25 am:
      You need a way of transferring the sdp to the other side, so you must have some kind of a web socket that both users are connected to.
  7. Debbra wrote on May 15th, 2012 at 9:12 am:
    When do you expect WEB RTC be ready for deployment with Firefox? Can you please provide me with an expected date?
    Thank you
  8. Sam Dutton wrote on July 12th, 2012 at 7:06 am:
    Great stuff. How is the video stream communicated in this prototype?
  9. majid khosravi wrote on August 17th, 2012 at 3:55 pm:
    Great, do you think there is a chance that something similar comes as a standard for HTML 5?
    Also is video peet to peer in this sample or does it require a server to run?
  10. Pravesh wrote on August 18th, 2012 at 3:28 am:
    Sounds great that we would be able to use WEB RTC, but if it is using HTML5 then would help a lot
 

No hay comentarios:

Publicar un comentario