Error message

User warning: The following module is missing from the file system: fast_404. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1143 of /mnt/www/html/ooyala/docroot/includes/bootstrap.inc).

Cargar el reproductor para reanudación en dispositivos diferentes

Ooyala es compatible con la capacidad de iniciar contenido de vídeo en un dispositivo y reanudarlo en otro. Para una experiencia completa de reanudación en dispositivos diferentes, debe realizar lo siguiente:
  1. Cargue el reproductor para la cuenta de su proveedor específico (su cuenta debe tener un identificador único). De esta forma se guarda la posición de la última reproducción en los servidores de reanudación en dispositivos diferentes.
  2. Al cargar un reproductor para su cuenta de proveedor específico, se comprueba si el espectador ya ha visto la película parcialmente. Si es así, debe buscar programáticamente o avanzar rápidamente a la posición apropiada.

Esta API se basa en REST y requiere que usted firme todas sus consultas, tal como se describe en Algoritmos generales para firmar solicitudes.

Cargar la biblioteca del reproductor

Cargue la biblioteca del reproductor v3 tal como lo haría normalmente. Cuando crea un reproductor en el hash de opciones, debe pasar un código embebido que contenga el ID de cuenta. Por ejemplo:

<script src="http://player.ooyala.com/v3/PLAYER_BRANDING_ID"></script>
      

Ejemplo: Cargar un reproductor para un usuario específico

El siguiente código muestra cómo cargar un reproductor para un usuario típico, llamado Alice. Se guardará la posición de Alice en el vídeo en los servidores de reanudación en dispositivos diferentes.
Nota: Para obtener más información sobre la función generate_signature, consulte el Algoritmos generales para firmar solicitudes.
 
OO.Player.create('playerwrapper','<%= params[:embed_code] %>', {
  embedToken: "<%= signed_embed_code_url %>"
});


`signed_embed_code_url` is the following url that is generated server side. The sample code is in ruby but obviously doesn't have to be. It signs the url for account id "Alice"

  a
  uri = URI.parse("http://player.ooyala.com/sas/embed_token/#{pcode}/" +
             "#{embed_code}?"
                  "account_id=#{account_id}&" +
                  "api_key=#{api_key}&" +
                  "expires=#{Time.now.to_i + 60 * 60 * 24}")
  params_hash = {}
  uri.query.split("&").map { |pair| pair.split("=", 2) }.each do |key,value|
    params_hash[CGI.unescape(key).to_sym] = (value && CGI.unescape(value)) if (key && !key.empty? && value)
  end
  signature = generate_signature(secret, "GET", uri.path, params_hash,

"", [])
  return "#{uri.to_s}&signature=#{CGI.escape(signature)}"

Obtener la posición de reproducción

Existen dos maneras de obtener una posición de reproducción:
  • Para un vídeo específico de un usuario determinado
  • Para todos los vídeos de un usuario determinado
Nota: En la sintaxis de esta sección, account_id se refiere al identificador que utiliza para representar a su usuario final. El account_id que utiliza con las API de Ooyala debe ser único en sus propios sistemas. Por razones de privacidad, Ooyala recomienda que el account_id no esté relacionado con la información privada o personal de un usuario. Por ejemplo, un account_id como base64 sería preferible a una dirección de correo electrónico.

Para obtener la posición de reproducción para un vídeo específico de un usuario determinado:

[GET] http://api.ooyala.com/v2/cross_device_resume/accounts/account_id/viewed_assets/embed_code(identifier for the asset)/playhead_info

Respuesta:

{
    playhead_seconds: <position in seconds>,
    timestamp: <when the play event was received>
  }   

Para obtener la posición de reproducción para todos los vídeos vistos por un usuario determinado:

[GET] http://api.ooyala.com/v2/cross_device_resume/accounts/account_id/playhead_info?limit=max_number_results&start_date=yyyy-mm-dd

El parámetro limit es opcional y especifica el número máximo de resultados que se devolverán. El parámetro start_date también es opcional y especifica la fecha más antigua para la que se devuelven las reproducciones (la fecha de finalización será siempre el momento en que se llama a la API o el momento actual).

Respuesta:

{
  "items": [
    {
      "playhead_seconds": <position in seconds>,
      "timestamp": <when the play event was recieved>,
      "embed_code": <embed code>
    }
  ],
  "account": <account_id>
}

Buscar la posición de reproducción correcta

Para una transición sin problemas desde distintos dispositivos (o el mismo dispositivo), es necesario incluir algunos scripts para buscar la posición de reproducción correcta. Utilizar la opción initialTime del reproductor v3 puede ser una buena idea. Consulte la documentación de la API del reproductor para obtener información sobre cómo buscar una parte específica del vídeo. Puede encontrar la documentación del reproductor V3 en:
[GET] http://api.ooyala.com/v2/cross_device_resume/accounts/account_id/viewed_assets/embed_code/playhead_info

respuesta:

{
    playhead_seconds: <position in seconds>,
    timestamp: <when the play was event received>
  }