Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

comparison tables of features and capabilities #93

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a78945b
comparison tables of features and capabilities
zoharbabin Feb 18, 2018
a4556c4
saved as mdown file
zoharbabin Feb 18, 2018
346d8f5
Update mwembed-playkitjs-parity.md
zoharbabin Feb 18, 2018
70d66e3
Oren's feedback
zoharbabin Feb 21, 2018
44ee695
Update mwembed-playkitjs-parity.md
zoharbabin Apr 2, 2018
4944aea
more additions from misha
zoharbabin Apr 3, 2018
92d682d
more updates with misha
zoharbabin Apr 3, 2018
45857ef
Update mwembed-playkitjs-parity.md
zoharbabin Apr 3, 2018
9a79acb
Update mwembed-playkitjs-parity.md
zoharbabin Apr 3, 2018
19e2296
updated roadmap and added features
zoharbabin Jul 9, 2018
47d8da6
Update mwembed-playkitjs-parity.md
zoharbabin Jul 9, 2018
519860f
typos
zoharbabin Jul 9, 2018
e3b1550
update
Nov 15, 2018
c52bdd7
Update mwembed-playkitjs-parity.md
Nov 15, 2018
aa06d0c
updated for rapt in v3
zoharbabin Jan 10, 2019
1acd824
Update mwembed-playkitjs-parity.md
Apr 2, 2019
c09fa1d
Update mwembed-playkitjs-parity.md
Apr 2, 2019
684e58d
Update mwembed-playkitjs-parity.md
zoharbabin Apr 4, 2019
eca52dc
updated to latest status
zoharbabin Oct 8, 2019
6be91a2
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
08f2ed2
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
a383e51
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
5cc7124
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
6021c38
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
0616a04
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
0ab09f6
Update mwembed-playkitjs-parity.md
giladna Jul 11, 2022
2e43f26
Update mwembed-playkitjs-parity.md
giladna Jul 17, 2022
9986865
Update mwembed-playkitjs-parity.md
giladna Jul 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 227 additions & 0 deletions docs/mwembed-playkitjs-parity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
# [mwEmbed](https://github.com/kaltura/mwEmbed) vs. kaltura-player-js Parity

#### Player V7 Motivation

* Player V2 used to mimic Flash APIs (sendNotificatiom like) V7 is using modern tecnology HTML% and preact
* Player V2 is
* Player V7 is much light weight player, JS prarsing is more efficient and load time is much faster, player bundle contains only required code pieces for playback.
* Player V7 out of the box UI is more efficient easy to write extra code using react
* Player V7 plugins are linked to the player life cycle and a result player memory leaks are less common
* Player V7 custom plugin are easy to be integrated to the player
* Player V7 exposes Playback Adapters or license Adapters.
* Player V7 exposes ability to register to services wich saves code duplications
* Player V7 comes with new plugins and capabilites like Ads Waterfalling, SamrtSwitch, Broadpeak
* Player V7 is not using document.write api. V2 playar was using it and it could cause page to stop rendering and could even stuck the plge load


#### Player V2 VS Player V7 Embed codes

##### V2 Dynamic Embed

```<script src="https://cdnapisec.kaltura.com/p/2068231/sp/206823100/embedIframeJs/uiconf_id/50380002/partner_id/2068231"></script>
<div id="kaltura_player_1657529534" style="width: 560px; height: 395px;"></div>
<script>
kWidget.embed({
"targetId": "kaltura_player_1657529534",
"wid": "_2068231",
"uiconf_id": 50380002,
"flashvars": {},
"cache_st": 1657529534,
"entry_id": "1_zdyx07u4"
});
</script>
```


##### V2 IFrame Embed

```
<iframe id="kaltura_player_1657529513" src="https://cdnapisec.kaltura.com/p/2068231/sp/206823100/embedIframeJs/uiconf_id/50380002/partner_id/2068231?iframeembed=true&playerId=kaltura_player_1657529513&entry_id=1_zdyx07u4" width="560" height="395" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" frameborder="0"></iframe>
```

##### V7 Dynamic Embed

```<div id="kaltura_player_621319997" style="width: 560px;height: 395px"></div>
<script type="text/javascript" src="https://cdnapisec.kaltura.com/p/2068231/embedPlaykitJs/uiconf_id/50575592"></script>
<script type="text/javascript">
try {
var kalturaPlayer = KalturaPlayer.setup({
targetId: "kaltura_player_621319997",
provider: {
partnerId: 2068231,
uiConfId: 50575592
}
});
kalturaPlayer.loadMedia({entryId: '1_zdyx07u4'});
} catch (e) {
console.error(e.message)
}
</script>
```

##### V7 IFrame Embed

```
<iframe type="text/javascript" src='https://cdnapisec.kaltura.com/p/2068231/embedPlaykitJs/uiconf_id/50575592?iframeembed=true&entry_id=1_zdyx07u4' style="width: 560px; height: 395px" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" frameborder="0"></iframe>
```

## Playback Engines

| Engine | mwEmbed | kaltura-player-js |
|-----------------------|-----------------------|-----------------------|
| HLS | Yes, hls.js, HLS-Flash | Yes, hls.js, HLS-Flash |
| MPEG-DASH | Yes, Shaka | Yes, Shaka |
| Progressive | Yes | Yes |
| HDS | Yes, Flash | No |
| MSS | Yes, Silverlight | No |
| Multicast | Yes, Silverlight | No |
| P2P | Yes, Various Partners | No |
| DRM | Yes, Kaltura uDRM | Yes, Kaltura uDRM |
| Offline Playback, No DRM | No | Yes |
| Offline Playback, With DRM | No | Yes, PWA based (Only in Desktop and Android) |

## Browsers Supported

| Browser | mwEmbed | kaltura-player-js |
|-------------------|-----------------------|-----------------------|
| Chrome Desktop | Yes, HTML5, Latest | Yes, HTML5, Latest |
| Firefox | Yes, HTML5, Latest | Yes, HTML5, Latest |
| Edge | Yes, HTML5, Latest | Yes, HTML5, Latest |
| Safari Mac | Yes, HTML5, v10+ | Yes, HTML5, v10+ |
| Safari iOS iPhone | Yes, Native, v9+ | Yes, Native, v9+ |
| Safari iOS iPad | Yes, HTML5, v9+ | Yes, HTML5, v9+ |
| Chrome Android | Yes, HTML5, v4.4+ | Yes, HTML5, v4.4+ |
| IE 11 | Yes, HTML5, Win8.1+, Flash-win7 | Yes, HTML5-Win8.1+, Flash-win7 |
| IE 9,10 | Yes, Flash, Win7+ | Yes, Flash, Win7+ (Not Tested) |

## Casting and TV

| Browser | mwEmbed | kaltura-player-js |
|-------------------|-----------------------|-----------------------|
| Chromecast | Yes | Yes |
| AirPlay | Yes | Yes |
| Samsung (Tizen, Orsay) | No | Yes |
| LG (WebOS, Netcast) | No | Yes |

## Tracks

### Text Tracks (Captions / Subtitles)

| Kind | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| WebVTT 608/708 (Manifest Embedded)| Yes | Yes |
| SRT file | Yes | Yes |
| DFXP file | Yes | No |

### Audio Tracks

| Kind | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Main Audio Tracks (Switch) | Yes | Yes |
| Overlay Audio (e.g. Descriptions) | No | No |

### Video Tracks (Multi bitrate)

| Kind | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Adaptive Bitrate Switching | Yes | Yes |
| Manual Flavor Selection | Yes | Yes |

## 360 and Virtual Reality

| Kind | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| 360 | Yes | Yes |
| Play in VR headset | Yes | Yes |

* Supported also in Native Android/iOS SDKs

## User Controls and UI

| Feature | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Saved User Preferences | Yes | Yes |
| Playback Rate (0.5x, 1x, 1.5x, 2x)| Yes | Yes |
| Big Play Button | Yes | Yes |
| FullScreen | Yes | Yes |
| Seekbar (With Thumbnails Preview) | Yes | Yes |
| Time Display | Yes | Yes |
| 10 Seconds Rewind | Yes | Yes |
| Volume Control | Yes | Yes |
| Replay | Yes | Yes |
| Watermark | Yes | Yes |
| Mobile Skin | Yes | Yes |
| i18n UI Translations | Yes | Yes |
| Playlist | Yes |Yes (No UI) |
| Share and Embed screen | Yes | Yes |
| Titlebar | Yes | H2 2019 |
| End of Playback Screen / Related | Yes | H1 2019 |
| Info Screen | Yes | N/A |
| Player.js / Embedly | Yes |H1 2019 |
| Report Abuse (Flag for moderator) | Yes | N/A |

## Selective Packaging of Plugins

All player plugins and capabilities (e.g. 360, Analytics, IMA Ads, etc.) are bundled selectively based on uiConnf json configuration. Below are not yet bundled selectively:

* Chromeless (don't load UI), currently requires pre-building a package or disabling UI but still loading it

## Accessibility - CVAA and ADA

| | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| CVAA Captions Style Controls | Yes | Yes |
| Keyboard Shortcuts / Navigation | Yes | Yes |
| Aria Tags (Screen Readers Support)| Yes | H3 2019 |

## Analytics

| 3rd Party System | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Kaltura Analytics (legacy) | Yes | Yes |
| Kaltura Analytics (Kava) | Yes | Yes |
| Akamai Media Analytics | Yes | Yes |
| Youbora (Nice People At Work) | Yes | Yes |
| Google Analytics | Yes | Yes |
| comScore | Yes | Yes |
| Adobe Analytics / Omniture | Yes | No |
| Nielsen | No | No |
| Marketo | Yes | No |
| Eloqua | Yes | No |

## Live

| Capability | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Playback and UI | Yes | Yes |
| DVR | Yes | Yes |
| Waiting Screen (isLive?) | Yes | Q1 2020 |

> See Interactivity and Use-Case Functionality for Webcasting.


## Advertising

| Ads System | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Google IMA - VAST/VPAID/VMAP | Yes, VAST and VPAID | Yes, VAST, VPAID and VMAP |
| Google IMA - DAI | No | Yes |

## Interactivity and Use-Case Functionality

| Functionality | mwEmbed | kaltura-player-js |
|-----------------------------------|-----------------------|-----------------------|
| Webcasting | Yes | Q1 2020 |
| Webcasting:Slides | Yes | Q1 2020 |
| Webcasting:Polls | Yes | Q1 2020 |
| Webcasting:QnA | Yes | Q1 2020 |
| In-Video Quizzes | Yes | No |
| Slides and Chapters | Yes | No |
| Dual-Stream | Yes | No |
| RaptMedia Interactive Branching | Yes | Yes |
| Call To Action | Yes | No |
| Hotspots | Yes | Q2 2019 |
| Marketo Form | Yes | No |
| Eloqua Form | Yes | No |