TokBox is the company that provides the video streaming API called OpenTok. This tutorial will be a walk through to creating a very simple group video chat application.
There are two flavors to the OpenTok API, OpenTok Flash that uses flash plugin and OpenTok WebRTC that uses the new and cool HTML 5 technology, and they are not interoperable.
WebRTC provides a much better video chat experience when it comes to quality but is currently only supported officially in Firefox and Chrome. Internet Explorer users must install Chrome Frame plugin.
Flash on the other hand, is supported in 99% of all browsers and allows the ability to record live video streams as they occur (archiving).
Today, we are happy to announce yet another significant milestone in the technical evolution of the OpenTok platform – dynamic traffic shaping for audio and video through our Mantis infrastructure. We are now optimizing the experience for every participant in a multi-party call.
WebRTC is essentially defined as a peer-to-peer protocol for real-time browser-based communication. The problem is that countless real-world applications require multi-party support. So eight weeks ago we unveiled Mantis to solve this. Mantis is our next-generation cloud-scaling infrastructure that enables developers to deliver bandwidth-efficient multi-party WebRTC support.
Today, the OpenTok platform adds the Cloud Raptor SDK into the fold. Partners’ application servers can use the Cloud Raptor SDK to listen to the events and messages that pass through an OpenTok session. Accessing these events and messages on the application server makes it easier to integrate OpenTok logic with the application logic. (Prior to Cloud Raptor, OpenTok events and messages were only available on the client.)
Before today, building robust applications with the OpenTok platform meant writing a distributed application across many clients. The clients either synchronized between themselves, the partner sent back a lot of AJAX calls to their server, or the developer used a service like Parse. Now, with the Cloud Raptor SDK, OpenTok developers can have one OpenTok brain for their application – simplifying the development and extending the possibilities simultaneously.
We just launched Mantis yesterday, and saw a rush of activity as partners hopped onto the WebRTC cloud. The new things people will be able to build – a real-time, online dungeons and dragons web app, seminar applications, education applications, and more – are now going to see a whole new level of quality and experience. We’re really excited to be the face-to-face video platform that helps make this happen. But to make it happen more quickly, we’ve decided to write a quick Mantis checklist. To make your Mantis application work, you will need to:
- Make sure that you are using the OpenTok on WebRTC JS library. You can find the library here, and find the reference documentation here. If you are using the v1.1 JS library, you will need to update your application to the v2.0 library.
- When you generate a session, make sure that the p2p.preference flag is set to disabled. If you’re generating your sessions from the Developer Dashboard, then you will need to download one of our server-side SDKs and generate sessions yourself.
If you haven’t already asked to participate in the Mantis beta, please contact us. Then make sure that you are using the correct API key for the Mantis beta. If you are not sure which API key you sent us, then please email us, and we will let you know. Mantis requires that your API key be enabled to access the infrastructure.
- [UPDATE] Good news! As of 10/1/13 Mantis is available in production. That means you no longer have to email the TokBox team to request access. Mantis is subject to the new OpenTok platform pricing which you can review here. Free access to Mantis is available through our new 30-day free trial.
It really is that quick, and if you’re finding that you need some more help, then let us know. To make sure that your question gets answered as quickly as possible, please send an email to email@example.com using the following template:
Today we’re proud to announce our latest WebRTC innovation: Mantis, a cloud-scaling infrastructure for our OpenTok on WebRTC platform.
This is another big step forward for the TokBox team as we continue to pursue our goal of providing application developers with simple yet powerful APIs. APIs that not only leverage the latest standards to deliver the best possible experience, but that are backed by a scalable, smart cloud which supports interoperability across a variety of end-points.
A new version of Chrome is out, and with it changes in the WebRTC stack. We dug through the commit logs for Chrome 26, and found the following list of WebRTC bug fixes, enhancements, and updates that we thought were relevant to the OpenTok community:
- A lot of audio bugs in WebRTC were fixed dealing with crashes and non-standard audio bitrates
- Chrome on Android can now be WebRTC-enabled by enabling a flag
- Improvements to the connectivity stack in WebRTC
- Ability to set media constraints for audio
On February 4th Mozilla and Google announced that their respective browsers could now talk to each other via WebRTC. This is another big milestone in WebRTC’s path towards becoming available in all modern web browsers, albeit, today only in an early development build of Firefox, version 21+ (currently Nightly and soon to be Aurora).
We’ve also been working hard on making OpenTok on WebRTC work with both Firefox and Chrome so you too can enjoy all this cross-browser goodness!
Off to the races
The first thing that you need is version 21 or higher of Firefox, currently available through the Aurora FTP site and Nightly site.
There is a new breed of Ninjas taking over. Instead of covert agents wielding nunchucks and wearing ninja-yoroi, you’ll find gentler individuals donned in yoga pants, weaponed with guitars and Adobe CSS. LiveNinja, our App of the Week, is responsible. They’ve created a searchable marketplace of experts (Certified Ninjas) in the topics you care about, using the OpenTok API to facilitate live video consultations.
Last Thursday, I had the pleasure of being a part of the Mobile + Web developer conference held at the Hilton Hotel in San Francisco. I spoke on a panel about where development was headed in a world where Web + Mobile are the two predominant platforms. There were four of us total, and we had a great time talking about how each of us lived in, and viewed the future of development in this two platform world. The panel was composed of (beyond myself) John Hammink, a QA engineer from Mozilla, Jonathan Smiley, a partner at Zurb building their own HTML5 framework, and Ted Drake, a senior accessibility engineer from Intuit.
About six months ago, Microsoft released an alternative proposal to the W3C WebRTC 1.0 Working Draft, dubbed CU-RTC-Web. Like all W3C groups, the WebRTC Working Group enlists membership from a majority of the industry, including names like Nokia, Cisco, Google, and Mozilla. The most important question raised by the Microsoft proposal is how the Working Group would react to criticism of its draft proposal, and whether Microsoft would accept the published APIs of the Working Group, even if CU-RTC-Web is not adopted. So what exactly does this mean for the development community?
The Microsoft draft outlines a low-level API that allows developers more direct access to the underlying network and media delivery components. It exposes objects representing network sockets and gives explicit application control over the media transport. In contrast, the WebRTC API abstracts these details with a text-based interface that passes encoded strings between the two participants in the call. With the WebRTC draft, developers are responsible for passing the strings between communicating browsers, but not explicitly configuring media transport for a video chat.