soporte Contactar con asistencia técnica | estado del sistema Estado del Sistema

Incrustar API

Este tema lo ayudará a decidir cuándo y cómo usar las API de incrustación. La decisión de elegir entre usar el Player Las API de configuración frente a las API de inserción son importantes y el contenido de este documento lo guiará en estas decisiones.

¿Por qué usar las API de inserción?

Las API de inserción le permiten crear múltiples instancias de un particular player. Una buena forma de pensar en esto. player/ instancia de relación es como una relación padre / hijo. El soltero player es el padre y playerLos s creados con las API de inserción son hijos del padre player. El padre player tiene la mayor parte de las propiedades que desea que su player tener, y luego puede usar las API de inserción para personalizar subconjuntos de propiedades en diferentes elementos secundarios players. Por ejemplo, puede cargar diferentes medios o usar diferentes complementos y estilos con diferentes elementos secundarios players.

Los siguientes diagramas ayudan a aclarar la funcionalidad. Debajo del padre se muestra a la izquierda, y dos hijos players a la derecha. Observa eso:

  • El póster es heredado por ambos niños
  • La forma del botón de reproducción es heredada por el niño superior, mientras que se anula en el niño inferior
  • El hijo superior agrega una propiedad, en este caso una superposición, que el padre no tiene
Niño agrega propiedad
Niño agrega propiedad

Otra característica poderosa de esta relación padre / hijo es que la herencia está en curso. El siguiente diagrama muestra un nuevo póster asignado al padre, y ambos hijos heredarán ese cambio de configuración.

Los niños heredan cambios
Los niños heredan cambios

Cuándo NO usar las API de inserción

Si bien hay algunas buenas razones para usar las API de inserción si su caso de uso lo necesita, también hay algunas buenas razones para seguir con players. Aquí hay algunos:

  • Niño players no se pueden editar usando Video Cloud Estudio. Solo puedes editar niño players a través de Player Management API. Puedes editar el padre player de un niño player in Video Cloud Studio, sin embargo, un cambio realizado en el padre player afecta a todos los niños players.
  • Publicar un padre player puede llevar mucho tiempo si tienes muchos hijos players asociado con ese padre player. Cada niño player se publica por separado, y si tiene más de 30 hijos players, puede esperar algunos retrasos en su hijo player publicación. Este sería exactamente el mismo caso que publicar 30 regulares players al mismo tiempo.

Dadas las razones anteriores, puede tener sentido comenzar con el uso regular players, y luego probar incrustaciones cuando veas la necesidad de un niño players.

video tag data-embed

Hay diferencias notacionales en padre e hijo players. Incrustación estándar en la página player el código aparece en este formato:

    <video-js
      data-account="1507807800001"
      data-player="HiAdwRZ7kK"
      data-embed="default"
      controls=""
      data-application-id=""
      class="vjs-fluid"></video-js>

La data-embed el atributo determina si el player es padre o hijo Si el valor es default,el archivo MXNUMXXNUMX que quiere cargar en la app player es un padre Si el player es un niño, el data-embed el atributo contendrá la ID del padre player. Un ejemplo de eso sigue:

La data-embed el atributo determina si el player es padre o hijo Si el valor es default,el archivo MXNUMXXNUMX que quiere cargar en la app player es un padre Si el player es un niño, el data-embed el atributo contendrá la ID del padre player. Un ejemplo de eso sigue:

    <video-js
      data-account="1507807800001"
      data-player="HiAdwRZ7kK"
      data-embed="NURK56ZSV"
      data-application-id=""
      class="video-js" controls></video-js>

Tenga en cuenta que data-player, eso es el player ID, es lo mismo, pero el data-embed ha cambiado de default al niño playerID de

Niño player URL

¿Cómo se diferencia entre los padres? player y niño players? Las URL serán diferentes. Por ejemplo, un padre playerLa URL de es:

    //players.brightcove.net/1507807800001/HiAdwRZ7kK_default/index.min.js

Después de usar las API de inserción para crear un hijo player, el niño playerLa ID del usuario se agregó a la URL del padre, como se muestra aquí:

    //players.brightcove.net/1507807800001/HiAdwRZ7kK_NURK56ZSV/index.min.js

Caso de uso para padres / hijos

Suponga que usa video múltiple players. A menudo, las características comunes de la players son casi lo mismo, pero en algunos casos desea ajustar el player para casos especiales Podrías crear múltiples players usando el Player API de configuración con POST y PATCH métodos, pero esto podría conducir a problemas de mantenimiento importantes. Por ejemplo, supongamos que desea cambiar el póster de todos los players. Esto significaría usar PATCH en todos los diferentes players. Mientras que si creaste un niño players, solo lo harías PATCH el padre playery todo el niño players tendría automáticamente el nuevo póster.

Proceso de creación

Si has hecho el Paso a paso: Player Administración Usted ha visto el proceso de usar instrucciones curl para comunicar métodos HTTP a la Player Management API. El mismo enfoque será utilizado aquí.

Para crear un player lo más probable es que haya utilizado algunos métodos HTTP con el Player API de configuración, como:

  • crear el player utilizando un POST a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players
  • Actualizar el player utilizando un PATCH a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/configuration
  • Publicar el actualizado player utilizando un POST a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish

Se utilizará un enfoque similar para los niños. players utilizando las API de inserción. A un nivel muy alto, usted:

  • Crear un hijo player utilizando un POST a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/incrusta. Nota: niño players creados con las API de inserción auto publicadas en la creación, por lo que no es necesario publicar en el elemento secundario player creación, solo en niño player actualizar.
  • Actualiza al niño player utilizando un PATCH a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/Incrustaciones / $ EMBED_ID / configuración
  • Publica al niño player utilizando un POST a https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/Incrustaciones / $ EMBED_ID / publish

El siguiente contenido describe el proceso en detalle.

Crear niño player

Para crear un hijo player usa un HTTP POST método, como se muestra aquí:

    curl /
    --header "Content-Type: application/json" /
    --user $EMAIL /
    --request POST /
    --data '{
    "media": {
    "sources": [
      {
        "src":"http://solutions.brightcove.com/bcls/assets/videos/BirdsOfAFeather.mp4",
        "type":"video/mp4"
      }
    ],
    "poster": {
      "highres":"http://solutions.brightcove.com/bcls/assets/images/BirdsOfAFeather.jpg"
    }
    }
      }' /
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

Un ejemplo de respuesta al niño player la creación es la siguiente:

    {
        "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
        "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed",
        "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
    }

Nota: el niño player self publica en la creación, por lo que no es necesario publicar el elemento secundario player después de la creación Aún debes publicar hijo player si se altera con un PATCH método. En este punto, la información de vista previa no es útil, ya que puede usar el elemento secundario publicado player inmediatamente después de la creación.

Ahora puede usar el url propiedad del niño player para ver los resultados En el siguiente ejemplo, el niño player fue agregado al padre player creado en el paso a paso: Player Administración. Ves el nuevo póster y el video, pero el complemento de superposición del padre player sigue presente

Niño Player con superposición de padres
Niño Player con superposición de padres

Actualizar hijo player

Para actualizar al niño player usa un HTTP PATCH método. La siguiente instrucción curl actualiza el poster propiedad. Se supone que ha configurado el $EMBED_ID variable de entorno apropiadamente:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request PATCH
    --data '{
    "media": {
    "poster": {
      "highres":"http://solutions.brightcove.com/bcls/assets/images/Water-Splashing.jpg"
    }
    }
      }'
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/configuration
    

La respuesta proporciona información de vista previa para ambos preview_url y preview_embed_code código:

    {
        "preview_url": "http://preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "preview_embed_code": "<iframe src='//preview-players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c/be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>"
    }

Publicar niño player

Una vez que el niño player está alterado, deberá publicarlo. Asegúrese de que $EMBED_ID la variable de entorno se establece y luego puede publicar el hijo recién modificado player:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request POST
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID/publish

La respuesta proporciona la información vital necesaria para usar al niño. player, muy parecido a publicar un player hace:

    {
        "id": "be864624-8d85-4dfc-8fe6-4e9dd4c70417",
        "url": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html",
        "embed_code": "<iframe src='//players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
        "embed_in_page": "http://players.brightcove.net/1507807800001/668c5107-a80c-4940-8c17-279c01ce101c_be864624-8d85-4dfc-8fe6-4e9dd4c70417/in_page.embed"
    }

Mostrar información del niño

Puedes usar el HTTP GET método para recuperar la información sobre un niño player. Un ejemplo de declaración curl es:

    curl
      --header "Content-Type: application/json"
      --user $EMAIL
      --request GET
      https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds

Se devuelve una cantidad bastante grande de datos JSON.

Eliminar niño players

También puedes borrar un niño player mediante el uso de la DELETE método. Aquí hay un ejemplo de declaración curl para eliminar un hijo player:

    curl
    --header "Content-Type: application/json"
    --user $EMAIL
    --request DELETE
    https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/embeds/$EMBED_ID

Por supuesto, esto afectará solo al niño player y no el padre player.


Página actualizada por última vez el 12 jun 2020