Objetos de video y lista de reproducción de JSON

En este tema, aprenderá cómo crear videos reproducibles y objetos de listas de reproducción llamando a métodos auxiliares en Brightcove Native SDK para Android con los datos en formato JSON requeridos.

Resumen

A partir de la versión 6.2.0+, Brightcove Native SDK para Android admite métodos para crear vídeos y objetos de listas de reproducción a partir de un objeto JSON.

Esto es útil si desea utilizar un proxy del lado del servidor para recuperar videos y datos de listas de reproducción de su cuenta de Brightcove. Con este enfoque, no expondrá sus claves de política en el lado del cliente de sus aplicaciones.

Para crear un objeto de lista de reproducción y video reproducible, haga lo siguiente:

  1. Opcional: Realice una llamada del lado del servidor a la API de reproducción para devolver los datos de su video o lista de reproducción.
  2. Cree un objeto con formato JSON basado en los campos obligatorios a continuación.
  3. Pase el objeto con formato JSON y llame al método apropiado para crear lo siguiente:
  4. Cargue el video o la lista de reproducción devueltos en su reproductor.

Objetos de video

Para crear un objeto de video, pase la siguiente información al buildVideoFromJSON() método:

Campo Descripción
account_id La identificación de la cuenta asociada con el video.
id La identificación del video
sources Una matriz JSON de fuentes de video. Cada fuente de la matriz debe tener:
  • Un campo src con una URL válida para el contenido.
  • Para contenido HLS o DASH, un campo de tipo con el tipo mime del contenido
  • Para contenido MP4, un campo contenedor con el valor MP4
duration La duración del video en milisegundos

Cuando su proxy del lado del servidor devuelva datos de video, cree una cadena de objeto JSON con los valores especificados en la tabla anterior.

{
  "account_id": "3636334163001",
  "sources": [
  {
    "src": "http://f1.media.brightcove.com/4/36356334163001/3636334163001_3637454559001_Cascada-Teaser.mp4",
    "container": "MP4"
  }, {
    "type": "application/x-mpegURL",
    "src": "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8"
  }],
  "id": "3637780364001",
  "duration": 74700
}

Convierta la cadena JSON en un objeto JSON y páselo al buildVideoFromJSON() método:

try {
   JSONObject jsonObject = new JSONObject(response);
   Video video = VideoParser.buildVideoFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

Objetos de la lista de reproducción

Para crear un objeto de lista de reproducción, pase la siguiente información al buildPlaylistFromJSON() método:

Campo Descripción
account_id La identificación de la cuenta asociada con el video.
id La identificación del video
videos Una matriz JSON de objetos de video. Esto incluye los campos obligatorios como se describe en el Objetos de video sección.
duration La duración del video en milisegundos

Cuando su proxy del lado del servidor devuelva datos de la lista de reproducción, cree una cadena de objeto JSON con los valores especificados en la tabla anterior.

{
  "id": "4970066630001",
  "account_id": "3636335163001",
  "name": "token auth playlist",
  "videos": [{
    "account_id": "3636335763001",
    "id": "4973773347001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "https://brightcove.hs.llnwd.net/v2/unsecured/media/3636334163001/201606/1923/3636334163001_4973820156001_4973773237001.mpd"
    }],
    "duration": 29000
    },
    {
    "account_id": "3636334463001",
    "id": "4973766826001",
    "sources": [{
      "type": "application/dash+xml",
      "src": "http://brightcove.vo.llnwd.net/v1/unsecured/media/3636334163001/201606/2933/3636334163001_4973816542001_4973737826001.mpd"
    }],
    "duration": 29000
    }
  ]
}

Convierta la cadena JSON en un objeto JSON y páselo al buildPlaylistFromJSON() método:

try {
   JSONObject jsonObject = new JSONObject(response);
   Playlist playlist = VideoParser.buildPlaylistFromJSON(jsonObject, eventEmitter);
  } catch (JSONException e) {
    e.printStackTrace();
  } catch (VideoParseException e) {
    e.printStackTrace();
  }

Notas

Si su contenido se rige por TTL (Tiempo de vida) y desea crear un objeto de video de larga duración, deberá asegurarse de que se siga reproduciendo. Esto se configura en la CDN que está utilizando.