WebRTC for Mobile

15
02/19/2022 1

Transcript of WebRTC for Mobile

05/03/2023

1

05/03/2023

2

DEVELOPING FOR MOBILE WEBRTC

Shubh AgarwalOpenClove

05/03/2023

3

Mobile Principles • User Experience - Focus on the app and the content• Performance - Highly efficient video delivery• Features - Un-limit the capabilities for human

behavior

Brave New World

4People Interaction

Content &Reach

2.8 BInternetUsers

4.5 BillionMobile subs

(unique)

The NEWWebRTC

Paradigm

Consume any online Contentwith Friends, Family, and Community

05/03/2023

5

Why Mobile or Tablets?

Fundamental behavior change inContent Consumption

Enterprise migration toward tablets from PCs will effectively cause

many – if not most – companies to “dismantle” their current business-

as-usual approach to technology- Eric Schmidt

05/03/2023

6

All About the User

Sample video

How do we deliver features, quality and consistent user experience on

mobiles and tablets?

What are you trying to deliver to your end user?

05/03/2023

7

Mobile User Experience• User experience based on use case– Is Video is central to experience or complementary?– Co-browsing content part of the experience?– How much control do you want to provide the user?

• Rendering and Layouts– Fixed vs. Flexible layouts, position, sizing– Branded backgrounds, personalization skin overlays– Mid call feature invocation, moderation

05/03/2023

8

Example: WebRTC AppPC vs. Tablet

05/03/2023

9

Development Options• Chrome and FF on android devices supported• Native Apps supported with various SDKs• IOS and Android can be supported via 3rd party WebRTC

browsers (LiveBoard)WebRTC Non RTC Android iOS Features Costs / Time

Native WebRTC or adapter.js X X X One timeWebRTC + SDK development X X 3x development3rd Party JS / HTML only * * * One time (ovx.js)3rd Party JS + Native Apps * * * 3x development

* Limited vendors, implementation variations

05/03/2023

10

Mobile Constraints• Mobile CPU and Power limitations

– Software encoding + decoding .... Barely supported for single stream

– For multiparty, mobile devices cannot support with NxN or 1xN streams with App or content processing

• Bandwidth Constraints (3G, 4G)– Mobile bandwidth are always at a premium– Each VP8 video stream dynamically adjusts for

max bandwidth at the best quality• Reachability, Screen real estate

S/W VP8 encoder testing on TI OMAP4460:

OS: Ubuntu Linux 3.4.0-1487-omap4 Speed : 1.2GHz (Single Thread) (2400 MIPS)Encoding Source File Format: YUV4MPEG2Media Resolution :W1280 H720 Testing Result: Average 6.5 fpsSoftware: libvpx version 1.0.0

05/03/2023

11

To Cloud or Not?

Peer to Peer Cloud MCU Router

Cloud MCU Mixer

Hybrid

APIs Chrome or adapter.js

Platform wrappers Platformwrappers

Mixed

Media Routing Direct Cloud / Network Cloud / Network Hybrid

STUN/TURN BYO Included Included Mixed

Group (UL x DL) N-1 x N-1 1 x N-1 1x1 On Demand

Mobile Delivery Inconsistent Limited Optimized On Demand

Features – Recording, SIP etc.

Not Available Platform Dependent

Platform Dependent

On Demand

05/03/2023

12

Group over Mobile• Mobile Environment

– Multiple streams on same session contend for resources, making it impractical to support on mobile device

– Resolutions, frame rate stability vs. a constant battle to the top

– Video sustainability, downgrade to audio

• Developing with Cloud MCU– Video complexity moved to cloud and wrapped in JS,

SDK, API– “Meet-me” bridge concept– Abstraction to a Session ID

Sample Code using OVX.JS<script src="js/ovx.js?v4"></script><script>….….

function placeCall() {     …… ……

           /* Unique Session ID */      OVX.Session.setId(document.getElementById("groupname").value);

      OVX.Session.start();}

05/03/2023

13

Enterprise Apps• Most serious use of real-time audio and video sessions in Enterprise verticals

require audit and archiving– Client side recording may be done on PC/Mac– It is impractical to do that on mobile device

• Streaming used in consumer sharing apps and enterprise collaboration– Scalable simulcasting of active conferences requires anchor and media processing

• Global and Enterprise connectivity important for reach– Need to transcode and anchor call on to a gateway for connectivity

Cloud / Network becomes critical to deliver features for Enterprise adoption on mobiles and tablets

Sample Code using OVX.JSOVX.Session.recordStart();OVX.Session.recordStop();

05/03/2023

14

Conclusion• WebRTC is about behavior change in App or Content

Consumption • Define the long term feature and performance requirements

• Cloud MCU provides the most optimal solution for multi-party, multi-platform, feature rich video communications over mobile

05/03/2023

15

Contact OpenClove• WebRTC Apps: http://ovx.me • iOS and Android WebRTC Browser: http://liveboard.me • Developer portal: http://developer.openclove.com

• WebRTC EXPO Booth #500• [email protected]