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

[Enhancement] Add Live Share support for DRM media players (Widevine, FairPlay, etc.) #14

Closed
corinagum opened this issue May 23, 2022 · 3 comments
Labels
enhancement New feature or request teams client work work related to Live Share that requires work on the Teams client

Comments

@corinagum
Copy link
Collaborator

corinagum commented May 23, 2022

The Teams desktop client does not currently support DRM. Our client currently runs in Electron, which has discontinued active support for the feature. We are investigating how to resolve this and will post updates here.

@corinagum corinagum added the enhancement New feature or request label May 23, 2022
@halbondmsft halbondmsft changed the title [Enhancement] Add Live Share support for other DRM'ed video players [Enhancement] Add Live Share support for DRM'ed video players May 23, 2022
@ryanbliss ryanbliss changed the title [Enhancement] Add Live Share support for DRM'ed video players [Enhancement] Add Live Share support for DRM media players (Widevine, FairPlay, etc.) May 23, 2022
@ryanbliss
Copy link
Contributor

Update on this topic:

Teams is a cross platform app that works on desktop, web, iOS, Android, and more; Widevine / DRM support varies by client. Last year, we announced that Teams is moving away from our current Electron-based desktop client in favor of Edge WebView2, starting with consumer users in Windows 11. While we haven't publicly announced a date for when that will roll out for Work and Education users, it is coming.

T1: Electron Desktop (Mac + Windows)

Our Electron client doesn't support Widevine, but it is technically possible. We've done a PoC using a castLabs fork of Electron for development builds, which is recommended by Electron. Using their 3PL partner status, castLabs has a CLI tool for this fork called EVS that supports self-serve app signing so that app builds can support production Widevine requirements.

Most of our meeting usage being in T1, so this is a major gap. With the transition to WebView2 incoming, major investments in T1 are scrutinized carefully. This work is not funded for our next fiscal year, but do let us know if your scenario requires it.

Web + T2: Edge WebView2 (Windows to start, Mac to follow)

One of the benefits we've found with our T2 client is that it does support Widevine out of the box. WebView2 uses a runtime bundled with the Edge browser, which already meets the Widevine specifications. In contrast, Electron bundles a separate Chromium runtime into each app, which means they need to be certified individually.

In the Chrome and Edge versions of Teams however, Widevine is supported today, but there is some work needed. To get the "encrypted-media" permission added to your tab app's iFrame, there is some work needed on your end. At a high level, you must first add the "media" permission to your app manifest and then programmatically request access to the permission. Here are a couple of documentation links that will help you get started:

iOS + Android:

DRM is supported on both iOS and Android, with FairPlay for iOS and Widevine for Android. Assuming your application supports the mobile browsers, it should work just fine in the WebView instances we host your app within.

We will consider this issue closed once DRM is supported in the Teams WebView2 desktop application for work and education customers. We will share more updates as we know more.

@ryanbliss ryanbliss added the teams client work work related to Live Share that requires work on the Teams client label Feb 21, 2023
@ryanbliss
Copy link
Contributor

Update: with the new Teams being GA'd as of last week, DRM is now technically supported. Currently, you must include the "media" permission in your app manifest for this to work. We are investigating improvements to this DevX, but it is at least possible now!

@ryanbliss
Copy link
Contributor

Closing since this is supported in the new Teams, if you have questions please let us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request teams client work work related to Live Share that requires work on the Teams client
Projects
None yet
Development

No branches or pull requests

2 participants