All Projects → kaltura → kaltura-player-android

kaltura / kaltura-player-android

Licence: AGPL-3.0 license
Kaltura Player is a rich, easy to integrate and easy to use video player for all media types and ad scenarios you need. - based on Google ExoPlayer

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to kaltura-player-android

kaltura-device-info-android
Kaltura Device Info
Stars: ✭ 26 (+18.18%)
Mutual labels:  exoplayer, drm, kaltura, playkit
kaltura-player-js
Kaltura Player JS Platform - Cloud TV and OVP Media Players
Stars: ✭ 83 (+277.27%)
Mutual labels:  player, kaltura, kaltura-player
Xamarinmediamanager
Cross platform Xamarin plugin to play and control Audio and Video
Stars: ✭ 647 (+2840.91%)
Mutual labels:  player, media, exoplayer
playkit-ios-samples
PlayKit Samples
Stars: ✭ 19 (-13.64%)
Mutual labels:  kaltura, playkit
cordova-plugin-exoplayer
Media player plugin for Cordova that uses Google's ExoPlayer
Stars: ✭ 48 (+118.18%)
Mutual labels:  media, exoplayer
shaka-player-react
A simple React component wrapper for shaka-player
Stars: ✭ 79 (+259.09%)
Mutual labels:  player, drm
Libvlc Go
Go bindings for libVLC and high-level media player interface
Stars: ✭ 188 (+754.55%)
Mutual labels:  player, media
reactjs-media
The reactjs media is a react package with awesome HTMLMediaElements that are recreated into react components with a good looking UI and fast UX.
Stars: ✭ 15 (-31.82%)
Mutual labels:  player, media
CommenPlayer
CommenPlayer ——Video player, Support ijkPlayer, Vlc, MediaPlayer, ExoPlayer; 视频播放器,支持ijkPlayer,Vlc,MediaPlayer,ExoPlayer
Stars: ✭ 81 (+268.18%)
Mutual labels:  player, exoplayer
flutter playout
AV Playout in Flutter
Stars: ✭ 129 (+486.36%)
Mutual labels:  player, exoplayer
HAudioPlayer
AVPlayer再封装,实现类网易云音乐播放动画效果
Stars: ✭ 15 (-31.82%)
Mutual labels:  player, media
media-player
An modern, clean media player built using web technologies
Stars: ✭ 44 (+100%)
Mutual labels:  player, media
playkit-js-ui
UI Application Framework for the PlayKit JS Player
Stars: ✭ 25 (+13.64%)
Mutual labels:  kaltura, playkit
Android-hls
最近公司产品需要,调研hls(m3u8) aes-128 解密播放 . 分析 51Cto, 慕课
Stars: ✭ 73 (+231.82%)
Mutual labels:  player, exoplayer
TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+409.09%)
Mutual labels:  player, media
Jcplayer
🎵 A simple audio player for Android applications.
Stars: ✭ 209 (+850%)
Mutual labels:  player, media
ARVI
Android library designed to simplify the implementation of the video autoplay in the RecyclerView
Stars: ✭ 69 (+213.64%)
Mutual labels:  player, exoplayer
Rise-Media-Player
One media player for everything you own or stream; whether it's music or videos, online or offline Rise Media Player does it all. And it's beautiful and native with the latest version of WinUI.
Stars: ✭ 600 (+2627.27%)
Mutual labels:  player, media
Ktvhttpcache
A powerful media cache framework.
Stars: ✭ 2,113 (+9504.55%)
Mutual labels:  player, media
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (+677.27%)
Mutual labels:  player, exoplayer

CI Status Download License Android

Kaltura Player for Android

Kaltura Player - This Playkit wrapper simplifies the player integration so that client applications will require less boilerplate code, which ensures a faster integration.

Kaltura Player Features:

Playback:

  • DASH
  • HLS
  • MP4
  • MP3
  • Multicast(udp)
  • Multiple Codecs support
  • Live / Live DVR
  • TrackSelection (Video/Audio/Text)
  • External subtitles
  • Player Rate
  • ABR Configuration
  • VR /360
  • Dash Instream Thumbnails
  • Change Media
  • Playlist
  • ID3 Timed Metadata
  • Screen recording blocking
  • Playback Adapter - allow app to change the manifest url query param or headers changes

DRM:

  • Widevine
  • Playready
  • DRM Adapter - allow app to change license url query param or headers changes

Analytics:

  • Kaltura Kava (Kaltura Advanced Video Analytics)
  • Phoenix Analytics
  • Youbora (NPAW)

Monitization:

  • IMA
  • DAI
  • Ad Schedualer
  • Ad Warterfalling
  • Ad-Hoc Ad playback

CDN:

  • Broadpeak
  • NPAW Smart Switch

Offline:

  • Download to go
  • Prefetch (preloading)

Casting:

  • Google Cast

Gradle Dependency: implementation 'com.kaltura.player:tvplayer:4.x.x' + add mavenCentral() in repositories section

This dependency already includes Playkit, Kava Analytics Player Providers and Download-to-Go libraries internally, so no need to add them to the client app's build.gradle.

Kaltura Player Migration Guide

Kaltura Player Docs

Kaltura Player OVP Samples

Kaltura Player OTT Samples

Kaltura Player Basic Player Samples

Kaltura Player Advanced Samples

Kaltura Player Offline Sample

Pre-requisite

Player Initialization

Client application should call a mandatory initialization method calls at the time of application Launch or in the project's Application class file or the SplashActivity.

KalturaPlayer.initializeOTT(this, OTT_PARNTER_ID, OTT_SERVER_URL); KalturaPlayer.initializeOVP(this, OVP_PARNTER_ID, OVP_SERVER_URL);

OTT Ex.

public static final String OTT_SERVER_URL = "https://rest-us.ott.kaltura.com/v4_5/"; public static final int OTT_PARNTER_ID = 3009;

Note:

Without calling the initialization code on startup KalturaPlayerNotInitializedError, error will be fired on the player.loadMedia callback phase.

Warmup

Application can use the warmup connections for its specific CDN servers URLs where the medias are hosted so a connection to the hosts will be opened and ready for use so all handshake process will be saved and media playback will be faster.

There should be only one URL per host, and the URLs should resolve to a valid pathnames. A good choice might be favicon.ico or crossdomain.xml after the host name.

If application wants to use connection warmer mechanism then this call will be placed at the time of application Launch or in the project's Application class file.

/*
Set the http provider. Valid options are "system" (use the build-in {@linkplain java.net.HttpURLConnection}) 
and "okhttp" (use Square's <a href="https://square.github.io/okhttp/">OkHttp</a> library).
*/ 
PKHttpClientManager.setHttpProvider("okhttp");
PKHttpClientManager.warmUp (
      "https://https://rest-us.ott.kaltura.com/crossdomain.xml",
      "http://cdnapi.kaltura.com/favicon.ico",
      "https://cdnapisec.kaltura.com/favicon.ico",
      "https://cfvod.kaltura.com/favicon.ico"
      );     

Kaltura Player configurations

Media Providers
  1. OTT
  2. OVP
  3. Basic (For those client apps which don't use Kaltura Backend)

Please check the samples for Media Providers here

Application should create PlayerInitOptions.

Initializing OTT/OVP Player

For initialization of OTT Player use OTT_PARTNER_ID and for initialization if OVP player useOVP_PARTNER_ID

Example:

val mediaOptions = buildMediaOptions()
        player?.loadMedia(mediaOptions) { entry, loadError ->
            if (loadError != null) {
                Snackbar.make(findViewById(android.R.id.content), loadError.message, Snackbar.LENGTH_LONG).show()
            } else {
                log.d("onEntryLoadComplete  entry = " + entry.id)
            }
}

OR

Initializing Basic Player

Example:
  fun loadPlaykitPlayer(pkMediaEntry: PKMediaEntry) {
        val playerInitOptions = PlayerInitOptions()

        player = KalturaBasicPlayer.create(this@MainActivity, playerInitOptions)
        player?.setPlayerView(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)

        val container = player_root
        container.addView(player?.playerView)
        player?.setMedia(pkMediaEntry, START_POSITION)
    }

Notes

In playerInitOptions the default value for player autoplay is true.

In playerInitOptions the default value for player media preload from the BE is true.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].