player-core1
v1.6.2
Published
Player SDK
Downloads
7
Readme
PlayerCore / BroadcastCore
PlayerCore is a cross platform video player that can play Twitch/IVS HLS streams and other types of media. PlayerCore is designed with a flexible architecture that can support different types of input and output media and run on almost any platform. See an overview of how it works here.
BroadcastCore is a cross platform broadcast client that can capture and encode video and audio from different sources and stream it to Twitch/IVS over RTMP.
APIs
| Platform | Player API | Broadcast API | Language | |----------|------------|---------------|----------------| | C++ | Player.hpp | BroadcastSession.hpp | C++ | | Web | mediaplayer.ts | N/A | Javascript | | Android | Player.java | BroadcastSession.java | Java | | iOS | IVSPlayer.h | IVSBroadcastSession.h | Objective-C |
Supported Platforms
Web
| Browser | Windows |Mac |Linux|Android| iOS | iPadOS | |----------|---------------------|----|-----|-------|-------------|--------| | Chrome | 63 | 63 | 63 | 63 | see Safari | 63 | | Firefox | 57 | 57 | 57 | 57 | see Safari | 57 | | Safari | - | 10 | - | - | 10 (no-mse) | 10 | | Edge | 44 (win 8.1+) | - | - | - | - | | | IE11 | 11.0.105 (win 8.1+) | - | - | - | - | | | Webkit | - | - | - | 4.4.4 | - | |
Native
| Platform | Minimum supported version | Playback | Broadcast | |----------|---------------------------|----------|-----------| | Android | 5.0 (Lollipop) | Y | Y | | iOS | iOS 10.0 | Y | Y | | tvOS | tvOS 10.2 | Y | N | | UWP | Build 17134 (version 1803)| Y | N | | PS4 | SDK 4.5 | Y | N |
Formats
The following containers and formats are currently supported:
| Container | AVC | HEVC | VP9 | AV1 | AAC | AC3 | PCM | |-----------|-----|------|-----|-----|-----|-----|-----| | MPEG2-TS | Y | N | N | N | Y | N | N | | CMAF/MP4 | Y | N | Y | Y | Y | N | N |
DRM
| Platform | Widevine | PlayReady | FairPlay | ClearKey | |----------|----------|-----------|----------|----------| | Android | Y | Y | - | Y | | iOS | - | - | TBD | - | | Chrome | Y | - | - | Y | | Firefox | Y | - | - | - | | Safari | - | - | TBD | - | | Edge | - | Y | - | - | | PS4 | N | - | - | - | | Xbox | - | N | - | - |
Code Coverage
|Platform | Coverage | |---------|----------| | Posix | |
Architecture overview
Code style
- Follow the WebKit coding style guidelines, with these exceptions:
- One line control statements should use braces
- Acronyms are not required to be in all uppercase
- Namespaces should be lower case
- Use
git clang-format
to format C++ code before committing