Level 1: Twilio Doer

Lesson: Intro to Twilio Video

Step 1: Intro to Twilio Video

Introducing Twilio Video

Twilio Video enables developers to build mobile and web applications that embed live peer-to-peer video. You can create new, expressive experiences using Video, making it easy to share information that would otherwise be costly or complicated to obtain. Twilio video supports face to face conversations using webcams and mobile devices, and by using the front facing camera on mobile devices users can broadcast live activity feeds or show close details of the project they're working on. With these vivid and expressive capabilities, your video application can communicate more than voice or text alone.

Twilio Video can create conversations between up to 4 participants, which connect peer-to-peer to broadcast voice and/or video. The Video SDKs are available for iOS, Android and JavaScript, with C++ SDKs coming soon. Each SDK is optimized for the unique features and capabilities of that platform. Twilio Video's Registration and Signaling capabilities are powered by Twilio's global cloud infrastructure. When peer to peer is not possible, Twilio Video automatically provides a low cost TURN media relay in the nearest geography for the lowest possible latency.

You can try a demo here . Here's how to use the demo:

  1. Call a friend on another computer, or test locally using 2 browser windows.
  2. The demo assigns you a unique address name which appears in the black text box.
  3. In the first browser, enter the address of the other participant and click the call button.
  4. Accept the browser permissions dialog to use your video camera.
  5. Video Chat!

Read on to learn more about Twilio Video's features and use cases!

Twilio Video Features

Twilio Video enables modern realtime communication features in your application. With these features, you can enable engaging and effective communications. With Twilio Video, you can:

  • Join up to 4 participants in peer-to-peer calls
  • Choose to broadcast video, audio, or both
  • Have conversations between any combination of supported mobile and browser platforms
  • Call orchestration (authentication, registration, signaling) powered by Twilio's globally distributed and scalable infrastructure
  • Share video from behind firewalls using Twilio Video's low cost TURN media relay
  • Build javascript applications using WebRTC standards for cross-platform support and interoperability
  • Write cleaner, more enjoyable code using JavaScript Promises interface
  • Use an optimized mobile media stack, including hardware-accelerated H.264 support on iOS
  • Share the screen of your iOS app with any other Twilio Video endpoint
  • Create rich interfaces using high-definition audio and multi-party, multi-track video sharing (e.g. simultaneous camera and screen sharing between multiple users)
Technology
Peer-to-peer topology

Whereas Twilio Client requires a media connection from the client to Twilio's servers (to bridge a telecommunications carrier), Twilio Video SDKs have a different design philosophy. Video clients connect directly to each other in a peer-to-peer fashion, sending their media stream in the optimal path. In the case where two devices cannot reach each other directly, the Twilio SDKs will automatically utilize Twilio's Network Traversal Service to complete that call leg.

Twilio-powered WebRTC

Embracing trends in the mobile ecosystem and new standards that enable pure IP-based communications, the Twilio SDKs utilize the WebRTC family of standards. WebRTC enables optimized secure streaming of video and audio content directly from one device to another in modern web browsers. Twilio Video uses WebRTC to capture and stream media, while using Twilio's cloud infrastructure to automatically handle call negotiation and setup. WebRTC primitives such as MediaStream and PeerConnection are made available to developers. A DataChannel is available and can be used to send contextual information between devices, even on mobile.

Optimized for Mobile

WebRTC, in its current form, is optimized to work well in a web browser running on a powerful desktop device. Twilio’s mobile SDKs have been crafted to ensure they perform well on iOS and Android devices, and on a variety of hardware configurations. Great quality media on mobile devices is hard. Wi-Fi has high levels of jitter and packet loss , and mobile networks have high latency. Twilio SDKs optimize the mobile media stack for both iOS and Android to handle these challenges. The H.264 codec is automatically selected to take advantage of Apple hardware acceleration when an iOS device is part of a conversation. VP8 codec is the default for video calls with devices that don’t support H.264.

Flexible SDKs

The Twilio Video SDKs were built from the ground up to deliver a great developer experience. The SDK allows the developer complete access to the essential parts of video, providing access to classes such as EndPoint, Conversation and Participant. The javascript SDK uses a Promises interface resulting in clean code, and notification events allow your application to stay informed and react to the conversation.

Video Use Cases

The best use cases for video involve the need to share visual information that is dynamic over time. Here are some examples of how companies can use Video today to impart context which cannot be expressed in text, audio, or MMS alone:

  • Home Improvement companies can build into their apps the ability for a consumer to show a contractor or agent a video feed of the specific problem they are trying to solve, allowing the contractor to ask follow up questions, inspect details, and offer guided step by step instruction.
  • Insurance companies can build into their consumer apps the ability for a customer to file a claim, showing the damage on their car to the insurance representative (again, the agent can better inspect the damage from multiple angles in real time).
  • Financial Services companies can build premium financial advice services into their existing consumer apps, to enable financial advisors to do video consultations with their clients.
  • Real Estate companies can build the ability for a realtor to do a video tour of a home when potential buyers are away travelling and cannot see the home.
  • Diagnostic professionals (healthcare providers, mechanics, etc) can offer consultations to provide more efficient and accurate remote diagnoses.
Looking Ahead

We're excited about the release of Twilio Video. Here's a peek at additional features on Twilio Video's roadmap which may be released in the future:

  • Connections to traditional phone numbers (PSTN). At this time Twilio Video is IP only.
  • Screen sharing from a web browser. The WebRTC standards committees are still working on support for this, and we're watching carefully.
  • REST APIs to control video conversations. Twilio Video call control is currently done entirely from the client SDK.
  • Support for more video use cases
Pricing

Twilio Video is available free of charge during it's beta period. Pricing details will be announced before it's general release.

Test your knowledge

Question 1 of 3

Twilio Video can connect people on what platform?





Correct. 

Twilio Video is accessible via iOS, Android, JavaScript SDKs, with C++ SDKs coming soon. Each SDK is optimized for development on that platform, and provides access to all real-time communication services, current and future.

Incorrect. 

That's true, but there is a more complete answer.

Question 2 of 3

Twilio Video can be used for audio only conversations.



Correct. 

Yes, each participant can choose to broadcast video, audio, or both.

Incorrect. 

Question 3 of 3

Twilio Video will work with computers behind a firewall



Correct. 

Yes, in the case where two devices cannot reach each other directly, the Twilio SDKs will automatically utilize Twilio's Network Traversal Service to complete that call leg.

Incorrect. 

Try again.

Next Question 

 Previous Question

Congratulations, you have completed the quiz.

Congratulations, you have completed the quiz.

You scored {{pageC.completed.contentStatus['video-overview-test'].score}} of {{pageC.completed.contentStatus['video-overview-test'].possible}} possible points.


Next Step: Project Review



 


Powered by