Reproductores incorporados de YouTube y parámetros del reproductor

Descripción general

En este documento se explica cómo insertar un reproductor de YouTube en una aplicación y se definen los parámetros disponibles en el reproductor incorporado de YouTube.

Anexar parámetros a la URL IFrame permite personalizar la experiencia de reproducción de una aplicación. Por ejemplo, es posible reproducir videos automáticamente con el parámetro autoplay o hacer que un video se reproduzca repetidamente con el parámetro loop. También puedes habilitar la API de JavaScript para el reproductor con el parámetro enablejsapi.

En esta página se definen todos los parámetros admitidos en cualquier reproductor incorporado de YouTube. En la definición de cada parámetro se identifican los reproductores compatibles con el parámetro correspondiente.

Nota: Los reproductores insertados deben tener una ventana gráfica de al menos 200px por 200px. Si el reproductor muestra controles, debe tener el tamaño suficiente para mostrar los controles por complete, sin reducir la ventana gráfica por debajo del tamaño mínimo. Recomendamos que los reproductores de 16:9 tengan al menos 480 píxeles de ancho y 270 píxeles de alto.

Cómo insertar un reproductor de YouTube

Puedes usar cualquiera de los siguientes métodos para incorporar un reproductor de YouTube en tu aplicación e indicar los parámetros del reproductor. Ten en cuenta que en las instrucciones a continuación se demuestra cómo incorporar un reproductor que carga solamente un video. En la siguiente sección se explica cómo configurar un reproductor para cargar otros tipos de contenido, como listas de reproducción y resultados de búsqueda.

Incorporaciones IFrame con etiquetas <iframe>

Define una etiqueta <iframe> en tu aplicación, en la cual la URL src especifica el contenido que carga el reproductor y otros parámetros del reproductor que desees establecer. Los parámetros height y width de la etiqueta <iframe> especifican la altura y el ancho del reproductor respectivamente.

Si optas por crear el elemento <iframe> tú mismo en vez de utilizar la API del reproductor de IFrame, puedes adjuntar los parámetros del reproductor directamente al final de la URL. El formato de la URL es el siguiente:

http://www.youtube.com/embed/VIDEO_ID

La etiqueta <iframe> que se muestra a continuación cargaría un reproductor de 640 x 360 px para reproducir el video de YouTube M7lc1UVf-VE. Debido a que la URL establece el parámetro autoplay en 1, el video se reproduciría automáticamente luego de cargar el reproductor.

<iframe id="ytplayer" type="text/html" width="640" height="360"
  src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
  frameborder="0"/>

Incorporaciones IFrame con la API del reproductor de IFrame

Sigue las instrucciones de la API del reproductor de IFrame para incorporar un reproductor de video en tu página web o aplicación luego de que finalice la carga del código JavaScript de la API del reproductor. El segundo parámetro del constructor del reproductor de video es un objeto que especifica las opciones del reproductor. Dentro de ese objeto, la propiedad playerVars identifica los parámetros del reproductor.

El siguiente código HTML y JavaScript muestra un ejemplo simple donde se incorpora un reproductor de YouTube en el elemento de página cuyo valor id es ytplayer. La función onYouTubePlayerAPIReady() que se especifica aquí se invoca automáticamente cuando se carga el código de la API del reproductor de IFrame. Este código no define ningún parámetro del reproductor ni tampoco otros controladores de eventos.

<div id="ytplayer"></div>

<script>
  // Load the IFrame Player API code asynchronously.
  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/player_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  // Replace the 'ytplayer' element with an <iframe> and
  // YouTube player after the API code downloads.
  var player;
  function onYouTubePlayerAPIReady() {
    player = new YT.Player('ytplayer', {
      height: '360',
      width: '640',
      videoId: 'M7lc1UVf-VE'
    });
  }
</script>

Cómo seleccionar contenido para reproducir

Puedes configurar el reproductor que incorporaste para que reproduzca un video, una lista de reproducción, los videos subidos de un usuario o los resultados de búsqueda de una consulta en particular.

Estas opciones se explican en la siguiente lista:

  • Cómo cargar un video

    Para las incorporaciones con IFrame, se especifica la identificación del video que quieres cargar en la URL src de IFrame.

    http://www.youtube.com/embed/VIDEO_ID

    Si usas la API de datos de YouTube (v3), puedes construir estas URL de manera programática al recuperar los ID de video desde los resultados de la búsqueda, recursos de elementos de la lista de reproducción, recursos de video u otros recursos. Después de obtener un ID de video, reemplaza el texto VIDEO_ID de las URL anteriores con ese valor para crear la URL del reproductor.

  • Cómo cargar una lista de reproducción

    Establece el parámetro listType del reproductor en playlist. Establece también el parámetro list del reproductor en el ID de la lista de reproducción de YouTube que deseas cargar.

    http://www.youtube.com/embed?listType=playlist&list=PLAYLIST_ID

    Ten en cuenta que es necesario anteponer las letras PL al ID de la lista de reproducción como se muestra en el siguiente ejemplo:

    http://www.youtube.com/embed?listType=playlist&list=PLC77007E23FF423C6

    Si usas la API de datos de YouTube (v3), puedes construir estas URL de manera programática al recuperar los ID de la lista de reproducción desde los resultados de la búsqueda, recursos de canal o recursos de actividad. Después de obtener un ID de la lista de reproducción, reemplaza el texto PLAYLIST_ID de la URL anterior con ese valor.

  • Cómo cargar los videos subidos de un usuario

    Establece el parámetro del reproductor listType en user_uploads. Además, establece el parámetro del reproductor list en el nombre de usuario de YouTube que subió esos videos que quieres cargar.

    http://www.youtube.com/embed?listType=user_uploads&list=USERNAME
  • Cómo cargar los resultados de búsqueda de una consulta especificada

    Establece el parámetro del reproductor listType en search. Establece también el parámetro del reproductor list en el término de consulta cuyos resultados de búsqueda deseas que se carguen en el reproductor.

    http://www.youtube.com/embed?listType=search&list=QUERY

Parámetros

Todos los parámetros que aparecen a continuación son opcionales.

Parameters

autoplay

Valores: 0 o 1. El valor predeterminado es 0. Define si el video inicial se reproduce automáticamente o no cuando se carga el reproductor.

cc_load_policy

Valores: 1. El valor predeterminado se basa en las preferencias del usuario. Si se establece en 1, los subtítulos opcionales se muestran de forma predeterminada, aun si el usuario desactivó los subtítulos.

color

Este parámetro especifica el color que se utiliza en la barra de progreso del reproductor para destacar la cantidad de video ya vista por el usuario. Los valores válidos de este parámetro son red y white. De forma predeterminada, la barra de progreso del video utiliza el color rojo. Consulta el blog de la API de YouTube para obtener más información sobre las opciones de colores.

Nota: Configurar el parámetro color en white desactiva la opción modestbranding.

controls

Valores: 0, 1 o 2. El valor predeterminado es 1. Este parámetro indica si se muestran o no los controles del reproductor de video. Para incorporaciones IFrame que cargan un reproductor Flash, también definen cuándo se muestran los controles en el reproductor, así como cuándo cargarán este último:

  • controls=0: Los controles del reproductor no se muestran en el reproductor. Para incorporaciones IFrame, el reproductor Flash carga de manera inmediata.
  • controls=1: Los controles del reproductor se muestran en el reproductor. Para incorporaciones IFrame, los controles se muestran inmediatamente y el reproductor Flash carga de la misma manera.
  • controls=2: Los controles del reproductor se muestran en el reproductor. Para incorporaciones IFrame, se muestran los controles y el reproductor Flash se carga después de que el usuario inicia la reproducción del video.

Nota: Está previsto que los valores 1 y 2 del parámetro proporcionen una experiencia de usuario idéntica, pero controls=2 proporciona una mejora del rendimiento sobre controls=1 para incorporaciones IFrame. Actualmente, los dos valores aún producen algunas diferencias visuales en el reproductor, como el tamaño de la fuente del título del video. Sin embargo, cuando la diferencia entre los dos valores es completamente evidente para el usuario, el valor predeterminado del parámetro puede cambiar de 1 a 2.

disablekb

Valores: 0 o 1. El valor predeterminado es 0. Establecer el valor en 1 desactiva los controles de teclado del reproductor. Los controles del teclado son los siguientes:

  • Barra espaciadora: permite reproducir/pausar.
  • Flecha izquierda: permite retroceder un 10% en el video actual.
  • Flecha derecha: permite avanzar un 10% en el video actual.
  • Flecha hacia arriba: permite subir el volumen.
  • Flecha hacia abajo: permite bajar el volumen.

enablejsapi

Valores: 0 o 1. El valor predeterminado es 0. Establecer este parámetro en 1 activa la API de JavaScript. Para obtener más información sobre la API de JavaScript y cómo usarla, consulta la documentación de la API de JavaScript.

end

Valores: un número entero positivo. Este parámetro especifica el tiempo, medido en segundos desde el inicio del video, en que el reproductor debe detener la reproducción del video. Ten en cuenta que el tiempo se mide desde el comienzo del video y no considerando el parámetro start del reproductor o el parámetro startSeconds, que se utiliza en las funciones de la API del reproductor de YouTube para cargar un video o ponerlo en cola.

fs

Valores: 0 o 1. El valor predeterminado es 1, que hace que aparezca el botón de pantalla completa. Establecer este parámetro en 0 evita que se muestre el botón de pantalla completa.

hl

Configura el idioma de la interfaz del reproductor. El valor del parámetro es un código de idioma ISO 639-1 de dos letras, aunque también se pueden manejar correctamente otros códigos de entrada de idioma, como las etiquetas de idioma IETF (BCP 47).

El idioma de la interfaz se usa para los tooltips en el reproductor y también afecta la pista de subtítulos predeterminada. Ten presente que YouTube podría seleccionar un idioma de pista de subtítulos diferente para un usuario en particular basándose en sus preferencias de idioma individuales y la disponibilidad de pistas de subtítulos.

iv_load_policy

Valores: 1 o 3. El valor predeterminado es 1. El valor 1 permite que las anotaciones del video se muestren de forma predeterminada, mientras que el valor 3 permite que las anotaciones del video no se muestren de forma predeterminada.

list

El parámetro list, junto al parámetro listType, identifica el contenido que se cargará en el reproductor.

  • Si el valor del parámetro listType es search, el valor del parámetro list especifica la consulta de búsqueda.
  • Si el valor del parámetro listType es user_uploads, el valor del parámetro list identifica el canal de YouTube cuyos videos subidos se cargarán.
  • Si el valor del parámetro listType es playlist, el valor del parámetro list especifica un ID de la lista de reproducción de YouTube. En el valor del parámetro, necesitas anteponer el ID de la lista de reproducción con las letras PL como se muestra en el siguiente ejemplo.
    http://www.youtube.com/embed?listType=playlist&list=PLC77007E23FF423C6

Nota: Si especificas los valores para los parámetros list y listType, no es necesario que la URL IFrame incorporada especifique un ID de video.

listType

El parámetro listType, junto al parámetro list, identifica el contenido que se carga en el reproductor. Los valores del parámetro válidos son playlist, search y user_uploads.

Si especificas los valores para los parámetros list y listType, no es necesario que la URL IFrame incorporada especifique un ID de video.

loop

Valores: 0 o 1. El valor predeterminado es 0. Si solo hay un reproductor de video y se establece un valor de 1, el reproductor reproduce el video inicial una y otra vez. En el caso de un reproductor de listas de reproducción (o reproductor personalizado), el reproductor reproduce la lista de reproducción completa y, a continuación, comienza nuevamente la reproducción del primer video.

Nota: La compatibilidad de este parámetro es limitada en el reproductor AS3 y en las incorporaciones IFrame, que podrían cargar el reproductor AS3 o el reproductor HTML5. Actualmente, el parámetro loop solo funciona con el reproductor AS3 cuando se usa junto al parámetro playlist. Para reproducir en bucle un solo video, establece el valor de parámetro loop en 1 y establece el valor del parámetro playlist en el mismo ID de video que se especifica en la URL de la API del reproductor:
http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID

modestbranding

Este parámetro te permite usar un reproductor de YouTube sin que se muestre un logotipo de YouTube. Establece el valor de parámetro en 1 para evitar que se muestre el logotipo de YouTube en la barra de control. Ten en cuenta que se seguirá mostrando una etiqueta pequeña de YouTube en la esquina superior derecha de un video en pausa cuando el cursor del mouse del usuario se desplace sobre el reproductor.

origin

Este parámetro entrega una medida de seguridad adicional para la API de IFrame y es compatible solamente con las incorporaciones IFrame. Si estás usando la API de IFrame, lo que significa que configuras el valor del parámetro enablejsapi en 1, siempre debes especificar tu dominio como el valor del parámetro origin.

playlist

El valor es una lista separada por comas de ID de videos para reproducir. Si especificas un valor, el primer video que se reproduce es aquel cuya identificación (VIDEO_ID) está especificada en la ruta de acceso de la dirección URL. Los videos especificados en el parámetro playlist se reproducen después.

playsinline

El parámetro controla si los videos se reproducen intercalados o en pantalla completa en un reproductor HTML5 en iOS. Los valores válidos son:

  • 0: Este valor hace que la reproducción sea en pantalla completa. Este valor es actualmente el valor predeterminado, aunque está sujeto a cambios.
  • 1: Este valor hace que la reproducción intercalada de UIWebViews que se creó con la propiedad allowsInlineMediaPlayback se configure en TRUE.

rel

Valores: 0 o 1. El valor predeterminado es 1. Este parámetro indica si el reproductor debe mostrar videos relacionados al finalizar la reproducción del video inicial.

showinfo

Valores: 0 o 1. El valor predeterminado del parámetro es 1. Si se establece el valor del parámetro en 0, el reproductor no muestra información como el título del video o el usuario que lo subió antes de comenzar la reproducción.

Si el reproductor está cargando una lista de reproducción y el valor del parámetro se establece explícitamente en 1, el reproductor muestra imágenes en miniatura de los videos de la lista de reproducción cuando se carga. Ten en cuenta que esta función es compatible solo con el reproductor AS3 debido a que es el único reproductor que puede cargar una lista de reproducción.

start

Valores: un número entero positivo. Este parámetro permite que el reproductor inicie la reproducción del video en el número exacto de segundos proporcionados desde el comienzo del video. Ten en cuenta que, de forma similar a la función seekTo, el reproductor busca el fotograma más cercano al momento especificado. Esto significa que en algunas ocasiones la reproducción comienza justo antes del tiempo solicitado, con un margen de aproximadamente dos segundos.

Historial de revisión

October 14, 2014

July 18, 2014

  • The new hl parameter can be used to set the player's interface language. The interface language is used for tooltips in the player and also affects the default caption track. The selected caption track may also depend on the availability of caption tracks and user's individual language preferences.

    The parameter's value is an ISO 639-1 two-letter language code, though other language input codes, such as IETF language tags (BCP 47) may also be handled properly.

  • The definition of the playsinline parameter, which only affects HTML5 players on iOS, has been modified slightly. The definition now notes that setting the parameter value to 1 causes inline playback only for UIWebViews created with the allowsInlineMediaPlayback property set to TRUE.

January 28, 2014

  • The playsinline parameter controls whether videos play inline or fullscreen in an HTML5 player on iOS. Setting the value to 1 causes inline playback.

  • The Selecting content to play section has been updated to explain how to find YouTube video IDs and playlist IDs using the YouTube Data API (v3) rather than the older API version.

  • The controls parameter's definition has been updated to reflect the fact that the parameter value only affects the time that the Flash player actually loads in IFrame embeds. In addition, for IFrame embeds, the parameter value also determines when the controls display in the player. If you set the parameter's value to 2, then the controls display and the Flash player loads after the user initiates the video playback.

May 10, 2013

This update contains the following changes:

July 20, 2012

This update contains the following changes:

  • The definition of the controls parameter has been updated to reflect support for a parameter value of 2 and to explain that, for AS3 players, the parameter value determines the time when the Flash player actually loads. If the controls parameter is set to 0 or 1, the Flash player loads immediately. If the parameter value is 2, the Flash player does not load until the video playback is initiated.

June 5, 2012

This update contains the following changes:

  • The HTML5 player now supports the color, modestbranding, and rel parameters, and the definitions for these parameters have been updated accordingly.

  • The definition of the showinfo parameter has been updated to explain how that if the player is loading a playlist, and you explicitly set the parameter value to 1, then, upon loading, the player will also display thumbnail images for the videos in the playlist. Note that this functionality is only supported for the AS3 player since that is the only player that can load a playlist.

May 4, 2012

This update contains the following changes:

  • The showinfo parameter's definition has been updated to reflect the fact that the HTML5 player supports this parameter.

May 3, 2012

This update contains the following changes:

  • The new end parameter specifies the time, measured in seconds from the start of the video, when the player should stop playing a video. Note that the time when playback is stopped is measured from the beginning of the video and not from the value of either the start player parameter or the startSeconds parameter, which is used in YouTube Player API functions for loading or queueing a video.

March 29, 2012

This update contains the following changes:

  • The new Embedding a YouTube player section explains different ways to embed a YouTube player in your application. This section covers manual IFrame embeds, IFrame embeds that use the IFrame Player API, and AS3 and AS2 object embeds. This section incorporates information from the old Example usage section, which has been removed.

  • The new Selecting content to play section explains how to configure the player to load a video, a playlist, search results for a specified query, or uploaded videos for a specified user.

  • The new list and listType parameters let you specify the content that the player should load. You can specify a playlist, a search query, or a particular user's uploaded videos.

  • The definitions of the fs and rel parameters have been updated to more clearly explain the default parameter values for the AS3 player.

  • The border, color1, egm, hd, and showsearch parameters, which are all only supported for the deprecated AS2 Player API, have been moved to a new section named deprecated parameters only used in the AS2 Player API.

  • The document no longer provides a way to filter the parameter list to only display parameters supported in either the AS3, AS2, or HTML5 player. Instead, each parameter definition has been updated to identify the players that support that parameter.

August 11, 2011

This update contains the following changes:

  • The new theme and color parameters let you customize the appearance of the embedded player's player controls. See the YouTube API blog for more information.

June 8, 2011

This update contains the following changes:

  • The new modestbranding parameter lets you use a YouTube player that does not show a YouTube logo. As of this release, the parameter was only supported for the AS3 embedded player and for IFrame embeds that loaded the AS3 player. As of June 5, 2012, the HTML5 player also supported this parameter.

February 14, 2011

This update contains the following changes:

  • The documentation has been updated to note that the AS2 Player API has been deprecated. The deprecation of the AS2 Player API was actually announced on October 14, 2009.

February 3, 2011

This update contains the following changes:

  • The documentation has been updated to identify parameters supported in the HTML5 (IFrame) embedded player.

  • The document now displays all of the parameters supported in any of YouTube's embedded players (HTML5, AS3, AS2).

  • The following parameters are supported in the AS2 player but have been deprecated for the newer AS3 and HTML5 players: border, color1, color2, egm, hd, and showsearch.

    In addition, the loop parameter has limited support in the AS3 player and in IFrame embeds, which could load either an AS3 or HTML player. Currently, the loop parameter only works in the AS3 player when used in conjunction with the playlist parameter. To loop a single video, set the loop parameter to 1 and set the playlist parameter value to the same video ID already specified in the Player API URL:

    http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID

    Similarly, the controls and playlist parameters are supported in the AS3 and HTML5 players but are not and will not be supported in the AS2 player.

    As noted above, IFrame embeds can load either an AS3 or HTML5 player. Though some parameters are not supported in both players, an IFrame embed that loads the AS3 player will support all parameters that work with that player and ignore all other parameters. Similarly, an IFrame embed that loads the HTML5 player will support all parameters that work with that player while ignoring all other parameters.

  • The parameter list has been updated to include the autohide parameter, which indicates whether the player's video controls will automatically hide after a video begins playing.

  • The parameter list has been updated to include the controls parameter, which indicates whether the player's video controls will display at all. (Player controls do display by default.)

  • The parameter list has been updated to include the playlist parameter, which specifies a comma-separated list of video IDs to play.

  • The definition of the fs has been updated to note that the fullscreen option will not work if you load the YouTube player into another SWF.

  • The example at the end of the document has been updated to use the embedded AS3 player instead of the embedded AS2 player. The parameters used in the example have also been updated to only include parameters that the AS3 player supports.

    In addition, the instructions for constructing the URLs that contain player parameters have been updated to reflect the URL formats used by the AS3 and AS2 embedded and chromeless players as well as by the HTML5 player.