Android: Choosing a Video View

In this topic, you will learn how to select the video view to use in your Android application.

Recommendations

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

Use BrightcoveExoPlayerVideoView

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.

HLS

Use BrightcoveExoPlayerVideoView or BrightcoveExoPlayerTextureVideoView

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

Use BrightcoveExoPlayerVideoView or BrightcoveExoPlayerTextureVideoView

These views use the ExoPlayer as the underlying video player, which supports these formats.

The MediaPlayer does not support these formats.

effects

Use BrightcoveExoPlayerTextureVideoView

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.

ID3 tags

Use BrightcoveExoPlayerVideoView or BrightcoveExoPlayerTextureVideoView

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

Use BrightcoveExoPlayerVideoView or BrightcoveExoPlayerTextureVideoView

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.