Hacer cache de los videos de youtube y demás con Debian + Squid + Apache2 + Videocache 1.9.2
Ha algún tiempo publiqué un pequeño "joutú" para limitar la velocidad de descarga de ciertas extensiones y contenido con squid.
Hace unos días he estado probando esta herramienta llamada Videocache que en verdad promete mucho. Con Videocache se pueden almacenar en nuestro servidor los videos de algunos sitios como:
- youtube.com
- googlevideo.com
- metacafe.com
- dailymotion.com
- video.google.com
- vimeo.com
- soapbox.msn.com
- blip.tv
- break.com
- tvuol.uol.com.br
- Red Tube
- X Tube Videos
- You Pron Videos
- Tube8 Videos
Lo he probado durante la última semana y hasta ahora no me puedo quejar de su desempeño y los usuarios tampoco, ya que un video que vió uno y lo compartió por email en cadena a los demás usuarios es visualizado fluido y sin cortes 
Mas información sobre este aplicación y como ayudar en su crecimiento la pueden encontrar en:
http://cachevideos.com/
Para poder utilizar Videocache debemos contar con un squid configurado y funcionando, apache2, Python y un par de módulos adicionales.
Instalamos dependencias:
aptitude install python-urlgrabber Descargarmos e instalamos iniparse:
cd /usr/src
wget http://iniparse.googlecode.com/files/python-iniparse_0.3.1-1_all.deb
dpkg -i python-iniparse_0.3.1-1_all.debDescargamos y descomprimimos videocache:
cd /usr/src
wget http://cachevideos.com/sites/default/files/pub/videocache/videocache-1.9.2.tar.gz
tar zvxf videocache-1.9.2.tar.gzTambién se puede utilizar GIT:
aptitude install git-corecd /usr/src
git clone http://git.cachevideos.com/videocache.git
ln -sf /usr/src/videocache videocache-1.9.2Modificamos las siguientes variables en el archivo instalador de videocache /usr/src/videocache-1.9.2/setup.py
squid_user = 'proxy'
squid_group = 'proxy'
install_dir = '/usr/share/'
apache_conf_dir = '/etc/apache2/conf.d/'También se deben modificar la misma información en /usr/src/videocache-1.9.2/update-vc
Una vez editado ejecutamos el instalado:
cd /usr/src/videocache-1.9.2
python setup.py installCreamos una acl en /etc/squid/squid.conf para que el servidor pueda guardar los videos, para ilustrar el ejemplo vamos a suponer que nuestro servidor tiene la ip 192.168.0.1 :
acl proxy src 192.168.0.1 # 192.168.0.1. es la ip de nuestro proxy
http_access allow proxyAgregamos al final de nuestro /etc/squid/squid.conf :
# --BEGIN-- videocache config for squid
url_rewrite_program /usr/bin/python /usr/share/videocache/videocache.py
url_rewrite_children 10
acl videocache_allow_url url_regex -i \.youtube\.com\/get_video\?
acl videocache_allow_url url_regex -i \.youtube\.com\/videoplayback \.youtube\.com\/videoplay \.youtube\.com\/get_video\?
acl videocache_allow_url url_regex -i \.youtube\.[a-z][a-z]\/videoplayback \.youtube\.[a-z][a-z]\/videoplay \.youtube\.[a-z][a-z]\/get_video\?
acl videocache_allow_url url_regex -i \.googlevideo\.com\/videoplayback \.googlevideo\.com\/videoplay \.googlevideo\.com\/get_video\?
acl videocache_allow_url url_regex -i \.google\.com\/videoplayback \.google\.com\/videoplay \.google\.com\/get_video\?
acl videocache_allow_url url_regex -i \.google\.[a-z][a-z]\/videoplayback \.google\.[a-z][a-z]\/videoplay \.google\.[a-z][a-z]\/get_video\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/videoplayback\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/videoplay\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/get_video\?
acl videocache_allow_url url_regex -i proxy[a-z0-9\-][a-z0-9][a-z0-9][a-z0-9]?\.dailymotion\.com\/
acl videocache_allow_url url_regex -i vid\.akm\.dailymotion\.com\/
acl videocache_allow_url url_regex -i [a-z0-9][0-9a-z][0-9a-z]?[0-9a-z]?[0-9a-z]?\.xtube\.com\/(.*)flv
acl videocache_allow_url url_regex -i bitcast\.vimeo\.com\/vimeo\/videos\/
acl videocache_allow_url url_regex -i va\.wrzuta\.pl\/wa[0-9][0-9][0-9][0-9]?
acl videocache_allow_url url_regex -i \.files\.youporn\.com\/(.*)\/flv\/
acl videocache_allow_url url_regex -i \.msn\.com\.edgesuite\.net\/(.*)\.flv
acl videocache_allow_url url_regex -i media[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/ mobile[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/
acl videocache_allow_url url_regex -i \.mais\.uol\.com\.br\/(.*)\.flv
acl videocache_allow_url url_regex -i \.video[a-z0-9]?[a-z0-9]?\.blip\.tv\/(.*)\.(flv|avi|mov|mp3|m4v|mp4|wmv|rm|ram)
acl videocache_allow_url url_regex -i video\.break\.com\/(.*)\.(flv|mp4)
acl videocache_allow_dom dstdomain .mccont.com .metacafe.com .redtube.com .cdn.dailymotion.com
acl videocache_deny_url url_regex -i http:\/\/[a-z][a-z]\.youtube\.com http:\/\/www\.youtube\.com
url_rewrite_access deny videocache_deny_url
url_rewrite_access allow videocache_allow_url
url_rewrite_access allow videocache_allow_dom
redirector_bypass on
# --END-- videocache config for squidModificamos en /etc/videocache.conf los parámetros cache_host y proxy para que contengan la IP del servidor proxy, por ejemplo si mi proxy tiene la dirección 192.168.0.1:
cache_host = 192.168.0.1
proxy = http://192.168.0.1:3128/Luego actualizamos la información con update-vc:
update-vcReiniciamos los servicios:
invoque-rc.d squid restart
invoque-rc.d apache2 restartAhora si podemos probar mirando un video de youtube (ó porntube si así lo prefieren) en un terminal, y una vez finalizado abrirlo en otros terminales, seguro notarán la diferencia 
El contenido guardado por videocache podrá ser visto desde:
http://proxy/videocache
En el log podemos visualizar si un video es visualizado desde el cache o no:
2009-09-27 21:13:04,558 13846 192.168.0.203 7b259975c04da1cb CACHE_MISS YOUTUBE Requested video was not found in cache.
2009-09-27 21:13:04,574 13846 192.168.0.203 7b259975c04da1cb NEW_URL YOUTUBE http://v16.nonxt7.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cburst%2Cfactor&fexp=905303%2C900037&itag=5&ipbits=0&signature=76037D5DCA6ACCCF32F0BD0AC21FF23678B90A3E.99B4C9EC3CBA4555A3E148945C049F36DBF025A4&sver=3&expire=1254128400&key=yt1&factor=1.25&burst=40&id=7b259975c04da1cb&redirect_counter=1Esto indica que el video no se encuentra en el caché y que va a ser descargado.
2009-09-27 21:08:09,697 13846 192.168.0.204 27399fa5f22ad3ee URL_HIT YOUTUBE http://v19.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cburst%2Cfactor&itag=34&ipbits=0&signature=8CDCEEC03501B93F98216A506D8B153615EFDEF4.9833FD05744A1E8F4A54548F4AB0560C1AE45F27&sver=3&expire=1254128400&key=yt1&factor=1.25&burst=40&id=27399fa5f22ad3ee
2009-09-27 21:08:09,697 13846 192.168.0.204 27399fa5f22ad3ee CACHE_HIT YOUTUBE Video was served from cache.Esto quiere decir que el video esta en el caché y va a ser servido desde ahí.
Si tenemos apache corriendo en un puerto diferente al 80 se debe modificar el parámetro cache_host en /etc/videocache.conf :
cache_host = 192.168.0.1:81Donde 192.168.0.1 es la ip del servidor y 81 es el puerto en el que esta escuchando apache.
Luego de eso hay que ejecutar para activar los cambios:
update-vc
invoque-rc.d apache2 restart- RazaMetaL's blog
- Inicie sesión o regístrese para enviar comentarios
- 3781 lecturas





No descarga
muy bueno pero ya no es gratis , tienes que pagar 9.99 USD $$
donde dice eso?
Version 1.9.2
Videocache Bundle is one file containing all the above three packages (rpm, srpm, tar) in one archive which is available for just $9.99. With this package, you get free support via Support Forums. We will mail you the software bundle within 24 hours of the purchase.
Puedes bajar el archivo tar.gz (snapshot) desde el repositorio git:
http://git.cachevideos.com/videocache.git/
O bajarlo desde la consola con:
git clone git://git.cachevideos.com/videocache.git------------
Antes de preguntar visita el link
ya no se puede por git,
ya no se puede por git, alguien que lo quiera compartir por pm o por correo o por algun servidor publico nos haria un gran favor a todos.
alguien tiene este video cache
buenas amigos soy nuevo usuario y me interesa esto del videocache 1.9, tengo un servidor en ubuntu y quisiera saber quien lo puede distribuir o venderme para realizar la instalación a ver que tan bien funciona y mas o menos para un isp que tanto se necesitaria de espacio en disco duro ocuparia de espacio o cuanto seria necesario tener de espacio.
gracias algun samaritano que me ayude con esto...
Este manual lo hice con la
Este manual lo hice con la versión 1.92 de videocaché cuya licencia es GPLv2. Es posible que puedas utilizarlo, siempre y cuando devuelvas las mejoras y distribuyas el código fuente. Para obtener el software ahora el desarrollador exige una pequeña contribución monetaria, la cual considero justa por haber desarrollado videocache.
Ahora, yo tengo la versión que descargué antes de que sea de pago y que sugún su licencia es GPLv2, basado en esto, puedo o no distribuirlo?
------------
Antes de preguntar visita el link
Sí puedes. Al obtener esa
Sí puedes. Al obtener esa copia bajo los términos que el autor aceptaba en aquel entonces, tu copia es legítimamente obtenida, y la licencia sigue aplicando para tí.
Ahh.. gracias por la
Ahh.. gracias por la aclaración, lo he preguntado porque son varias las personas que me han contactado para que les de una copia, en todo caso, debido a que esta versión 1.92 es GPL aquí les dejo el link para la descarga:
http://www.razametal.org/conf/videocache/
------------
Antes de preguntar visita el link
Como asigno espacio en disco
Hola Raza,
estaba revisando y no encuentro donde asignar espacio en disco para lo de video cache, para que se sobreescriba, o como es la forma de almacenamiento de esto, ya que tengo un disco pequeño y se va a llenar de una y no se que problemas de luego..
Gracias..
Pasion por Dios...
Alguna forma de conseguirlo
Alguna forma de conseguirlo sin pagar?
Eso de no tener tarjeta de credito sucks.
Envíame un mensaje por
Envíame un mensaje por privado y te hago llegar la copia que tengo con sus fuentes. La licencia GPL me permite hacerlo.
------------
Antes de preguntar visita el link