Diferencia entre revisiones de «Usuario:Juanda/videohtml5/Introducción»
De WikiEducator
Línea 18: | Línea 18: | ||
<div class="slide"> | <div class="slide"> | ||
− | === Bancos de fotografías=== | + | ==== Bancos de fotografías==== |
*Algunos clásicos y más caros, por ejemplo [http://www.corbisimages.com/ Corbis] | *Algunos clásicos y más caros, por ejemplo [http://www.corbisimages.com/ Corbis] | ||
*Otros, los llamados microstocks más amateur pero con precios más reducidos: | *Otros, los llamados microstocks más amateur pero con precios más reducidos: | ||
Línea 25: | Línea 25: | ||
: http://www.fotolia.com | : http://www.fotolia.com | ||
: http://www.bigstockphoto.com/ | : http://www.bigstockphoto.com/ | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
*La elección de imágenes puede llevar mucho tiempo y es vital para el aspecto final de nuestra web. | *La elección de imágenes puede llevar mucho tiempo y es vital para el aspecto final de nuestra web. | ||
*Ejemplos de imágenes para webs de accidentes de tráfico: | *Ejemplos de imágenes para webs de accidentes de tráfico: | ||
Línea 35: | Línea 38: | ||
<div class="slide"> | <div class="slide"> | ||
− | ==Optimización de imágenes== | + | ====Optimización de imágenes==== |
*Podemos utilizar PageSpeed de Google | *Podemos utilizar PageSpeed de Google | ||
*Podemos instalar algún software como [http://trimage.org/ trimage]: | *Podemos instalar algún software como [http://trimage.org/ trimage]: | ||
Línea 46: | Línea 49: | ||
<div class="slide"> | <div class="slide"> | ||
− | ==Imágenes en dispositivos== | + | ====Imágenes en dispositivos==== |
*Útil para dar un aspecto más moderno y tecnológico | *Útil para dar un aspecto más moderno y tecnológico | ||
*Muy usado en programas de software, mostrando por ejemplo una aplicación dentro de un ipad | *Muy usado en programas de software, mostrando por ejemplo una aplicación dentro de un ipad | ||
Línea 57: | Línea 60: | ||
: http://goo.gl/aLuT6e | : http://goo.gl/aLuT6e | ||
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
− | ==Tratamiento de imágenes desde consola== | + | ====Tratamiento de imágenes desde consola==== |
*Instalaremos el [http://www.imagemagick.org/ paquete imagemagick] para tratar las imágenes: | *Instalaremos el [http://www.imagemagick.org/ paquete imagemagick] para tratar las imágenes: | ||
<source lang="bash"> | <source lang="bash"> | ||
Línea 71: | Línea 72: | ||
$ convert rose.jpg rose.png | $ convert rose.jpg rose.png | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Especificar el nivel de compresión para imágenes jpg (de 0 a 100, por defecto 92): | *Especificar el nivel de compresión para imágenes jpg (de 0 a 100, por defecto 92): | ||
<source lang="bash"> | <source lang="bash"> | ||
convert howtogeek.png -quality 95 howtogeek.jpg | convert howtogeek.png -quality 95 howtogeek.jpg | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Cambiar el tamaño de las imágenes: | *Cambiar el tamaño de las imágenes: | ||
: En este caso se sobreescribe la imagen original | : En este caso se sobreescribe la imagen original | ||
Línea 81: | Línea 88: | ||
convert example.png -resize 200×100 example.png | convert example.png -resize 200×100 example.png | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
:En este caso la imagen no guardará la proporción (por la exclamación): | :En este caso la imagen no guardará la proporción (por la exclamación): | ||
<source lang="bash"> | <source lang="bash"> | ||
Línea 89: | Línea 99: | ||
convert example.png -resize 200 example.png | convert example.png -resize 200 example.png | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
:Alto 100, ancho según proporciones de la imagen: | :Alto 100, ancho según proporciones de la imagen: | ||
<source lang="bash"> | <source lang="bash"> | ||
convert example.png -resize x100 example.png | convert example.png -resize x100 example.png | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Procesos en batch: | *Procesos en batch: | ||
:En este caso rotamos todas las imágenes de tipo png del directorio actual 90º y las guardamos con el prefijo "rotated" | :En este caso rotamos todas las imágenes de tipo png del directorio actual 90º y las guardamos con el prefijo "rotated" | ||
Línea 104: | Línea 120: | ||
<div class="slide"> | <div class="slide"> | ||
− | + | =Video y audio en html5= | |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Añadir video en navegadores actuales=== | + | ====Añadir video en navegadores actuales===" |
</div> | </div> | ||
+ | |||
+ | |||
<div class="slide"> | <div class="slide"> | ||
*Antes de html5 no había ningún estándar para el video. | *Antes de html5 no había ningún estándar para el video. | ||
Línea 119: | Línea 137: | ||
</source> | </source> | ||
*El navegador mostrará los controles básicos para reproducir o pausar el video. | *El navegador mostrará los controles básicos para reproducir o pausar el video. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | |||
*Desgraciadamente la etiqueta <video> no funciona en todos los navegadores: | *Desgraciadamente la etiqueta <video> no funciona en todos los navegadores: | ||
<pre> | <pre> | ||
Línea 125: | Línea 147: | ||
</pre> | </pre> | ||
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
− | ===Formatos de video=== | + | ====Formatos de video==== |
*Se pueden indicar varios sources por si el navegador no es capaz de reproducir uno de ellos | *Se pueden indicar varios sources por si el navegador no es capaz de reproducir uno de ellos | ||
*El navegador lo intentará con el primero, luego con el segundo.... | *El navegador lo intentará con el primero, luego con el segundo.... | ||
Línea 149: | Línea 169: | ||
</source> | </source> | ||
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
Línea 166: | Línea 184: | ||
<div class="slide"> | <div class="slide"> | ||
− | === Video Containers === | + | ==== Video Containers ==== |
*Muchas veces pensamos en un fichero .avi o .mp4 como si fuera un video, pero realmente es un formato contenedor. | *Muchas veces pensamos en un fichero .avi o .mp4 como si fuera un video, pero realmente es un formato contenedor. | ||
*Un fichero contenedor es como un fichero .zip y en el caso del video contiene un stream de video y otro de audio. | *Un fichero contenedor es como un fichero .zip y en el caso del video contiene un stream de video y otro de audio. | ||
Línea 176: | Línea 194: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Video Codecs=== | + | ====Video Codecs==== |
*Los streams de video y audio se codifican y se almacenan en un container. | *Los streams de video y audio se codifican y se almacenan en un container. | ||
*A la hora de reproducirlos, primero el reproductor debe interpretar el formato del container y luego decodificar el video y el audio | *A la hora de reproducirlos, primero el reproductor debe interpretar el formato del container y luego decodificar el video y el audio | ||
Línea 185: | Línea 203: | ||
<div class="slide"> | <div class="slide"> | ||
− | ====H264==== | + | =====H264===== |
*También se conoce como MPEG-4 Advanced Video Coding. | *También se conoce como MPEG-4 Advanced Video Coding. | ||
*Tiene diferentes perfiles de codificación en función de la calidad del video final generado: Baseline, Main y High profiles | *Tiene diferentes perfiles de codificación en función de la calidad del video final generado: Baseline, Main y High profiles | ||
Línea 194: | Línea 212: | ||
<div class="slide"> | <div class="slide"> | ||
− | ====THEORA==== | + | =====THEORA===== |
*Sin ningún tipo de patentes | *Sin ningún tipo de patentes | ||
*En cualquier container, normalmente en ficheros .ogg | *En cualquier container, normalmente en ficheros .ogg | ||
Línea 200: | Línea 218: | ||
<div class="slide"> | <div class="slide"> | ||
− | ====VP8==== | + | =====VP8===== |
*Comprado por Google y liberada la patente. | *Comprado por Google y liberada la patente. | ||
</div> | </div> | ||
Línea 207: | Línea 225: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Audio Codecs=== | + | ====Audio Codecs==== |
*Como los codecs de video existen con o sin pérdida | *Como los codecs de video existen con o sin pérdida | ||
*Como en los de video, para la web nos interesan los que tienen perdida (pero a su vez menor peso) | *Como en los de video, para la web nos interesan los que tienen perdida (pero a su vez menor peso) | ||
*Nos centraremos en los codecs generales (hay específicos por ejemplo para telefonía). | *Nos centraremos en los codecs generales (hay específicos por ejemplo para telefonía). | ||
*Al descodificar el audio mandamos los datos del stream de audio a los altavoces | *Al descodificar el audio mandamos los datos del stream de audio a los altavoces | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Los audios tienen canales (los videos no): cada altavoz se alimenta de un channel del stream de audio. | *Los audios tienen canales (los videos no): cada altavoz se alimenta de un channel del stream de audio. | ||
*Los codecs de propósito general codifican normalmente 2 canales. | *Los codecs de propósito general codifican normalmente 2 canales. | ||
Línea 223: | Línea 244: | ||
*Distintos bitrates 64kbps, 128kbps, 192kbps | *Distintos bitrates 64kbps, 128kbps, 192kbps | ||
*A mayor bitrate el fichero será más pesado y tendrá más calidad de audio | *A mayor bitrate el fichero será más pesado y tendrá más calidad de audio | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*El bitrate y la calidad de audio no tienen una relación lineal: | *El bitrate y la calidad de audio no tienen una relación lineal: | ||
:128kbps se oye con más del doble de calidad que 64kbps | :128kbps se oye con más del doble de calidad que 64kbps | ||
Línea 263: | Línea 287: | ||
</pre> | </pre> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
*MP4: [http://caniuse.com/#feat=mpeg4 Principalmente para IE y Safari]. | *MP4: [http://caniuse.com/#feat=mpeg4 Principalmente para IE y Safari]. | ||
*WebM: [http://caniuse.com/#feat=webm Opera, Firefox y Google Chrome] | *WebM: [http://caniuse.com/#feat=webm Opera, Firefox y Google Chrome] | ||
*Ogg: [http://caniuse.com/#feat=ogv Opera, Firefox y Google Chrome] | *Ogg: [http://caniuse.com/#feat=ogv Opera, Firefox y Google Chrome] | ||
− | |||
*[http://www.longtailvideo.com/html5/ Situación actual] | *[http://www.longtailvideo.com/html5/ Situación actual] | ||
</div> | </div> | ||
+ | |||
+ | |||
<div class="slide"> | <div class="slide"> | ||
− | ===Configuración servidor web=== | + | ====Configuración servidor web==== |
*El servidor web tiene que tener los mime types configurados para la reproducción de videos en algún navegador | *El servidor web tiene que tener los mime types configurados para la reproducción de videos en algún navegador | ||
*Será lo que envíe en el header como content-type y que el navegador puede requerir. | *Será lo que envíe en el header como content-type y que el navegador puede requerir. | ||
Línea 287: | Línea 314: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Decodificación de Vídeo=== | + | ====Decodificación de Vídeo==== |
* ¿livav o ffmpeg? [http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html Ver resumen de problemática] | * ¿livav o ffmpeg? [http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html Ver resumen de problemática] | ||
* Por defecto Ubuntu funciona con livav. | * Por defecto Ubuntu funciona con livav. | ||
Línea 298: | Línea 325: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Video responsivo=== | + | ====Video responsivo==== |
*Declarar dimensiones "estáticas" no es buena idea: | *Declarar dimensiones "estáticas" no es buena idea: | ||
<source lang="html4strict"> | <source lang="html4strict"> |