Getting Started with OpenTok: From 0 to simple group video chat

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).

Read More

Quality of Experience and Traffic Shaping – the next step with Mantis

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.

Read More

Introducing Cloud Raptor SDK – Robust apps made easy

icn_labs_raptor-metalToday, 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.

Read More

Mantis Checklist – How to get started with Mantis

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 support@tokbox.com using the following template:

Read More

Mantis: Next-generation Cloud Technology for WebRTC

OpenTok_allplatforms (1)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.

Read More

New changes for WebRTC in Chrome 26

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:

Highlights

  • 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

Full list

  • Avoids crash in WebRTC audio clients for unsupported capture sample rates.
  • Avoids crash in WebRTC audio clients for 96kHz render rate on Mac OSX.
  • Enable webrtc build on android.
  • Set WebMediaPlayerMS network state to loading instead of loaded
    • This indirectly fixes the problem where WebRTC audio is muted upon refresh. The HTMLMediaElement will try to cache fully Loaded videos when the element is destructed. This will signal to the HTMLMediaElement that the player was destroyed when loading, so it needs to recreate WebMediaPlayerMS upon destruction of the media tag.
  • Allowing multiple MediaPlayers to connect to WebRtcAudioDeviceImpl by sharing one WebRtcAudioRenderer.
    •  The audio is gone when new PeerConnection is connecting to a media stream. What is happening is that the stream will pause the existing MediaPlayer and create new MediaPlayers to associated to it. But since we only allow one WebRtcAudioRenderer to connect to WebRtcAudioDeviceImpl, the new MediaPlayers audio won’t be able to associate to stream.

Read More

OpenTok on WebRTC now supports Firefox!

OpenTok_WebRTC_FF-1On 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.

Read More

LiveNinja: Video chat face-to-face with experts

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.

Read More

What I learned on my cross platform development panel

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.

Read More

What the CU-RTC-Web vs. WebRTC debate means for developers

About six months ago, Microsoft released an alternative proposal to the W3C WebRTC 1.0 Working Draft[2], dubbed CU-RTC-Web[1]. 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[3]. 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.

Read More