You'll need an API key to access our development environment and start building your application. Your API key is unique and private.
If you are running the HTML page from your desktop as a "file://" URL, what is happening is that Flash is putting up a security wall in order to prevent "cross-domain" communication from taking place. If you step through the code, you will likely see that session.connect() never returns.
This problem only occurs when you run the file from your desktop using the "file://" URL. If you use a local server (ie. a localhost URL), the problem will go away. If you serve the file from a web server, the problem will go away.
To enable the page to work directly from the desktop using a "file://" prefix, you need to change Flash's security settings. You can do this using a page online that Adobe provides:
You should find that the HTML page starts working after this.
Quickly go through our user diagnostic tool so we can make sure that your hardware, software, and Internet are all up to par to use the OpenTok platform.
Make sure that you have installed the latest version of Flash Player. There were some issues in previous versions on Mac OS X Lion.
For OpenTok 1.0, end users will need the following:
For OpenTok 2.0 requirements, see "WebRTC" below.
Yes! We have launched our new iOS SDKs, and are excited to see what you will build with them.
The quality varies based on users' connectivity.
As a developer, you generate an authentication token with the server-side APIs. You use this token when connecting to an OpenTok session. For sessions, TokBox protects privacy by generating a unique session ID—a randomized string of up to 255 alphanumeric characters—for each video chat session. Also, with OpenTok the developer can build functionality to remove unwanted participants.
If you don't see something you want or need, please contact us a .
We want lots of people to use OpenTok and are offering the basic live streaming for free. For more information see our pricing page
Try the following:
OT.setLogLevel()to send debug messages to the console.
See the API reference documentation for the TB class.
In Internet Explorer 8, links with
In some combinations of Flash versions and browsers, the Allow button in the Adobe Settings Panel cannot be clicked. The issue may occur when you center a Flash SWF or if you position the SWF relatively such that its x and y coordinates are not integers. As a workaround, add 0.5px to the margin-left of the SWF if the width of the window is odd; this is to make the x,y coordinates an integer. This doesn't work in every case, though.
For users to see each others’ audio/video streams, they need to connect to the same session (using the same session ID). Each OpenTok session is a collection of audio/video streams that can communicate with one another. To have users see each other's streams, do not generate unique session IDs for each user. Reuse the same session ID for each page in the session, and pass that session ID to the
OT.initSession() method. (You do, however, generate unique connection tokens for each user.)
This is a known issue in Firefox and Chrome (see Mozilla bug 90268).
By default, the element you pass into the
Session.subscribe() method is an HTML DOM element to be replaced.
It is not a container element. You can override this default behavior by setting
insertionMode property of the properties parameter you pass into the
<script src="https://static.opentok.com/v0.91/js/TB.min.js" ></script>
(Note, however, that OpenTok video streams are not sent on a secure socket.)
Microsoft has not fully implemented the WebRTC standard.
When OpenTok detects network issues that impede the quality of an end-user's experience, OpenTok will automatically drop the video stream to an end point until such time as they can recover. This condition is made evident by the video being replaced by a microphone icon. When this happens, clients do not in addition need to explicitly unsubscribe from the video stream. When network conditions improve, OpenTok will automatically resubscribe users to the video stream.
When OpenTok detects the following network conditions on a given connection, it will automatically turn off the video stream to assist in providing the best possible experience to an end-user:
Use our Forgot Password flow to reset your password.
No. Your OpenTok account works across both the forums and the dashboard.
Yes. You should have received a migration email to help you get started. If you did not, please email us at firstname.lastname@example.org , and we will help get you set up.
No, you don’t need a credit card on file to get started with OpenTok.
We accept any Visa, MasterCard, American Express, JCB, Discover, or Diners Club cards.
Yes, while archiving is in beta you will be able to archive without a credit card on file. Once archiving exits beta, you will need to add a credit card to your account to continue using it.
Login to the OpenTok dashboard to update your credit card.
Your billing cycle begins on the day of the month on which you sign up for either a paid minutes plan or premium support.
You will be charged monthly on the day of the month in which you originally signed up. For example, if you signed up January 15th, you will be charged on February 15th and every 15th of the month afterwards.
You’re all set! If you need help with your OpenTok-powered application, then email us at email@example.com, and we’ll get back to you within one business day.
Please review our SLA document to get the full details about how the OpenTok SLA works, what constitutes downtime, and how to get credit if you experience downtime.
The email address associated with your OpenTok account will be flagged as a premium support partner in our support queue. Your inquiries will be prioritized and responded to faster.
If we are making a critical change to the OpenTok API that may cause your application to break, you will be notified by email at the address associated with your OpenTok account.
Please submit a bug at our bug forum.
For usage, we’re charging for “streamed minutes” - see definition below. We’re also charging for consulting services and support packages.
When you use OpenTok to power a video session for your website or application, your end-users see live video streams of the other participants in that session. Each of these videos (which stream from our platform to your end-users) is a media stream. Each user in a four-way call, for example, receives three media streams. TokBox charges you for each media stream, per minute.
In September, we exposed our signaling API to developers. This will allow developers to send messages across clients in their applications. These messages allow developers to build basic text chat, send instructions from one client to another, and create other valuable experiences. 10 million messages are included in the minimum monthly fee, which should be more than enough for all of our customers. If you need more, however, then you will be charged $1 per 1 million additional messages. We will only count messages SENT from our server.
At TokBox we encourage all of our customers to try the OpenTok platform before they purchase. Our 30 free day trial gives you full access to all of the platform features you need to bring live video to your website or mobile application. If you need help during your trial, feel free to use our support options under the free Basic Support Plan.
Yes. Note, however, that we limit you to one OpenTok Dashboard per registered email address. Please contact us for special trial requests.
Please contact us for special trial requests.
You have access to our free Basic Support Plan.
Please contact us for special support requests.
No. Trial implementations are for non-commercial internal demonstration and evaluation purposes only. For complete terms and conditions please read the OpenTok Terms of Service.
You can go live within the first 30 days, however you’ll need to input your credit card information in your OpenTok Dashboard. Billing will begin upon expiration of the trial.
No. You do not need to enter a credit card for a trial, but you will need to input credit card information or arrange for invoicing if you wish to continue using the OpenTok platform beyond your trial period without interruption.
Yes. We will generate invoices upon request for amounts over $100 per month. Please contact firstname.lastname@example.org.
To estimate your OpenTok usage, you will need the following information:
Then to compute total streamed minutes, use the following formula:
(# of video streams sent down from the OpenTok platform to the participants in a call) X (# of minutes in call) = Total streamed minutes
Effective October 1, 2013, TokBox is changing the pricing model of the OpenTok platform. If you created an OpenTok project before August 29, 2013, we are grandfathering the old pricing for your projects. As a result, you can no longer generate API keys from that pre-existing account. Starting on October 1, if you would like to create a new OpenTok project or generate an API key, you need to open a new OpenTok account which will be subject to our new pricing structure.
In an upcoming release, users will be allowed to upgrade their existing account to the new version of our dashboard. Users should be aware that upgrading an existing account which was grandfathered, will result in modifications to your billing and metering plan, which may affect your monthly bill.
Web Real-Time Communication (WebRTC) is a new HTML5 standard framework that enables the sharing of video, audio, and data directly between web browsers. OpenTok on WebRTC is a video chat API that implements WebRTC.
No, WebRTC is a web standard which means no installations or downloads are required. Your users will need to have a compatible browser.
OpenTok is a layer on top of WebRTC that simplifies development by providing a set of APIs that handle common tasks associated with video chat applications. OpenTok on WebRTC enables you to take advantage of WebRTC with complementary APIs that handle session initiation, signaling, cross-platform interop (iOS and web), and more.
TokBox has just introduced the Mantis beta program. Mantis acts as a central switching station for non-peer-to-peer WebRTC streams. Mantis enables:
OpenTok 2.0 (WebRTC) is supported in the following browsers:
Yes! Get the library here.
Our WebRTC Client Library for Android is currently in beta.
Yes, both stacks have the same pricing.
WebRTC uses UDP protocol, which means for WebRTC to work, your UDP ports must be open. These ports are usually open unless you are behind a firewall.
Clients using Google Chrome can use the OpenTok Diagnostic app to determine if they can connect to an OpenTok on WebRTC application.
Yes, all media traffic is encrypted regardless of the endpoint you use (web or mobile) or the session setup you choose (P2P or multiparty). As a result, your session will be secure even if use OpenTok over an open public hotspot.
No, we don’t believe in proprietary solutions when we talk about security. OpenTok is fully based on proven standards, written by industry experts, and used for years in commercial products. The core protocols providing WebRTC OpenTok security are SRTP for media traffic encryption, and DTLS-SRTP for key negotiation, which are defined by the IETF.
OpenTok WebRTC-compatible endpoints use the AES cipher with 128-bit keys to encrypt audio and video, and HMAC-SHA1 to verify data integrity.
Endpoints automatically generate random keys at the beginning of each. To increase security even further, additional keys are generated periodically throughout the session.
No, everything happens under the hood without any interaction with the user.
No, the OpenTok API is the same and requires no change to your code.
Yes, it does, but very minimially. It increases the length of each audio and video packet by 8 bytes, but that is less than 1% of the typical bitrate of a OpenTok session. Regarding the delay, the SRTP encryption framework was designed specifically for real-time applications, and the impact is rarely noticeable.
Yes, but the cost of encryption is minimal when compared to the cost of encoding and decoding the audio and video.
For any other questions, please post to our forums.
To report a bug, please email .