Brightcove recommends using one of the following ExoPlayer views:
Brightcove video views
The Brightcove video views provide the basic functionality for the video view:
- They are designed to be dropped into your XML Layout file to replace Android's VideoView widget.
- They provide public methods to mirror those from Android's VideoView widget.
- They provide additional logic for playlists.
Use the following table to choose the appropriate Brightcove video view:
|If You Are Using||Then...|
|DRM - Widevine Modular||
The BrigthcoveTextureVideoView cannot be used because Widevine requires hardware rendering, and the TextureView uses software rendering.
A plugin is not necessary since Widevine Modular support is built into the ExoPlayer.
These views use the ExoPlayer as the underlying video player, which has excellent support for HLS.
It is not recommended to use either BrightcoveVideoView or BrightcoveTextureVideoView. Both use the MediaPlayer as the underlying video player, which has poor support for HLS.
|DASH or Smooth Streaming||
These views use the ExoPlayer as the underlying video player, which supports these formats.
The MediaPlayer does not support these formats.
The TextureView uses software rendering. Since the SurfaceView uses hardware rendering, it does not support effects.
TextureView comes with a performance penalty due to increased CPU usage.
The BrightcoveTextureVideoView also supports effects, but is limited by the MediaPlayer known issues.
These views use the ExoPlayer as the underlying video player, which supports ID3 tags.
The MediaPlayer does not support ID3 tags.
|608-over-708 closed captions||
These views use the ExoPlayer as the underlying video player, which supports 608-over-708 closed caption tags.
The MediaPlayer does not support 608-over-708 closed captions.
For more details about these classes, refer to the Brightcove Player SDK for Android Reference documents.
Now that you have selected a video view, you are ready to learn about registering your app.