Introducing Dynamic Frame Rate Controls

artificial intelligence. Image shot 2008. Exact date unknown.Today we’re announcing new Intelligent Quality Controls in the OpenTok platform. To catch everyone up, Intelligent Quality Controls are the features and enhancements we’re developing to make sure that each participant in a video call has the best possible experience.

Update (Nov 25): Developers, check out our new blog post that provides details on using dynamic frame rate controls.

You may recall that over the summer we launched traffic shaping for the audio-only fallback feature. This feature drops video in low bandwidth situations to prevent a participant with poor QOS from dragging down the video quality for everyone else. Essentially, we built the automatic (video) mute button for “that guy on his cell phone in a convertible!”

Now, we’re introducing our Dynamic Frame Rate Control feature. We know that large virtual meeting rooms are very interesting use cases for our partners. Remote teams, large class rooms, or even a big fantasy football draft party can all benefit from everyone continuing to publish through the entire conversation. Without some way to manage how the available bandwidth is distributed, however, network congestion and CPU problems can start to appear after a relatively low number of users.

Dynamic Frame Rate Control allows us to support 20 participants publishing in a video call. When enabled, the developer can use Dynamic Frame Rate Control to drop the frame rate for selected streams to 1 frame every 3 seconds. Audio is not affected. This allows everyone to be present but doesn’t require a supercomputer or NSA-style broadband pipe.

We’re really excited to see how our partners in education are going to be able to take advantage of this to get full classrooms connected with students from all over the world.

Our Intelligent Quality Controls aren’t going to stop here. We’ve got more work to do with our traffic shaping, and we’re also investigating “smart muting,” active speaker detection, and other controls that we know will help participants have the highest quality experience.

Do you have any ideas about what you’d like to see next? Let us know in the comments, or email me at melih@tokbox.com.

  • Brian

    Very exciting! Is the API available for use, yet?

    • John

      It’s already available for our JS API! You just have to point to version 2.2
      of TB.min.js instead of 2.0. Then your subscriber objects will have a
      new method named “restrictFrameRate” which takes in a boolean as a parameter.

      • Karthik

        Hi John,

        We tried this.

        We subscribe and publish video on demand ,so once we pointed to version 2.2 it shows error like -> Uncaught TypeError: Cannot call method ‘subscribeToAudio’ of undefined.

        Why is that happens?

        It works well with version 2.0.

        • John

          Shoot an email to support@tokbox.com with your javascript console logs (be sure to set the log level to 5). Explain what step in your code causes the error to appear. Also mention that you’re Karthik too, so I know who’s logs I’m looking at.

          • Karthik

            Hi John,

            I have send an email to the support@tokbox.com.

            Hope we get some help from the support team..

        • karthik

          Hi John,

          Please advice us on the cpu usage issue.

          We are having 100% cpu usage with just 2 to 3 users.

          Regards
          Karthik

    • jeffswartz

      Check out this new blog post for developer details on using this feature:

      http://www.tokbox.com/blog/opentok-javascript-client-library-2-2-preview/