En ocasiones cuando estás viendo un vídeo en Internet te puede resultar interesante poder cambiar su velocidad de reproducción. Es posible que sea un vídeo muy rápido y que quieras verlo a cámara lenta para poder percibir mejor ciertos detalles. O quizá todo lo contrario y lo que quieras es pasarlo a mayor velocidad para verlo entero en menos tiempo: Los vídeos a 1.25x se entienden casi tan bien como los vídeos a velocidad normal pero tardas mucho menos en verlos. Simple productividad ;-)
La cuestión es que algunos servicios como YouTube sí que permiten variar la velocidad de reproducción de los vídeos, aunque es una opción que está bastante escondida. Otros como Vimeo, sin embargo, no permiten variar la velocidad de reproducción, y además dicen que no tienen intención de soportar esta característica tampoco. En otras ocasiones el vídeo está simplemente embebido en una página y no nos ofrece controles de ningún tipo para controlarlo.
Un buen programador jamás se resigna, y busca formas de "hackear" los sistemas y saltarse estas limitaciones. Así que he creado un bookmarklet (es decir, un pequeño script que puedes arrastrar a los favoritos de tu navegador) que habilita un control de velocidad de reproducción en cualquier vídeo HTML que haya en una página.
Para añadirlo a tu navegador solo tienes que mostrar la barra de favoritos de tu navegador, y arrastrar encima el siguiente botón (en el segundo vídeo más abajo se ve cómo hacerlo, por si tienes dudas):
A partir de este momento, cuando estés en cualquier página que contenga vídeos HTML, bastará con que pulses ese nuevo enlace para que se añada automáticamente un control de velocidad a los vídeos de la página, pudiendo variar la velocidad de reproducción a voluntad.
En el siguiente vídeo tienes una explicación de cómo utilizar este bookmarklet en varias situaciones diferentes, y cómo puedes sacarle partido en webs conocidas como Youtube o Vimeo:
Finalmente, para los más técnicos, en el siguiente vídeo muestro el código con detalle, explicando cómo he construido toda la aplicación. Se trata de código JavaScript auto-contenido, sin ninguna dependencia de bibliotecas de terceros como jQuery. Aunque es un código relativamente simple, utiliza algunos conceptos avanzados de programación JavaScript como clausuras, funciones pre-configuradas, y funciones auto-ejecutables:
¡Espero que lo encuentres útil!