2012-04-28 21 views
5

Cuando uso la URL oembed en mi código PHP y extraigo $video->width y $video->height de mi video cargado, obtengo valores que no coinciden con nada que haya visto asociado a mi video de Youtube.Youtube oembed: ¿Cómo calcula los valores de 'ancho' y 'altura'?

  • http://youtu.be/p7ftPYU2_0w

  • dimensiones del vídeo original, como se subidos a Youtube: 640 x 336

  • oEmbed devuelve: 480 x 270

  • opción de inserción más pequeño cuando comparten desde la interfaz de usuario de la página de Youtube: 560 x 316

¿Alguien sabe dónde oembed obtiene estos valores? ¿Por qué es predeterminado a 480? ¿Hay alguna manera de obtener las dimensiones de video verdadero o, por lo menos, superar las predeterminadas hasta 640 x [proportional_height]?

Mi objetivo es preservar las dimensiones nativas del video (sin escala) al incrustar en mi sitio web, sin usuarios realmente necesidad de llave en las dimensiones del vídeo de nuevo.

Respuesta

0

Siempre puede ajustar eso usando CSS.

0

intentar algo como esto

<iframe title="YouTube video player" width="727" height="430" src='http://www.youtube.com/embed/p7ftPYU2_0w' frameborder="0"></iframe> 

Por lo que yo sé, no hay manera de conseguir la altura del vídeo desde incrustación. Podrías usar jquery para obtener la altura del jugador cuando la página se carga e ir desde allí.

2

Youtube podría generar un contenido que podría proporcionar para insertar contenido en lugar del video original. El ancho y alto del contenido generado podría ser 480 x 270. Entonces, la api oEmbed podría devolver este valor siempre. AFIK no hay forma de obtener la dimensión original de un valor de video desde el lado de la API a menos que o hasta que el proveedor lo proporcione.

Puede intentar ajustar el ancho y el tamaño del video con la ayuda de jquery y css.

oEmbed especificación dice maxwidth y maxheight se pueden dar params al solicitar la API. Entonces, podríamos restringir el ancho y alto máximo del video.

Espero que ayude!

Cuestiones relacionadas