Hacer cache de los videos de youtube y demás con Debian + Squid + Apache2 + Videocache 1.9.2

Imagen de RazaMetaL

Tema: 

Ha algún tiempo publiqué un [url=http://www.ecualug.org/2009/07/11/blog/razametal/limitar_el_consumo_de_ancho_de_banda_de_descarga_de_diferentes_sitios_y_archivos_con_squid]pequeño "joutú"[/url] para limitar la velocidad de descarga de ciertas extensiones y contenido con squid.

Hace unos días he estado probando esta herramienta llamada [url=http://cachevideos.com/]Videocache[/url] 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:
[url]http://cachevideos.com/[/url]

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.deb

Descargamos 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.gz

También se puede utilizar GIT:

aptitude install git-core


cd /usr/src
git clone http://git.cachevideos.com/videocache.git
ln -sf /usr/src/videocache videocache-1.9.2

Modificamos 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 install

Creamos 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 proxy

Agregamos 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 squid

Modificamos 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-vc

Reiniciamos los servicios:

invoque-rc.d squid restart
invoque-rc.d apache2 restart

Ahora 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:
[url]http://proxy/videocache[/url]

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=1

Esto 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:81

Donde 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

Comentarios

Gracias deathUser ahora

Gracias deathUser

ahora tengo este error quien me pueda ayudar le agradezco, volvi a revisar y tengo todos los instalados a execepcion de este git-core estoy trabajando en centos y no lo encuentro ayudaaaaaaaaaa

Also, you need to configure squid so that it can use videocache as a url rewritor plugin.
Check README file for further configurations of squid, httpd and videocache.
In case of any bugs or problems, check http://cachevideos.com/

Pues si ya no tienes error

Imagen de deathUser

Pues si ya no tienes error ...

[quote]Also, you need to configure squid so that it can use videocache as a url rewritor plugin.
Check README file for further configurations of squid, httpd and videocache.
In case of any bugs or problems, check http://cachevideos.com/[/quote]

Solo dice que configures squid para el caché, sigue las instrucciones de RazaMetal, lo del git era solo para descargar los fuentes del repositorio ...

bye
;)

Entonces no esta funcionando

Imagen de RazaMetaL

Entonces no esta funcionando porque no ha sido correctamente instalado.

Describe paso a paso que haz hecho y los errores que obtienes, sera mas fácil ayudarte.

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

videocache en centos

Imagen de s4muelito

hola man como estan nose si alguien lo ha instalado en centos por que yo lo trate de instalar y me manda mucho error , alguien que lo haya instalado en centos que lo posteeporfavor se lo agradeceria mucho

La Verdad

La verdad he ehcho todo tal y como esta en el manual pero no se por q no me funciona si pudieran poner en pos todo desde como instalar el squid y los demas para centos seria genial pero necesito ayuda por favor ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

hola amigos

Encontramos creo el error gracias a un pana el ing oliver tengo poco espacio en el sistema pero en la otra particion tengo mucho como hago para direccionar que se vaya todo a la o tra particion donde debo cambiar quiero que desde el squid cambiar para que se almacene todo donde hay mas espacio ay udaaaaaaaaaaaa tengo asi

S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/mapper/VolGroup01-LogVol00
36G 4,6G 29G 14% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 244M 0 244M 0% /dev/shm

eso es lo que tengo ayuda con dibujito exppliquemen jajajjaj jajaja bien explicadito por favor

yo que tú, no cambio las

Imagen de deathUser

yo que tú, no cambio las configuraciones, sino que muevo los directorios y creo links simbólicos:
algo como:

mv /directorio_actual /directorio_nuevo
ln -s /directorio_nuevo /directorio_actual

Y listo, nadie lo sabrá ... :D

bye
;)

amm no se q estoy hacuendo

Imagen de s4muelito

amm no se q estoy hacuendo mal pero chau pongo esto me sale error
[root@slxbeto ~]# update-vc
Traceback (most recent call last):
File "/usr/sbin/update-vc", line 351, in ?
from config import readMainConfig, readStartupConfig
File "/usr/share/videocache/config.py", line 29, in ?
from parser import ConfigPreProcessor
File "/usr/share/videocache/parser.py", line 23, in ?
import urlgrabber
ImportError: No module named urlgrabber

alguien me puede ayudar potfavor gracias

import

Imagen de RazaMetaL

[code]
import urlgrabber
ImportError: No module named urlgrabber
[/code]

Necesitas instalar el modulo urlgrabber de Python. Lée el manual, eso esta explicado al inicio del mismo.

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Páginas